SymPy - Числа

Основной модуль в пакете SymPy содержит класс Number, который представляет атомные числа. Этот класс имеет два подкласса: класс Float и Rational. Класс Rational расширяется классом Integer.

Класс Float представляет собой число с плавающей запятой произвольной точности.

>>> from sympy import Float 
>>> Float(6.32)

Вывод для приведенного выше фрагмента кода следующий:

6.32

SymPy может преобразовывать целое число или строку в число с плавающей запятой.

>>> Float(10)

10.0

Float('1.33E5')# scientific notation

133000.0

При преобразовании в число с плавающей запятой также можно указать количество цифр для точности, как указано ниже -

>>> Float(1.33333,2)

Вывод для приведенного выше фрагмента кода следующий:

1.3

Представление числа (p / q) представлено как объект класса Rational, где q - ненулевое число.

>>> Rational(3/4)

Вывод для приведенного выше фрагмента кода следующий:

$\frac{3}{4}$

Если в конструктор Rational () передается число с плавающей запятой, он возвращает базовое значение своего двоичного представления.

>>> Rational(0.2)

Вывод для приведенного выше фрагмента кода следующий:

$\frac{3602879701896397}{18014398509481984}$

Для упрощения представления укажите ограничение знаменателя.

>>> Rational(0.2).limit_denominator(100)

Вывод для приведенного выше фрагмента кода следующий:

$\frac{1}{5}$

Когда строка передается конструктору Rational (), возвращается рациональное число произвольной точности.

>>> Rational("3.65")

Вывод для приведенного выше фрагмента кода следующий:

$\frac{73}{20}$

Рациональный объект также можно получить, если переданы два числовых аргумента. Части числителя и знаменателя доступны как свойства.

>>> a=Rational(3,5) 
>>> print (a) 
>>> print ("numerator:{}, denominator:{}".format(a.p, a.q))

Вывод для приведенного выше фрагмента кода следующий:

3/5

numerator:3, denominator:5

>>> a

Вывод для приведенного выше фрагмента кода следующий:

$\frac{3}{5}$

Целочисленный класс в SymPy представляет собой целое число любого размера. Конструктор может принимать число с плавающей запятой или рациональное число, но дробная часть отбрасывается.

>>> Integer(10)

Вывод для приведенного выше фрагмента кода следующий:

10

>>> Integer(3.4)

Вывод для приведенного выше фрагмента кода следующий:

3

>>> Integer(2/7)

Вывод для приведенного выше фрагмента кода следующий:

0

SymPy имеет RealNumberкласс, который действует как псевдоним для Float. SymPy также определяет Zero и One как одноэлементные классы, доступные с S.Zero и S.One соответственно, как показано ниже -

>>> S.Zero

Результат выглядит следующим образом -

0

>>> S.One

Результат выглядит следующим образом -

1

Другими предопределенными объектами числа Singleton являются Half, NaN, Infinity и ImaginaryUnit.

>>> from sympy import S 
>>> print (S.Half)

Результат выглядит следующим образом -

½

>>> print (S.NaN)

Результат выглядит следующим образом -

nan

Бесконечность доступна как объект символа oo или S.Infinity.

>>> from sympy import oo 
>>> oo

Вывод для приведенного выше фрагмента кода следующий:

$\infty$

>>> S.Infinity

Вывод для приведенного выше фрагмента кода следующий:

$\infty$

Номер ImaginaryUnit может быть импортирован как символ I или доступен как S.ImaginaryUnit и представляет собой квадратный корень из -1.

>>> from sympy import I 
>>> I

Когда вы выполняете приведенный выше фрагмент кода, вы получаете следующий результат:

i

>>> S.ImaginaryUnit

Вывод приведенного выше фрагмента выглядит следующим образом:

i

>>> from sympy import sqrt 
>>> i=sqrt(-1) 
>>> i*i

Когда вы выполняете приведенный выше фрагмент кода, вы получаете следующий результат:

-1