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

Tạo ma trận pseudo Vandermonde của đa thức Hermite với tọa độ điểm phức trong Python

Để tạo ma trận pseudo Vandermonde của đa thức Hermite, hãy sử dụng hermite.hermvander2d() trong NumPy Python. Phương thức này trả về ma trận pseudo-Vandermonde. Tham số x, y là mảng tọa độ điểm, tất cả có cùng hình dạng. Các kiểu dữ liệu sẽ được chuyển đổi thành float64 hoặc complex128 tùy thuộc vào việc các phần tử có phức hay không. Vô hướng được chuyển đổi thành mảng 1-D. Tham số deg là danh sách các bậc tối đa dạng [x_deg, y_deg].

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

1. Nhập thư viện cần thiết

import numpy as np
from numpy.polynomial import hermite as H

2. Tạo mảng tọa độ điểm phức

x = np.array([-2.+2.j, -1.+2.j])
y = np.array([1.+2.j, 2.+2.j])

3. Hiển thị mảng

print("Mảng 1...\n", x)
print("\nMảng 2...\n", y)

4. Hiển thị kiểu dữ liệu

print("\nKiểu dữ liệu Mảng 1...\n", x.dtype)
print("\nKiểu dữ liệu Mảng 2...\n", y.dtype)

5. Kiểm tra số chiều

print("\nSố chiều Mảng 1...\n", x.ndim)
print("\nSố chiều Mảng 2...\n", y.ndim)

6. Kiểm tra hình dạng

print("\nHình dạng Mảng 1...\n", x.shape)
print("\nHình dạng Mảng 2...\n", y.shape)

7. Tạo ma trận pseudo Vandermonde

x_deg, y_deg = 2, 3
print("\nKết quả...\n", H.hermvander2d(x, y, [x_deg, y_deg]))

Ví dụ hoàn chỉnh

import numpy as np
from numpy.polynomial import hermite as H

# Tạo mảng tọa độ điểm phức
x = np.array([-2.+2.j, -1.+2.j])
y = np.array([1.+2.j, 2.+2.j])

# Hiển thị mảng
print("Mảng 1...\n", x)
print("\nMảng 2...\n", y)

# Hiển thị kiểu dữ liệu
print("\nKiểu dữ liệu Mảng 1...\n", x.dtype)
print("\nKiểu dữ liệu Mảng 2...\n", y.dtype)

# Kiểm tra số chiều
print("\nSố chiều Mảng 1...\n", x.ndim)
print("\nSố chiều Mảng 2...\n", y.ndim)

# Kiểm tra hình dạng
print("\nHình dạng Mảng 1...\n", x.shape)
print("\nHình dạng Mảng 2...\n", y.shape)

# Tạo ma trận pseudo Vandermonde
x_deg, y_deg = 2, 3
print("\nKết quả...\n", H.hermvander2d(x, y, [x_deg, y_deg]))

Kết quả đầu ra

Mảng 1...
 [-2.+2.j -1.+2.j]
Mảng 2...
 [1.+2.j 2.+2.j]
Kiểu dữ liệu Mảng 1...
 complex128
Kiểu dữ liệu Mảng 2...
 complex128
Số chiều Mảng 1...
 1
Số chiều Mảng 2...
 1
Hình dạng Mảng 1...
 (2,)
Hình dạng Mảng 2...
 (2,)
Kết quả...
 [[ 1.000e+00 +0.j  2.000e+00 +4.j -1.400e+01 +16.j -1.000e+02 -40.j   -4.000e+00 +4.j -2.400e+01 -8.j -8.000e+00 -120.j  5.600e+02 -240.j   -2.000e+00 -32.j  1.240e+02 -72.j  5.400e+02 +416.j -1.080e+03 +3280.j]
 [ 1.000e+00 +0.j  4.000e+00 +4.j -2.000e+00 +32.j -1.520e+02 +104.j   -2.000e+00 +4.j -2.400e+01 +8.j -1.240e+02 -72.j -1.120e+02 -816.j   -1.400e+01 -16.j  8.000e+00 -120.j  5.400e+02 -416.j  3.792e+03 +976.j]]