이번 글은
2022.06.03 - [수학의 재미/행렬 이론] - 고유값 분해(eigen decomposition) #1
에서 이어집니다. 정방행렬(square matrix)에서 고윳값 분해를 정의했었죠. 복습을 해보자면, $n \times n$ 정방 행렬 $\mathbf{A}$에 대해서
$$\det(\mathbf{A}-\lambda \mathbf{I_n}) =0\tag{1}$$
을 만족하는 $\lambda$가 고유값(eigenvalue), 또 이 고유값에 대해 $\mathbf{Av}= \lambda \mathbf{v}$를 만족하는 $\mathbf{v}$가 고유벡터라고 했습니다($\mathbf{I}_n$은 $n$차 단위행렬입니다.)
그런데 수식(1)은 $n$차 방정식이고 복소수 범위에서 근이 존재합니다. 즉, eigenvalue가 복소수가 나올 수도 있다는 얘기죠. 덩달아 eigenvector의 원소들도 복소수가 나올 수 있습니다.
그런데 $\mathbf{A}$가 원소가 모두 실수인 대칭행렬이면 훨씬 더 아름다운 결과를 얻습니다.
실수를 원소로 하는 대칭행렬은
○ 고윳값(eigen value)이 실수이고
○ 고유 벡터들은 모두 직교한다.
두 벡터 $\mathbf{v}, \mathbf{w} \in \mathbb{R}^n$가 직교한다는 뜻은 다음과 같습니다.
두 벡터가 직교한다는 뜻
$$ \mathbf{v} = \pmatrix{v_1\\v_2\\ \vdots \\v_n} ~,~\mathbf{w} = \pmatrix{w_1\\w_2\\ \vdots \\w_n}$$
이라 할때, $\mathbf{v}, \mathbf{w}$가 직교한다는 뜻은
$$v_1 w_1 + v_2 w_2 +\cdots + v_n w_n =0 $$ 이라는 뜻입니다. 즉 내적(inner product)이 0이라는 얘기인데 내적은 기호로 $\mathbf{v}\cdot \mathbf{w}$라 쓰고 행렬표시로 하면
$$\mathbf{v}\cdot \mathbf{w}= \mathbf{v}^T \mathbf{w} $$
입니다.
이제 켤레복소수(complex conjugte)에 대해 살짝 복습해 봅시다.
복소수 $z=a+bi$의 conjugate는 기호로 $\bar{z}$라 쓰고
$$ \bar{z} = a-bi$$
입니다. conjugate의 여러 성질이 많은데 몇 가지만 보자면,
conjugate의 성질
복소수 $z, w$에 대해서,
○ $\overline{z+w} = \bar{z} + \bar{w}$
○ $\overline{zw} = \bar{z} \bar{w}$
○ $\bar{z} z \geq 0$ 이고 등호가 성립할 필요충분조건은 $z=0$일 때이다.
3번째 성질은 보이기 쉬운데, $z=a+bi$ 라 놓으면 $\bar{z}z = (a-bi)(a+bi)= a^2+b^2 $이므로 성립하는 것입니다.
이런 배경지식을 이용하여 대칭행렬의 고유값과 고유벡터가 가지는 성질을 증명해 봅시다.
1. 실수를 원소로 하는 대칭 행렬의 고유값은 실수이다.
대칭행렬 $\mathbf {A}$의 고유값을 $\lambda$, 대응하는 고유벡터를 $\mathbf{v}$ 라 합시다. 즉
$$ \mathbf{A} \mathbf{v} = \lambda \mathbf{v}~,~ \mathbf{v} \neq 0$$
입니다. 실수 행렬이므로 $\bar{\mathbf{A}} = \mathbf{A}$ 이고 ($\bar{\mathbf{A}}$는 행렬의 모든 원소에 conjugate)
따라서
$$\overline{\mathbf{A}\mathbf{v}} = \overline{\lambda \mathbf{v}} \Rightarrow \mathbf{A}\bar{\mathbf{v}} =\bar{\lambda}\bar{\mathbf{v}}$$
가 성립합니다. 또한 $\mathbf{A}^t = \mathbf{A}$ 를 이용합니다. 증명은 $\bar{\mathbf{v}}^T \mathbf{A}\mathbf{v}$를 두 가지로 해석하여 비교하는 것으로 할 수 있는데요.
$$ \bar{\mathbf{v}}^T \mathbf{A}\mathbf{v} = \bar{\mathbf{v}}^T (\mathbf{A}\mathbf{v}) = \bar{\mathbf{v}}^T (\lambda \mathbf{v}) = \lambda( \bar{\mathbf{v}}\cdot {\mathbf{v}}), $$
또, 다른 해석으로
$$ \bar{\mathbf{v}}^T \mathbf{A}\mathbf{v} = (\mathbf{A}\bar{\mathbf{v}})T \mathbf{v} = (\bar{\lambda} \bar{\mathbf{v}})^T \mathbf{v} = \bar{\lambda} (\bar{\mathbf{v}}\cdot {\mathbf{v}})$$
입니다.
따라서, $\bar{\mathbf{v}}\cdot {\mathbf{v}} \neq 0$ 이므로
$$\lambda = \bar{\lambda}$$
일 수밖에 없겠죠. 따라서 $\lambda$는 실수입니다.
2. 실수를 원소로 하는 대칭 행렬의 고유 벡터는 서로 직교한다.
사실 수식(1)이 중근을 가질 때도 많습니다. 하지만 우선 서로 다른 고윳값을 가지는 고유 벡터들이 직교한다는 것을 먼저 증명해보죠.
서로 다른 eigenvalue $\lambda, \mu$에 대해서 eigenvector를 각각 $\mathbf{x}, \mathbf{y}$ 라 합시다. 즉,
$$ \mathbf{A}\mathbf{x} = \lambda \mathbf{x} ~,~ \mathbf{A}\mathbf{y} = \mu \mathbf{y} $$
입니다.
$$
\begin{align}
\lambda (\mathbf{x}\cdot \mathbf{y}) &= \lambda \mathbf{y}^T \mathbf{x} \\
& = \mathbf{y}^T (\lambda \mathbf{x}) \\
& = \mathbf{y}^T \mathbf{A}\mathbf{x} \\
& =(\mathbf{y}^T \mathbf{A}\mathbf{x})^T \\
& = \mathbf{x}^T \mathbf{A}^T\mathbf{y} \\
& = \mathbf{x}^T \mathbf{A}\mathbf{y} ~~(\because A^t=A)\\
& = \mathbf{x}^T \mu\mathbf{y} \\
& =\mu (\mathbf{x}\cdot \mathbf{y})
\end{align}
$$
입니다(네 번째 등식은 실수의 transpose는 실수, 즉 $\mathbf{y}^T \mathbf{A}\mathbf{x} $가 실수이기 떄문에 성립)
$\lambda \neq \mu$이므로 필연적으로 $\mathbf{x} \cdot \mathbf{y} =0$ 입니다. 즉 $\mathbf{x}$와 $\mathbf{y}$는 직교합니다.
만일 두 eigen vector가 하나의 eigen value를 공유한다면, eigen vector 두 개를 선형 결합하여 Gram Schmidt 방법으로 직교하게끔 만들 수 있습니다. 이것까지 증명하긴 너무 번잡하므로 이렇게 말로 때우겠습니다.
이제 다시 저번 글로 돌아가 봅시다(여기 참조)
정방행렬 $\mathbf{A}$는
$$ \mathbf{A}\mathbf{Q} = \mathbf{Q}\mathbf{D} $$
로 쓸 수 있다 했습니다. $\mathbf{Q}$는 eigenvector를 열벡터로 하여 이루어진 행렬, $\mathbf{D}$는 eigenvalue를 대각원소로 하는 대각행렬입니다. 그런데 $\mathbf{A}$가 실수 대칭행렬이라는 조건까지 가미되면
- $\mathbf{D}$의 원소는 모두 실수
- eigen vector의 크기가 1이 되게끔 조절하면 $\mathbf{Q}$가 직교행렬이 되어 역행렬이 존재함. 즉 $\mathbf{Q}^{-1} = \mathbf{Q}^T$
까지 만족하므로
$$ \mathbf{A} = \mathbf{Q} \mathbf{D} \mathbf{Q}^T $$
로 아주 멋있게 분해가 됩니다.
(Fact. $\mathbf{Q}$가 직교행렬이면, $\mathbf{Q}\mathbf{Q^T} =\mathbf{I}_n$ 을 만족)
다음 글에서는 python code를 통하여 이론을 정복해보겠습니다.
'수학의 재미 > 행렬 이론' 카테고리의 다른 글
상관계수와 상관계수 행렬 #1 (0) | 2022.07.05 |
---|---|
공분산과 공분산 행렬 (0) | 2022.07.04 |
행렬이 양수다? positive semidefinite (0) | 2022.07.04 |
대칭행렬 만들고 고윳값 분해하기 (0) | 2022.07.02 |
고유값 분해(eigen decomposition) #1 (0) | 2022.06.03 |
댓글