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 Laguerre với mảng điểm phức trong Python


Để tạo ma trận Vandermonde giả của đa thức Laguerre, hãy sử dụng laguerre.lagvander() trong NumPy Python. Phương thức trả về ma trận pseudo-Vandermonde. Hình dạng của ma trận trả về là x.shape + (deg + 1,), nơi chỉ số cuối cùng là bậc của đa thức Laguerre tương ứng. Kiểu dữ liệu sẽ giống với x đã chuyển đổi.

Tham số x trả về mảng điểm. Kiểu dữ liệu đượ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à vô hướng, 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 laguerre as L

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 giả Laguerre:

print("\nKết quả...\n", L.lagvander(x, 2))

Ví dụ hoàn chỉnh

import numpy as np
from numpy.polynomial import laguerre as L

# 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 giả Laguerre
print("\nKết quả...\n", L.lagvander(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  3. -2.j  5. -8.j]
 [ 1. +0.j  2. -2.j  1.5-6.j]
 [ 1. +0.j  1. -2.j -1. -4.j]
 [ 1. +0.j  0. -2.j -2.5-2.j]
 [ 1. +0.j -1. -2.j -3. +0.j]]