SymPy 数字

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

分子:3,分母: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

其他预定义的单例数字对象是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 number可以作为I符号导入或作为S.ImaginaryUnit访问,它代表-1的平方根。

>>> from sympy import I 
>>> I

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

>>> S.ImaginaryUnit

上面代码段的输出如下所示−

i

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

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

-1

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程