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

Python에서 복소 에르미트 행렬 또는 실수 대칭 행렬의 고유값 계산

<시간/>

복소수 에르미트 행렬 또는 실수 대칭 행렬의 고유값을 계산하려면 numpy.eigvalsh() 메서드를 사용합니다. 이 메서드는 고유값을 오름차순으로 반환하며 각각은 다중성에 따라 반복됩니다.

첫 번째 매개변수인 a는 고유값을 계산할 복소수 또는 실수 값 행렬입니다. 두 번째 매개변수인 UPLO는 계산이 아래쪽 삼각형 부분('L', 기본값)으로 수행되는지 아니면 위쪽 삼각형 부분('U')으로 수행되는지 지정합니다. 이 값에 관계없이 에르미트 행렬의 개념을 보존하기 위해 계산에서 대각선의 실수 부분만 고려됩니다. 따라서 대각선의 허수 부분은 항상 0으로 처리됩니다.

단계

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

import numpy as np
from numpy import linalg as LA

numpy.array() 메서드를 사용하여 2D numpy 배열 만들기 -

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

배열 표시 -

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

치수 확인 -

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

데이터 유형 가져오기 -

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

모양 가져오기 -

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

복소수 에르미트 행렬 또는 실수 대칭 행렬의 고유값을 계산하려면 numpy.eigvalsh() 메서드를 사용하십시오 -

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

예시

from numpy import linalg as LA
import numpy as np

# Creating a 2D numpy array using the numpy.array() method
arr = np.array([[5+2j, 9-2j], [0+2j, 2-1j]])

# 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 eigenvalues of a complex Hermitian or real symmetric matrix, use the numpy.eigvalsh() method
print("\nResult...\n",LA.eigvalsh(arr))

출력

Our Array...
[[5.+2.j 9.-2.j]
[0.+2.j 2.-1.j]]

Dimensions of our Array...
2

Datatype of our Array object...
complex128

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

Result...
[1. 6.]