수반연산자를 임의의 선형변환 T:V→W로 확장해서 생각해보자. 이때, 수반사상 T∗는 W에서 V로의 선형변환이고, [T∗]βγ=([T]βγ)∗일 것이다. 재밌는 점은 V의 선형연산자 T∗T는 positive semi-definite하고, rank(T∗T)=rank(T)라는 점이다. 이를 이용하여 특이값 정리가 나오게 된다.
이 되도록 하는 V의 정규직교기저 {v1,v2,…,vn}과 W의 정규직교기저 {u1,u2,u…,um}, 양의 스칼라 σ1≥σ2≥⋯≥σr가 존재한다.
역으로 이야기하면, vi(1≤i≤n)은 T∗T의 고유벡터가 되고, 각 고유벡터에 대응하는 고유값은 1≤i≤r일 때, σi2이고, i>r일 때는 0이다. 즉, σ1,σ2,…,σr는 T에 의해 유일하게 결정된다.
증명 V의 선형연산자 T∗T는 랭크가 r이고, positive semi-definite이다. 이를 이용하여, T∗T의 고유값 λi에 대응하는 고유벡터로 이루어진 정규직교기저 {v1,v2,…,vn}가 존재함을 알 수 있다. 이때, positive semi-definite하기 때문에 고유값을 정렬하여 λ1≥λ2≥⋯≥λr>0이고, i>r일 때, λi=0이 될 것이다. 또한, 1≤i≤r에 대하여, σi=λi,ui=σi1T(vi)라고 정의하자. 이제 {u1,u2,…,un}이 W의 정규직교 부분집합임을 보이면 된다. q≤i,j≤r이면 다음이 성립한다.
이를 통해 {u1,u2,…,ur}이 정규직교임을 쉽게 보일 수 있다. 또한, 이 집합을 확장하여 W의 정규직교 기저를 얻을 수 있다. 이제 우리는 1≤i≤r일 때, T(vi)=σiui임을 알게 되었다. 또한, i>r일 때, T∗T(vi)=0이고 이를 통해 T(vi)=0가 임을 알 수 있다.
이제 σi가 유일함을 보이자. {v1,v2,…,vn},{u1,u2,…,um},σ1≥σ2≥…σr>0 이 세가지 조건이 만족되었다고 가정하자. 이때, σi=T∗T(vi)를 이용하면 q≤i≤m,1≤j≤n에 대해 다음이 성립한다.
정리해보면, i≤r일때, T∗T(vi)=T∗(σiui)=σiT∗(ui)=σ2vi로 정리되고, i>r일 때, T∗T(vi)=T∗(0)=0으로 정리된다. 즉, 각 vi는 i≤r에 대해 고유값 σi2=λi에 대응하는 고유벡터가 되고, i>r에 대해서는 0이다.
정의
위의 정리에서 정의한 유일한 스칼라 $σ1,σ2,…,σr를 T의 특이값이라 한다. r<m,r<n이면 특이값은 σr+1=⋯=σk=0으로 확장이 가능하다. 이때, k는 m과 n의 최소값이다.
여기서 선형변환 T의 특이값은 T에 의해 유일하게 결정되지만, 위 정리의 정규직교기저는 유일하게 결정되지 않는다는 점에 유의하자. 왜냐하면 T∗T의 고유벡터로 이루어진 정규직교기저는 당연히 하나 이상 존재할 것이기 때문이다. 교유값은 유일하지만, 이에 대응하는 고유벡터가 유일하지 않다는 점을 떠올리면 쉽게 이해할 수 있다.
또한, 선형 변환 T:V→W와 그 수반연산자 T∗의 특이값은 서로 같게 된다. 또한, V와 W의 정규직교기저를 뒤집으면 T∗ 의 정규직교기저가 될 것이다.
자연스레 이제 연산자에서 행렬로 특이값 정리를 이어가보도록 하자.
정의m×n행렬 A에 대하여 선형변환 LA의 특이값을 A의 특이값이라 정의한다.
정리 2행렬의 특이값 분해 정리
랭크가 r인 m×n행렬 A가 있다고 하자. 이 행렬의 특이값은 σ1≥σ2≥⋯≥σr>0이라 할때, m×n 행렬 Σ를 다음과 같이 정의하자.
Σij={σi0(i=j≤r)(else)
이제 A=UΣV∗인 m×m 행렬 U와 n×n행렬 V가 존재한다.
증명 T=LA:Fn→Fm이 있다고 하자. 이때 정리 1에 의해 T(vi)=σiui(1≤i≤r),T(vi)=0(i>r)인 Fn의 정규직교기저 β={v1,v2,…,vn}과 Fm의 정규직교기저 γ={u1,u2,…,um}이 존재한다. 모든 j에 대하여 j열이 uj인 m×m 행렬을 U, 모든 j에 대하여 vj인 n×n행렬을 V라 하자. 중요한 점은 이대 U,V 모두 유니타리 행렬이다.
이때 행렬표현에 의해 AV의 j열은 Avj=σjuj일 것이다. Σ의 j열은 σjej(ej는 Fm의 j번째 표준벡터)이다. 이를 이용하면 UΣ 의 j열은 다음과 같을 것이다.
U(σjej)=σjUej=σjuj
이때, AV와 UΣ는 모두 m×n행렬이고, 대응하는 열이 같다. 다시말해 AV=UΣ이므로, A=AVV∗=UΣV∗이 된다.
정의
특이값이 σ1≥σ2≥⋯≥σr>0이고, 랭크가 r인 m×n행렬 A를 생각하자. 이때, 정리 2에서 정의한 것처럼 유니타리 행렬 U,V와 m×n행렬 Σ에 대해 A=UΣV∗가 성립할 때, 이 분해를 A의 특이값 분해라 한다.
여기서 V의 열은 β의 벡터이고, U의 열은 γ의 벡터이다. 즉, 행렬의 특이값 분해는 행렬을 행공간, 열공간, 고유값 각각을 가지는 세 행렬로 나누는 것이다.