Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 Singular Value Decomposition 방법을 사용하여 전체 순위 행렬의 순위 반환

<시간/>

Singular Value Decomposition 메서드를 사용하여 배열의 행렬 순위를 반환하려면 Python에서 numpy.linalg.matrix_rank() 메서드를 사용합니다. 배열의 순위는 tol보다 큰 배열의 특이값 수입니다. 첫 번째 매개변수인 A는 입력 벡터 또는 행렬 스택입니다.

두 번째 매개변수인 tol은 SVD 값이 0으로 간주되는 임계값입니다. tol이 None이고 S가 M에 대한 특이값이 있는 배열이고 eps가 S의 데이터 유형에 대한 엡실론 값이면 tol은 S.max() * max(M, N) * eps로 설정됩니다. 세 번째 매개변수인 hermitian, If True, A는 beHermitian으로 가정하여 특이값을 찾는 데 보다 효율적인 방법을 사용할 수 있습니다. 기본값은 False입니다.

단계

먼저 필요한 라이브러리를 가져옵니다 -

numpy를 npfrom numpy.linalg import matrix_rank로 가져오기

배열 생성 -

arr =np.eye(5)

배열 표시 -

print("우리 배열...\n",arr)

치수 확인 -

print("\n배열의 차원...\n",arr.ndim)

데이터 유형 가져오기 -

print("\n배열 개체의 데이터 유형...\n",arr.dtype)

모양 가져오기 -

print("\n배열 개체의 모양...\n",arr.shape)

Singular Value Decomposition 메서드를 사용하여 배열의 행렬 순위를 반환하려면 numpy.linalg.matrix_rank() 메서드를 사용하십시오 -

print("\n순위(전체 순위 매트릭스)...\n",matrix_rank(arr))

예시

import numpy as npfrom numpy.linalg import matrix_rank# 어레이 생성arr =np.eye(5)# Display the arrayprint("Our Array...\n",arr)# Check the Dimensionsprint("\nDimensions of our Array...\n",arr.ndim)# Get Datatypeprint("\n배열 개체의 데이터 유형...\n",arr.dtype)# Get Shapeprint("\n배열 개체의 모양... \n",arr.shape)# 특이값 분해 방법을 사용하여 배열의 행렬 순위를 반환하려면 Pythonprint("\nRank (Full-Rank Matrix)...\n", matrix_rank(arr))

출력

우리 어레이...[[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.]]배열의 차원...2배열 개체의 데이터 유형...float64배열 개체의 모양...(5, 5)랭크(전체 순위 행렬)...5