📜  SymPy-数字

📅  最后修改于: 2020-11-05 04:39:55             🧑  作者: Mango


SymPy包中的核心模块包含Number类,该类代表原子序数。该类有两个子类:Float和Rational类。 Integer类进一步扩展了Rational类。

浮点类表示任意精度的浮点数。

>>> 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

分子:3,分母:5

>>> a

上面的代码片段的输出如下-

$ \ frac {3} {5} $

SymPy中的Integer类表示任意大小的整数。构造函数可以接受Float或有理数,但小数部分将被丢弃

>>> Integer(10)

上面的代码片段的输出如下-

10

>>> Integer(3.4)

上面的代码片段的输出如下-

3

>>> Integer(2/7)

上面的代码片段的输出如下-

0

SymPy具有一个RealNumber类,该类充当Float的别名。 SymPy还将零和一定义为分别可通过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)

输出如下-

无限可用作oo符号对象或S.Infinity

>>> from sympy import oo 
>>> oo

上面的代码片段的输出如下-

$ \ infty $

>>> S.Infinity

上面的代码片段的输出如下-

$ \ infty $

ImaginaryUnit号可以作为I符号导入,也可以作为S.ImaginaryUnit访问,并表示-1的平方根

>>> from sympy import I 
>>> I

当您执行上述代码片段时,您将获得以下输出-

一世

>>> S.ImaginaryUnit

上面的代码片段的输出如下-

一世

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

当您执行上述代码片段时,您将获得以下输出-

-1