Để tạo ma trận Vandermonde giả (pseudo-Vandermonde matrix) của đa thức Hermite và các điểm mẫu x, y, z, dùng hermite.hermvander3d() trong NumPy Python. Phương thức trả về ma trận pseudo-Vandermonde. Tham số x, y, z là mảng tọa độ điểm, cùng hình dạng. Kiểu dữ liệu chuyển thành float64 hoặc complex128 tùy thuộc vào việc có phần tử phức hay không. Tham số deg là danh sách bậc tối đa dạng [x_deg, y_deg, z_deg].
Các bước thực hiện
Nhập thư viện:
import numpy as np
from numpy.polynomial import hermite as H
Tạo mảng tọa độ phức:
x = np.array([-2.+2.j, -1.+2.j])
y = np.array([0.+2.j, 1.+2.j])
z = np.array([2.+2.j, 3.+3.j])
Hiển thị mảng:
print("Mảng 1...\n", x)
print("\nMảng 2...\n", y)
print("\nMảng 3...\n", z)
Kiểm tra kiểu dữ liệu, số chiều, hình dạng:
print("\nKiểu dữ liệu Mảng 1...\n", x.dtype)
print("\nKiểu dữ liệu Mảng 2...\n", y.dtype)
print("\nKiểu dữ liệu Mảng 3...\n", z.dtype)
print("\nSố chiều Mảng 1...\n", x.ndim)
print("\nSố chiều Mảng 2...\n", y.ndim)
print("\nSố chiều Mảng 3...\n", z.ndim)
print("\nHình dạng Mảng 1...\n", x.shape)
print("\nHình dạng Mảng 2...\n", y.shape)
print("\nHình dạng Mảng 3...\n", z.shape)
Tạo ma trận Vandermonde giả với bậc [2, 3, 4]:
x_deg, y_deg, z_deg = 2, 3, 4
print("\nKết quả...\n", H.hermvander3d(x, y, z, [x_deg, y_deg, z_deg]))
Ví dụ hoàn chỉnh
import numpy as np
from numpy.polynomial import hermite as H
x = np.array([-2.+2.j, -1.+2.j])
y = np.array([0.+2.j, 1.+2.j])
z = np.array([2.+2.j, 3.+3.j])
print("Mảng 1...\n", x)
print("\nMảng 2...\n", y)
print("\nMảng 3...\n", z)
print("\nKiểu dữ liệu Mảng 1...\n", x.dtype)
print("\nKiểu dữ liệu Mảng 2...\n", y.dtype)
print("\nKiểu dữ liệu Mảng 3...\n", z.dtype)
print("\nSố chiều Mảng 1...\n", x.ndim)
print("\nSố chiều Mảng 2...\n", y.ndim)
print("\nSố chiều Mảng 3...\n", z.ndim)
print("\nHình dạng Mảng 1...\n", x.shape)
print("\nHình dạng Mảng 2...\n", y.shape)
print("\nHình dạng Mảng 3...\n", z.shape)
x_deg, y_deg, z_deg = 2, 3, 4
print("\nKết quả...\n", H.hermvander3d(x, y, z, [x_deg, y_deg, z_deg]))
Kết quả đầu ra
Mảng 1...
[-2.+2.j -1.+2.j]
Mảng 2...
[0.+2.j 1.+2.j]
Mảng 3...
[2.+2.j 3.+3.j]
Kiểu dữ liệu Mảng 1...
complex128
Kiểu dữ liệu Mảng 2...
complex128
Kiểu dữ liệu Mảng 3...
complex128
Số chiều Mảng 1...
1
Số chiều Mảng 2...
1
Số chiều Mảng 3...
1
Hình dạng Mảng 1...
(2,)
Hình dạng Mảng 2...
(2,)
Hình dạng Mảng 3...
(2,)
Kết quả...
[[ 1.000000e+00+0.000000e+00j 4.000000e+00+4.000000e+00j ... ]
[ 1.000000e+00+0.000000e+00j 6.000000e+00+6.000000e+00j ... ]]