기본 콘텐츠로 건너뛰기

라벨이 스펙트럼인 게시물 표시

[matplotlib]quiver()함수

[Linear Algebra] 스펙트럴 분해(Spectral decomposition)

스펙트럴 분해(Spectral decomposition) 행렬 A의 고유값 집합을 A의 스펙트럼(spectrum) 이라고 합니다. 대칭행렬의 스펙트럼은 다음과 같은 특징이 있습니다. 대칭행렬의 스펙트럼 n×n 차원의 대칭행렬 A에서 A는 n개의 서로다른 고유값을 가집니다. 각 고유값 λ과 그것의 배수는 같은 효과를 나타냅니다. 즉, 고유값의 배수를 적용할 경우 고유벡터의 길이만 변할 뿐 방향은 바뀌지 않습니다. 다른 고유값들에 대응하는 고유벡터들은 직교관계에 있습니다. A는 직교적으로 대각화가 가능합니다. 고유값 분해 방법으로 대칭행렬 A는 고유값을 대각 원소로 하는 대각행렬(D)과 고유벡터들로 구성된 고유 행렬(U)을 사용하여 식 1과 같이 분해할 수 있습니다. 이와 같이 대칭행렬의 고유값분해를 스펙트럴분해(spectral decomposition) 라고 합니다. \begin{align}A & = UDU^{-1} = UDU^T\\ \tag{식 1}& U:\;\text{고유벡터}\\ & D:\;\text{고유값을 대각요소로하는 대각행렬}\end{align} 예 1) 대칭행렬 A에 대해 식 1을 확인해 봅니다. A=np.array([[7, 2],[2,4]]) print(A) [[7 2] [2 4]] eig_val=solve(det(cheM), l) eig_val d, U=la.eig(A) D=np.diag(d) print(D) [[8. 0.] [0. 3.]] print(U.round(3)) [[ 0.894 -0.447] [ 0.447 0.894]] 다음 결과와 같이 행렬 A의 고유행렬에 대한 정규직교적 특징 을 만족합니다. np.allclose(U.T, la.inv(U)) True 결과적으로 위 식과 같이 행렬 A의 고유 분해가 이루어집니다. np.allclose(A, U@D@la.inv(U)) True 예 2) 다음 행렬 A의스펙트럴 분해를 결정합니다....