Giới thiệu
Phương thức polynomial.polyval() với tensor=False cho phép broadcast mảng điểm x qua các cột của mảng hệ số 2D c. Mỗi cột của c là một đa thức riêng biệt, x được áp dụng cho từng đa thức theo cặp (x[i], c[:, i]).
Ví dụ
import numpy as np
from numpy.polynomial.polynomial import polyval
c = np.arange(4).reshape(2, 2) # Cột 0: [0,2] → 0 + 2x; Cột 1: [1,3] → 1 + 3x
print("Hệ số (2 cột):\n", c)
print("Số chiều:", c.ndim)
print("Kiểu dữ liệu:", c.dtype)
print("Hình dạng:", c.shape)
x = [1, 2]
# tensor=False: x broadcast qua cột → polyval(x[0], c[:,0]), polyval(x[1], c[:,1])
result = polyval(x, c, tensor=False)
print("\nKết quả (tensor=False):", result)
Kết quả
Hệ số (2 cột):
[[0 1]
[2 3]]
Số chiều: 2
Kiểu dữ liệu: int64
Hình dạng: (2, 2)
Kết quả (tensor=False): [2. 7.]
Giải thích
- Cột 0: 0 + 2*1 = 2
- Cột 1: 1 + 3*2 = 7
Khác với tensor=True (mặc định) sẽ đánh giá mỗi đa thức tại mọi điểm x, cho kết quả ma trận 2x2.