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

Trả về phân giải Cholesky trong đại số tuyến tính Python


Để trả về phân giải Cholesky, dùng numpy.linalg.cholesky(). Trả về phân giải Cholesky L * L.H của ma trận vuông a, trong đó L là tam giác dưới và .H là chuyển vị liên hợp. Ma trận a phải là Hermitian và xác định dương. Không kiểm tra xem a có phải Hermitian hay không. Chỉ dùng phần tam giác dưới và đường chéo của a. Chỉ trả về L.

Tham số a: ma trận Hermitian (đối xứng nếu tất cả phần tử thực), xác định dương. Trả về nhân tử Cholesky tam giác trên hoặc dưới.

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

Nhập NumPy:

import numpy as np

Tạo ma trận 2x2 phức:

arr = np.array([[1, -2j], [2j, 5]])

Hiển thị ma trận:

print("Ma trận của chúng ta...\n", arr)

Kiểm tra số chiều:

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

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

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

Lấy hình dạng:

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

Tính phân giải Cholesky:

print("\nPhân giải Cholesky trong đại số tuyến tính...\n", np.linalg.cholesky(arr))

Ví dụ hoàn chỉnh

import numpy as np

arr = np.array([[1, -2j], [2j, 5]])

print("Ma trận của chúng ta...\n", arr)
print("\nSố chiều của mảng...\n", arr.ndim)
print("\nKiểu dữ liệu của đối tượng mảng...\n", arr.dtype)
print("\nHình dạng của đối tượng mảng...\n", arr.shape)
print("\nPhân giải Cholesky trong đại số tuyến tính...\n", np.linalg.cholesky(arr))

Kết quả đầu ra

Ma trận của chúng ta...
[[ 1.+0.j -0.-2.j]
 [ 0.+2.j  5.+0.j]]
Số chiều của mảng...
2
Kiểu dữ liệu của đối tượng mảng...
complex128
Hình dạng của đối tượng mảng...
(2, 2)
Phân giải Cholesky trong đại số tuyến tính...
[[1.+0.j 0.+0.j]
 [0.+2.j 1.+0.j]]