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