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

Tạo ma trận Vandermonde của đa thức Chebyshev với mảng điểm phức trong Python

Để tạo ma trận Vandermonde của đa thức Chebyshev, sử dụng chebyshev.chebvander() trong Python NumPy. Phương thức trả về ma trận Vandermonde. Hình dạng ma trận trả về là x.shape + (deg + 1,), nơi chỉ số cuối là bậc của đa thức Chebyshev tương ứng. Kiểu dtype sẽ giống với x đã chuyển đổi.

Tham số a là mảng điểm. Kiểu dtype được chuyển đổi thành float64 hoặc complex128 tùy thuộc vào việc có phần tử phức hay không. Nếu x là scalar, nó được chuyển thành mảng 1-D. Tham số deg là bậc của ma trận kết quả.

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

Trước tiên, nhập thư viện cần thiết:

import numpy as np
from numpy.polynomial import chebyshev as C

Tạo mảng:

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

Hiển thị mảng:

print("Mảng của chúng ta...\n", x)

Kiểm tra số chiều:

print("\nSố chiều của mảng...\n", x.ndim)

Lấy kiểu dữ liệu:

print("\nKiểu dữ liệu của đối tượng mảng...\n", x.dtype)

Lấy hình dạng:

print("\nHình dạng của đối tượng mảng...\n", x.shape)

Để tạo ma trận Vandermonde của đa thức Chebyshev, sử dụng chebyshev.chebvander():

print("\nKết quả...\n", C.chebvander(x, 2))

Ví dụ hoàn chỉnh

import numpy as np
from numpy.polynomial import chebyshev as C

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

# Hiển thị mảng
print("Mảng của chúng ta...\n", x)

# Kiểm tra số chiều
print("\nSố chiều của mảng...\n", x.ndim)

# Lấy kiểu dữ liệu
print("\nKiểu dữ liệu của đối tượng mảng...\n", x.dtype)

# Lấy hình dạng
print("\nHình dạng của đối tượng mảng...\n", x.shape)

# Tạo ma trận Vandermonde Chebyshev bậc 2
print("\nKết quả...\n", C.chebvander(x, 2))

Kết quả đầu ra

Mảng của chúng ta...
 [-2.+2.j -1.+2.j 0.+2.j 1.+2.j 2.+2.j]
Số chiều của mảng...
 1
Kiểu dữ liệu của đối tượng mảng...
 complex128
Hình dạng của đối tượng mảng...
 (5,)
Kết quả...
 [[ 1. +0.j -2. +2.j -1.-16.j]
 [ 1. +0.j -1. +2.j -7. -8.j]
 [ 1. +0.j 0. +2.j -9. +0.j]
 [ 1. +0.j 1. +2.j -7. +8.j]
 [ 1. +0.j 2. +2.j -1.+16.j]]

Giải thích: Ma trận Vandermonde Chebyshev bậc 2 cho 5 điểm phức. Hình dạng (5, 3) (bậc 0, 1, 2). Các cột: T₀(x)=1, T₁(x)=x, T₂(x)=2x²-1. Với x phức, T₂(x) = 2x²-1 cho kết quả phức.