Để 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.