SymPy - Số
Mô-đun cốt lõi trong gói SymPy chứa lớp Số đại diện cho các số nguyên tử. Lớp này có hai lớp con: lớp Float và lớp Rational. Lớp Rational được mở rộng thêm bởi lớp Integer.
Lớp Float đại diện cho một số dấu phẩy động có độ chính xác tùy ý.
>>> from sympy import Float
>>> Float(6.32)
Đầu ra cho đoạn mã trên như sau:
6.32
SymPy có thể chuyển đổi một số nguyên hoặc một chuỗi thành float.
>>> Float(10)
10.0
Float('1.33E5')# scientific notation
133000.0
Trong khi chuyển đổi thành float, cũng có thể chỉ định số chữ số cho độ chính xác như được đưa ra bên dưới:
>>> Float(1.33333,2)
Đầu ra cho đoạn mã trên như sau:
1.3
Biểu diễn một số (p / q) được biểu diễn dưới dạng đối tượng của lớp Rational với q là số khác 0.
>>> Rational(3/4)
Đầu ra cho đoạn mã trên như sau:
$\frac{3}{4}$
Nếu một số dấu phẩy động được chuyển tới hàm tạo Rational (), nó sẽ trả về giá trị cơ bản của biểu diễn nhị phân của nó
>>> Rational(0.2)
Đầu ra cho đoạn mã trên như sau:
$\frac{3602879701896397}{18014398509481984}$
Để biểu diễn đơn giản hơn, hãy chỉ định giới hạn mẫu số.
>>> Rational(0.2).limit_denominator(100)
Đầu ra cho đoạn mã trên như sau:
$\frac{1}{5}$
Khi một chuỗi được chuyển tới hàm tạo Rational (), một số hữu tỉ có độ chính xác tùy ý được trả về.
>>> Rational("3.65")
Đầu ra cho đoạn mã trên như sau:
$\frac{73}{20}$
Đối tượng Rational cũng có thể được lấy nếu hai đối số số được truyền. Các phần tử số và mẫu số có sẵn dưới dạng thuộc tính.
>>> a=Rational(3,5)
>>> print (a)
>>> print ("numerator:{}, denominator:{}".format(a.p, a.q))
Đầu ra cho đoạn mã trên như sau:
3/5
numerator:3, denominator:5
>>> a
Đầu ra cho đoạn mã trên như sau:
$\frac{3}{5}$
Lớp Integer trong SymPy đại diện cho một số nguyên có kích thước bất kỳ. Hàm tạo có thể chấp nhận số Float hoặc Rational, nhưng phần phân số bị loại bỏ
>>> Integer(10)
Đầu ra cho đoạn mã trên như sau:
10
>>> Integer(3.4)
Đầu ra cho đoạn mã trên như sau:
3
>>> Integer(2/7)
Đầu ra cho đoạn mã trên như sau:
0
SymPy có một RealNumberlớp đóng vai trò bí danh cho Float. SymPy cũng định nghĩa Zero và One là các lớp singleton có thể truy cập tương ứng với S.Zero và S.One như hình dưới đây:
>>> S.Zero
Kết quả như sau:
0
>>> S.One
Kết quả như sau:
1
Các đối tượng số Singleton được xác định trước khác là Half, NaN, Infinity và ImaginaryUnit
>>> from sympy import S
>>> print (S.Half)
Kết quả như sau:
½
>>> print (S.NaN)
Kết quả như sau:
nan
Infinity có sẵn dưới dạng đối tượng biểu tượng oo hoặc S.Infinity
>>> from sympy import oo
>>> oo
Đầu ra cho đoạn mã trên như sau:
$\infty$
>>> S.Infinity
Đầu ra cho đoạn mã trên như sau:
$\infty$
Số ImaginaryUnit có thể được nhập dưới dạng ký hiệu I hoặc được truy cập dưới dạng S.ImaginaryUnit và đại diện cho căn bậc hai của -1
>>> from sympy import I
>>> I
Khi bạn thực thi đoạn mã trên, bạn nhận được kết quả sau:
i
>>> S.ImaginaryUnit
Kết quả của đoạn mã trên như sau:
i
>>> from sympy import sqrt
>>> i=sqrt(-1)
>>> i*i
Khi bạn thực thi đoạn mã trên, bạn nhận được kết quả sau:
-1