Để đánh giá đa thức được chỉ định bởi các nghiệm của nó tại các điểm x, sử dụng phương thức polynomial.polyvalfromroots() trong Python NumPy.
Tham số thứ nhất là x. Nếu x là list hoặc tuple, nó được chuyển thành ndarray, ngược lại nó giữ nguyên và được coi như scalar. Trong cả hai trường hợp, x hoặc các phần tử của nó phải hỗ trợ phép cộng và nhân với chính chúng và với các phần tử của r.
Tham số thứ hai, r là mảng nghiệm. Nếu r đa chiều, chỉ số đầu tiên là chỉ số nghiệm, các chỉ số còn lại liệt kê nhiều đa thức. Ví dụ, trường hợp hai chiều, nghiệm của mỗi đa thức có thể được coi như lưu trong các cột của r.
Tham số thứ ba là tensor. Nếu True, hình dạng mảng nghiệm được mở rộng với 1 ở bên phải, một cho mỗi chiều của x. Scalar có chiều 0 cho hành động này. Kết quả là mọi cột hệ số trong r được đánh giá cho mọi phần tử của x. Nếu False, x được broadcast qua các cột của r để đánh giá. Từ khóa này hữu ích khi r đa chiều. Giá trị mặc định là True.
Các bước thực hiện
Trước tiên, nhập thư viện cần thiết:
from numpy.polynomial.polynomial import polyvalfromroots
import numpy as np
Tạo mảng hệ số (dùng làm nghiệm):
c = np.array([1, 2, 3])
Hiển thị mảng:
print("Mảng của chúng ta...\n", c)
Kiểm tra số chiều:
print("\nSố chiều của mảng...\n", c.ndim)
Lấy kiểu dữ liệu:
print("\nKiểu dữ liệu của đối tượng mảng...\n", c.dtype)
Lấy hình dạng:
print("\nHình dạng của đối tượng mảng...\n", c.shape)
Để đánh giá đa thức được chỉ định bởi nghiệm tại điểm x, sử dụng polynomial.polyvalfromroots():
print("\nKết quả...\n", polyvalfromroots(1, c))
Ví dụ hoàn chỉnh
from numpy.polynomial.polynomial import polyvalfromroots
import numpy as np
# Tạo mảng hệ số (dùng làm nghiệm)
c = np.array([1, 2, 3])
# Hiển thị mảng
print("Mảng của chúng ta...\n", c)
# Kiểm tra số chiều
print("\nSố chiều của mảng...\n", c.ndim)
# Lấy kiểu dữ liệu
print("\nKiểu dữ liệu của đối tượng mảng...\n", c.dtype)
# Lấy hình dạng
print("\nHình dạng của đối tượng mảng...\n", c.shape)
# Đánh giá đa thức từ nghiệm tại x=1
print("\nKết quả...\n", polyvalfromroots(1, c))
Kết quả đầu ra
Mảng của chúng ta...
[1 2 3]
Số chiều của mảng...
1
Kiểu dữ liệu của đối tượng mảng...
int64
Hình dạng của đối tượng mảng...
(3,)
Kết quả...
0.0
Giải thích: Mảng c=[1,2,3] được coi là nghiệm của đa thức. Đa thức đơn thức (monic) có nghiệm 1, 2, 3 là: p(x) = (x-1)(x-2)(x-3) = x³ - 6x² + 11x - 6. Đánh giá tại x=1: p(1) = (1-1)(1-2)(1-3) = 0. Kết quả 0.0 chính xác.