본문 바로가기
AI 수학/선형대수

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

by 세인트 워터멜론 2023. 2. 10.

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

 

 

정방행렬 \(A \in \mathbb{R}^{n \times n}\) 의 우(오른쪽) 고유값(eigenvalue) \(\lambda\) 와 고유벡터 \(\mathbf{v}\) 는 다음과 같이 정의된다 (https://pasus.tistory.com/8).

 

\[ A \mathbf{v} = \lambda \mathbf{v}, \ \ \ \mathbf{v} \ne 0 \tag{1} \]

 

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

 

\[ \mathbf{w}^T A= \kappa \mathbf{w}^T, \ \ \ \mathbf{w} \ne 0 \tag{2} \]

 

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

 

\[ A^T \mathbf{w}= \kappa \mathbf{w}, \ \ \ \mathbf{w} \ne 0 \tag{3} \]

 

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

 

\[ \det (A-\lambda I)=0 \tag{4} \]

 

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

 

\[ \det (A^T-\kappa I)=0 \tag{5} \]

 

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

 

\[ \begin{align} & \det (A- \lambda I)= \det (A^T- \lambda I)=0 \tag{6} \\ \\ \to & \ \ \ \lambda = \kappa \end{align} \]

 

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

 

 

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

 

\[ \lambda \mathbf{w}^T= \mathbf{w}^T A=(A^T \mathbf{w})^T=(A \mathbf{w})^T \tag{7} \]

 

대칭 행렬이 아닌 일반적인 행렬의 경우도 알아보자. 정방행렬 \(A \in \mathbb{R}^{n \times n} \) 의 고유값은 중복된 값을 포함하여 \(n\) 개이다. \(i\) 번째 고유값 \(\lambda_i\) 에 대응하는 좌우 고유벡터 각각 \(\mathbf{w}_i, \ \mathbf{v}_i\) 라고 하고 식 (1)에 \(j\) 번째 우(오른쪽) 고유벡터에 좌(왼쪽) 고유벡터 \(\mathbf{w}_i^T\) 를 곱해 보자.

 

\[ \mathbf{w}_i^T (A \mathbf{v}_j )= \mathbf{w}_i^T (\lambda_j \mathbf{v}_j )= \lambda_j \mathbf{w}_i^T \mathbf{v}_j \tag{8} \]

 

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

 

\[ (\mathbf{w}_i^T A) \mathbf{v}_j=( \lambda_i \mathbf{w}_i^T ) \mathbf{v}_j= \lambda_i \mathbf{w}_i^T \mathbf{v}_j \tag{9} \]

 

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

 

\[ (\lambda_i-\lambda_j) \mathbf{w}_i^T \mathbf{v}_j=0 \tag{10} \]

 

따라서 \(\lambda_i \ne \lambda_j\) 이면 각각의 고유값에 해당하는 좌와 우 고유벡터는 서로 직각이 된다.

 

\[ \mathbf{w}_i^T \mathbf{v}_j=0, \ \ \ i \ne j \tag{11} \]

 

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

 

\[ V= \begin{bmatrix} \mathbf{v}_1 & \cdots & \mathbf{v}_n \end{bmatrix}, \ \ \ W= \begin{bmatrix} \mathbf{w}_1^T \\ \vdots \\ \mathbf{w}_n^T \end{bmatrix} \tag{12} \]

 

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

 

\[ AV=V \Lambda, \ \ \ WA=\Lambda W \tag{13} \]

 

여기서

 

\[ \Lambda = diag (\lambda_1, ... , \lambda_n ) \]

 

이다. 위 식에 각각 \(W\) 와 \(V\) 를 곱하면 다음과 같이 된다.

 

\[ WV \Lambda = \Lambda WV \tag{14} \]

 

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

 

 

두번째 경우는 행렬 \(A\) 가 두 개 이상의 중복된 고유값을 갖는 경우이다. 그러면 식 (10)에서 \(\lambda_i= \lambda_j\) 인 경우가 있으므로 그럴 때는 식 (10)으로는 \(\mathbf{w}_i^T \mathbf{v}_j\) 의 값이 명확하지가 않다.

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

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

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

 

\[ W=V^{-1} \tag{15} \]

 

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

 

\[ \begin{align} \dot{\mathbf{x}} &= A \mathbf{x}+B \mathbf{u} \tag{16} \\ \\ \mathbf{z} &= C \mathbf{x} \end{align} \]

 

여기서 \(\mathbf{x} \in \mathbb{R}^n \) 는 상태변수, \(\mathbf{u} \in \mathbb{R}^p\) 는 제어입력, \(\mathbf{z} \in \mathbb{R}^q\) 는 출력(측정값)이다. 상태변수 \(\mathbf{x}(t)\) 는 다음과 같이 계산된다.

 

\[ \mathbf{x}(t)=e^{At} \mathbf{x}_0+ \int_0^t e^{A(t-\tau)} B \mathbf{u}(\tau) \ d\tau \tag{17} \]

 

여기서 \(\mathbf{x}_0= \mathbf{x}(0)\) 이다. 행렬 \(A\) 의 고유값 \(\lambda_i\) 에 해당하는 좌(왼쪽) 고유벡터와 우(오른쪽) 고유벡터를 각각 \(\mathbf{w}_i\), \( \mathbf{v}_i\) 라고 하자.

 

\[ A \mathbf{v}_i= \lambda_i \mathbf{v}_i, \ \ \ \mathbf{w}_i^T A=\lambda_i \mathbf{w}_i^T \tag{18} \]

 

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

 

\[ \begin{align} e^{At} &= V \begin{bmatrix} e^{\lambda_1 t} & & \\ & \ddots & \\ & & e^{\lambda_n t} \end{bmatrix} V^{-1} \tag{19} \\ \\ &= V \begin{bmatrix} e^{\lambda_1 t} & & \\ & \ddots & \\ & & e^{\lambda_n t} \end{bmatrix} W \\ \\ &= \sum_i \mathbf{v}_i e^{\lambda_i t} \mathbf{w}_i^T \end{align} \]

 

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

 

\[ \mathbf{x}(t)= \sum_i (\mathbf{w}_i^T \mathbf{x}_0 ) \mathbf{v}_i e^{\lambda_i t} + \sum_i \mathbf{v}_i \int_0^t e^{\lambda_i (t-\tau)} \mathbf{w}_i^T B \mathbf{u} (\tau) \ d\tau \tag{20} \]

 

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

 

\[ \mathbf{z}(t)= \sum_i (\mathbf{w}_i^T \mathbf{x}_0 ) C \mathbf{v}_i e^{\lambda_i t} + \sum_i C \mathbf{v}_i \int_0^t e^{\lambda_i (t-\tau)} \mathbf{w}_i^T B \mathbf{u} (\tau) \ d\tau \tag{21} \]

 

이 식에 의하면 \(C \mathbf{v}_i\) 는 고유값 \(\lambda_i\) 와 관련된 출력 공간의 방향이며, \(\mathbf{w}_i^T B\) 는 고유값 \(\lambda_i\) 에 대한 제어입력 \(\mathbf{u}(t)\) 의 영향을 결정한다는 것을 알 수 있다.

만약 \(C\mathbf{v}_i=0\) 이면 \(\mathbf{v}_i\) 방향의 움직임을 출력에서 관측할 수 없으므로 \(\lambda_i\) 를 관측 불가능(unobservable)한 모드라고 하고, \(\mathbf{w}_i^T B=0\) 이면 제어입력 \(\mathbf{u}(t)\) 는 \(\mathbf{v}_i\) 방향의 움직임에 영향을 끼치지 못하므로 \(\lambda_i\) 를 제어 불가능(uncontrollable)한 모드라고 한다.

또한 식 (20)에 의하면 좌(왼쪽) 고유벡터는 초기값을 운동 모드 성분으로 분해하고 (\(\mathbf{w}_i^T \mathbf{x}_0\)), 우(오른쪽) 고유벡터 \(\mathbf{v}_i\) 는 상태변수를 운동 모드의 선형 조합으로 표현한다.

 

 

'AI 수학 > 선형대수' 카테고리의 다른 글

플롭 (Flop)  (0) 2023.11.09
심플렉틱 행렬 (Symplectic Matrix)  (0) 2023.07.01
Frobenius Norm 최소화 문제  (0) 2022.11.03
행렬의 조건수 (Condition Number)  (0) 2021.03.02
놈 (norm)  (0) 2020.10.24

댓글