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

Tính số điều kiện của ma trận với chuẩn -2 (giá trị kỳ dị nhỏ nhất) trong Python


Để tính số điều kiện của ma trận trong đại số tuyến tính, sử dụng phương thức numpy.linalg.cond() trong Python. Phương thức này có thể trả về số điều kiện sử dụng một trong bảy chuẩn khác nhau, tùy thuộc vào giá trị của p. Trả về số điều kiện của ma trận, có thể là vô cực.

Số điều kiện của x được định nghĩa là chuẩn của x nhân với chuẩn của nghịch đảo của x; chuẩn có thể là chuẩn L2 thông thường hoặc một trong nhiều chuẩn ma trận khác. Tham số thứ nhất là x, ma trận cần tìm số điều kiện. Tham số thứ hai là p, bậc của chuẩn được sử dụng. Giá trị -2 đại diện cho chuẩn -2 (giá trị kỳ dị nhỏ nhất).

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

Nhập thư viện:

import numpy as np
from numpy import linalg as LA

Tạo ma trận 3x3:

arr = np.array([[1, 1, 0], [1, 0, 1], [1, 0, 0]])

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 số điều kiện với chuẩn -2:

print("\nKết quả...\n", LA.cond(arr, -2))

Ví dụ hoàn chỉnh

import numpy as np
from numpy import linalg as LA

arr = np.array([[1, 1, 0], [1, 0, 1], [1, 0, 0]])

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("\nKết quả...\n", LA.cond(arr, -2))

Kết quả đầu ra

Ma trận của chúng ta...
[[1 1 0]
 [1 0 1]
 [1 0 0]]
Số chiều của mảng...
2
Kiểu dữ liệu của đối tượng mảng...
int64
Hình dạng của đối tượng mảng...
(3, 3)
Kết quả...
0.2679491924311227