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

Trả về thứ hạng của ma trận thâm hụt thứ hạng bằng cách sử dụng phương pháp Phân tích Giá trị Số ít trong Python

Để trả về thứ hạng ma trận của mảng bằng phương pháp Phân tích Giá trị Số ít, hãy sử dụng phương thức numpy.linalg.matrix_rank () trong Python. Xếp hạng của mảng là số lượng các giá trị đơn lẻ của mảng lớn hơn tol. Tham số đầu tiên, A là vectơ đầu vào hoặc ngăn xếp ma trận.

Tham số thứ 2, tol là Ngưỡng dưới đó giá trị SVD được coi là 0. Nếu tol là Không có và S là một mảng có các giá trị đơn lẻ cho M và eps là giá trị epsilon cho kiểu dữ liệu của S, thì tol được đặt thành S.max () * max (M, N) * eps. Tham số thứ 3, hermitian, Nếu Đúng, A được giả định là Hermitian, cho phép một phương pháp hiệu quả hơn để tìm các giá trị kỳ dị. Mặc định là Sai.

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.linalg import matrix_rank

Tạo một mảng -

arr = np.eye(5)

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)

Để trả về thứ hạng ma trận của mảng bằng phương pháp Phân tích Giá trị Số ít, hãy sử dụng phương thức numpy.linalg.matrix_rank () -

print("\nRank...\n",matrix_rank(arr))
arr[-1,-1] = 0.
print("\nUpdated Rank (Rank-Deficit Matrix)...\n",matrix_rank(arr))

Ví dụ

import numpy as np
from numpy.linalg import matrix_rank

# Create an array
arr = np.eye(5)

# 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 Return matrix rank of array using Singular Value Decomposition method, use the numpy.linalg.matrix_rank() method in Python
print("\nRank...\n",matrix_rank(arr))
arr[-1,-1] = 0.
print("\nUpdated Rank (Rank-Deficit Matrix)...\n",matrix_rank(arr))

Đầu ra

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

Dimensions of our Array...
2

Datatype of our Array object...
float64

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

Rank...
5

Updated Rank (Rank-Deficit Matrix)...
4