AI 수학/선형대수

좌(왼쪽) 고유벡터 (left eigenvector)

깊은대학 2023. 2. 10. 15:07

고유벡터에도 좌파와 우파가 있다. 일반적으로 고유벡터라고 하면 우(오른쪽) 고유벡터(right eigenvector)를 의미한다. 그러면 좌(왼쪽) 고유벡터(left eigenvector)란 무엇이고 우(오른쪽) 고유벡터와는 어떤 관계가 있을까.

 

 

정방행렬 ARn×n 의 우(오른쪽) 고유값(eigenvalue) λ 와 고유벡터 v 는 다음과 같이 정의된다 (https://pasus.tistory.com/8).

 

(1)Av=λv,   v0

 

반면 정방행렬 A 의 좌(왼쪽) 고유값 κ 와 고유벡터 w 는 다음과 같이 정의된다.

 

(2)wTA=κwT,   w0

 

식 (2)는 아래 식과 같으므로 행렬 A 의 좌(왼쪽) 고유벡터는 전치 행렬의 우(오른쪽) 고유벡터와 같다는 것을 알 수 있다.

 

(3)ATw=κw,   w0

 

그렇다면 행렬 A 의 우(오른쪽) 고유값과 좌(왼쪽) 고유값은 서로 같을까 다를까 하는 의문이 들 것이다. 식 (1)의 고유값은 다음과 같은 행렬식을 통해서 계산할 수 있다.

 

(4)det(AλI)=0

 

마찬가지로 식 (2)의 고유값은 다음과 같은 행렬식을 통해서 계산할 수 있다.

 

(5)det(ATκI)=0

 

어떤 행렬과 그 행렬의 전치 행렬의 행렬식은 같다는 사실을 이용하면 식(1)과 (2)의 고유값은 모두 같다는 것을 증명할 수 있다.

 

(6)det(AλI)=det(ATλI)=0   λ=κ

 

그러면 좌(왼쪽)와 우(오른쪽) 고유벡터는 어떤 관계를 가질까.

 

 

만약 행렬 A 가 대칭이라면, 즉 A=AT 이면 좌(왼쪽) 고유벡터와 우(오른쪽) 고유벡터는 같다.

 

(7)λwT=wTA=(ATw)T=(Aw)T

 

대칭 행렬이 아닌 일반적인 행렬의 경우도 알아보자. 정방행렬 ARn×n 의 고유값은 중복된 값을 포함하여 n 개이다. i 번째 고유값 λi 에 대응하는 좌우 고유벡터 각각 wi, vi 라고 하고 식 (1)에 j 번째 우(오른쪽) 고유벡터에 좌(왼쪽) 고유벡터 wiT 를 곱해 보자.

 

(8)wiT(Avj)=wiT(λjvj)=λjwiTvj

 

식 (2)에 의하면 식 (8)은 다음과 같이 쓸 수 있다.

 

(9)(wiTA)vj=(λiwiT)vj=λiwiTvj

 

식 (8)과 (9)는 같아야 하므로 다음 조건을 만족해야 한다.

 

(10)(λiλj)wiTvj=0

 

따라서 λiλj 이면 각각의 고유값에 해당하는 좌와 우 고유벡터는 서로 직각이 된다.

 

(11)wiTvj=0,   ij

 

좌와 우 고유벡터의 관계를 좀더 자세히 알아보기 위하여 두 가지 경우를 생각해 보자. 먼저 행렬 ARn×n 의 모든 고유값이 서로 다른 경우이다. 우(오른쪽) 고유벡터를 열로 하는 행렬을 V, 좌(왼쪽) 고유벡터를 행으로 하는 행렬을 W 라고 하자.

 

(12)V=[v1vn],   W=[w1TwnT]

 

그러면 식 (1)과 (2)는 각각 다음과 같이 쓸 수 있다.

 

(13)AV=VΛ,   WA=ΛW

 

여기서

 

Λ=diag(λ1,...,λn)

 

이다. 위 식에 각각 WV 를 곱하면 다음과 같이 된다.

 

(14)WVΛ=ΛWV

 

식 (14)에 의하면 WV 는 대각행렬 Λ 와 서로 교환법칙이 성립한다. 이는 WV 도 역시 대각행렬이라는 것을 의미한다. 식 (10)에 의하면 이는 당연한 결과로 만약 고유값 λi 에 대응하는 좌우 고유벡터의 내적을 모두 1 로 정규화(normalization)한다면, 즉 wiTvi=1 이면, WV=I 로 만들 수 있다.

 

 

두번째 경우는 행렬 A 가 두 개 이상의 중복된 고유값을 갖는 경우이다. 그러면 식 (10)에서 λi=λj 인 경우가 있으므로 그럴 때는 식 (10)으로는 wiTvj 의 값이 명확하지가 않다.

어떤 행렬이 중복된 고유값을 갖는다면 해당하는 고유값에 대한 선형 독립인 고유벡터를 몇 개 얻을 수 있는지 따져보고 중복된 숫자 만큼 고유벡터를 얻을 수 없을 때(대각화 불가능)는 나머지 숫자만큼 일반화 고유벡터(generalized eigenvector)를 구해야 한다.

이 경우 고유값에 해당하는 좌(왼쪽) 또는 우(오른쪽) 고유벡터 (또는 일반화 고유벡터)가 각각 우 또는 좌 (일반화)고유벡터와 직각이 되도록 구할 수 있다. 이는 Gram-Schmidt 직교화와 유사한 절차로 수행할 수 있다. 그런 다음 정규화를 수행하여 직각 관계가 아닌 좌 고유벡터와 우 고유벡터 사이의 내적이 1 이 되도록 한다.

이렇게 하면 두 개 이상의 중복된 고유값을 갖는 경우에도 우(오른쪽) 고유벡터를 열로 하는 행렬 V 와 좌(왼쪽) 고유벡터를 행으로 하는 행렬 W 의 곱을 WV=I 로 만들 수 있다. 즉,

 

(15)W=V1

 

좌(왼쪽) 고유벡터는 선형 상태변수 방정식의 해에서 볼 수 있다. 다음과 같이 어떤 시스템이 있다고 하자.

 

(16)x˙=Ax+Buz=Cx

 

여기서 xRn 는 상태변수, uRp 는 제어입력, zRq 는 출력(측정값)이다. 상태변수 x(t) 는 다음과 같이 계산된다.

 

(17)x(t)=eAtx0+0teA(tτ)Bu(τ) dτ

 

여기서 x0=x(0) 이다. 행렬 A 의 고유값 λi 에 해당하는 좌(왼쪽) 고유벡터와 우(오른쪽) 고유벡터를 각각 wi, vi 라고 하자.

 

(18)Avi=λivi,   wiTA=λiwiT

 

만약 행렬 A 가 대각화 가능(diagonalizable)하다면, eAt 는 다음과 같이 계산할 수 있다 (https://pasus.tistory.com/233).

 

(19)eAt=V[eλ1teλnt]V1=V[eλ1teλnt]W=ivieλitwiT

 

식 (19)를 식 (17)에 대입하면 다음과 같다.

 

(20)x(t)=i(wiTx0)vieλit+ivi0teλi(tτ)wiTBu(τ) dτ

 

출력 z(t) 는 다음과 같이 계산된다.

 

(21)z(t)=i(wiTx0)Cvieλit+iCvi0teλi(tτ)wiTBu(τ) dτ

 

이 식에 의하면 Cvi 는 고유값 λi 와 관련된 출력 공간의 방향이며, wiTB 는 고유값 λi 에 대한 제어입력 u(t) 의 영향을 결정한다는 것을 알 수 있다.

만약 Cvi=0 이면 vi 방향의 움직임을 출력에서 관측할 수 없으므로 λi 를 관측 불가능(unobservable)한 모드라고 하고, wiTB=0 이면 제어입력 u(t)vi 방향의 움직임에 영향을 끼치지 못하므로 λi 를 제어 불가능(uncontrollable)한 모드라고 한다.

또한 식 (20)에 의하면 좌(왼쪽) 고유벡터는 초기값을 운동 모드 성분으로 분해하고 (wiTx0), 우(오른쪽) 고유벡터 vi 는 상태변수를 운동 모드의 선형 조합으로 표현한다.