Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tạo đa thức đơn thức với nghiệm cho trước trong Python

Để tạo đa thức đơn thức (monic polynomial) với các nghiệm cho trước, sử dụng phương thức polynomial.polyfromroots() trong Python NumPy. Phương thức trả về mảng 1-D các hệ số của đa thức. Nếu tất cả nghiệm là thực, đầu ra cũng là thực, ngược lại là phức. Tham số roots là dãy chứa các nghiệm.

Các bước thực hiện

Trước tiên, nhập thư viện cần thiết:

from numpy.polynomial import polynomial as P

Tạo đa thức đơn thức:

print("Kết quả...\n", P.polyfromroots((-1, 0, 1)))

Lấy kiểu dữ liệu:

print("\nKiểu...\n", P.polyfromroots((-1, 0, 1)).dtype)

Lấy hình dạng:

print("\nHình dạng...\n", P.polyfromroots((-1, 0, 1)).shape)

Ví dụ hoàn chỉnh

from numpy.polynomial import polynomial as P

# Tạo đa thức đơn thức với nghiệm cho trước
# Trả về mảng 1-D hệ số đa thức. Nếu tất cả nghiệm thực thì out thực, ngược lại phức.
# Tham số roots là dãy chứa các nghiệm.
# x(x - 1)(x + 1) = x^3 - x
print("Kết quả...\n", P.polyfromroots((-1, 0, 1)))

# Lấy kiểu dữ liệu
print("\nKiểu...\n", P.polyfromroots((-1, 0, 1)).dtype)

# Lấy hình dạng
print("\nHình dạng...\n", P.polyfromroots((-1, 0, 1)).shape)

Kết quả đầu ra

Kết quả...
 [ 0. -1. 0. 1.]
Kiểu...
 float64
Hình dạng...
 (4,)

Giải thích: Nghiệm -1, 0, 1 → đa thức đơn thức: p(x) = (x+1)(x-0)(x-1) = x(x²-1) = x³ - x. Hệ số từ bậc thấp đến cao: [0, -1, 0, 1] tương ứng 0 + (-1)x + 0x² + 1x³. Kiểu float64, hình dạng (4,) cho đa thức bậc 3.