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

如果傳遞兩個數字引數,也可以獲得 Rational 物件。分子和分母部分可用作屬性。

>>> 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 或 Rational 數字,但小數部分將被丟棄

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

Infinity 可作為 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

廣告

© . All rights reserved.