Computer >> Máy Tính >  >> Lập trình >> Python

Tính số điều kiện của ma trận trong đại số tuyến tính bằng Python

Để tính số điều kiện của ma trận trong đại số tuyến tính, hãy 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 bằng cách sử dụng một trong bảy cụm từ 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ô hạn. Số điều kiện của x được xác định theo tiêu chuẩn của x nhân với tiêu chuẩn của nghịch đảo của x; định mức có thể là định mức L2 thông thường hoặc một trong số các định mức ma trận khác. Tham số đầu tiên là x, ma trận có số điều kiện được mua. Tham số thứ 2 là p, Thứ tự của định mức được sử dụng trong tính toán số điều kiện.

Các bước

Đầu tiên, hãy nhập các thư viện được yêu cầu -

import numpy as np
from numpy import linalg as LA

Tạo một mảng -

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

Hiển thị mảng -

print("Our Array...\n",arr)

Kiểm tra các thứ nguyên -

print("\nDimensions of our Array...\n",arr.ndim)

Lấy Datatype -

print("\nDatatype of our Array object...\n",arr.dtype)

Lấy hình dạng -

print("\nShape of our Array object...\n",arr.shape)

Để tính số điều kiện của ma trận trong đại số tuyến tính, hãy sử dụng phương thức numpy.linalg.cond () trong Python -

print("\nResult...\n",LA.cond(arr))

Ví dụ

import numpy as np
from numpy import linalg as LA

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

# Display the array
print("Our Array...\n",arr)

# Check the Dimensions
print("\nDimensions of our Array...\n",arr.ndim)

# Get the Datatype
print("\nDatatype of our Array object...\n",arr.dtype)

# Get the Shape
print("\nShape of our Array object...\n",arr.shape)

# To compute the condition number of a matrix in linear algebra, use the numpy.linalg.cond() method in Python
print("\nResult...\n",LA.cond(arr))

Đầu ra

Our Array...
[[1 1 0]
[1 0 1]
[1 0 0]]

Dimensions of our Array...
2

Datatype of our Array object...
int64

Shape of our Array object...
(3, 3)

Result...
3.7320508075688776