2차원 땅이나 3차원 공간에서 물체의 움직임이나 현상의 변화를 설명할 때, 행렬이 많이 쓰입니다. 또는 숫자의 배열로서 행렬이 쓰이는데, 분석을 쉽게, 또 간단히 하기 위해 주어진 행렬을 더 쉬운 형태의 행렬들로 표현하는 방법이 많이 연구되어 왔습니다. 그중 기본이 되는 것이 고윳값 분해(eigenvalue decomposition) 방법입니다.
위 도표는 고윳값 분해 이론을 사용하고 또 업그레이드하여 적용할 수 있는 다양한 작업들입니다. 고윳값 분해의 제약을 극복하고 임의의 행렬에 대해 분해를 할 수 있는 기법인 SVD나 경제/사회현상 분석에서 많이 쓰이는 주성분분석(PCA), 최적화 기법(Optimization) 등 powerful 하고 popular 한 방법들이 모두 고윳값 분해로부터 시작한다는 느낌입니다.
고윳값 분해의 역사
고윳값 분해에 대해 알려진 유명한 역사는 바로 오귀스탱 루이 코시(Augustin Louis Cauchy)라는 수학자로부터 시작되는데요. 프랑스 수학자로서 미적분, 해석학 등의 발전에 엄청난 공헌을 수학자입니다.
이 분이 타원, 쌍곡선 등의 2차 곡선을 연구하다가, 단위원 $x^2 +y^2 =1$ 을 만족하는 $(x,y)$에 대해
$$f(x,y) = ax^2 + 2bxy +cy^2 $$
과 같은 식(quadratic form이라 합니다.)의 최대,최솟값을 연구했나 봅니다.
$$ g(x,y) = x^2 +y^2 $$ 이라 하면, 라그랑즈 승수법(Lagrange multiplier method)에 의해 $\nabla f(x,y)$와 $\nabla g(x,y)$가 1차 독립이 되는, 즉
$$ \nabla f(x,y) = \lambda \nabla g(x,y) $$
인 $(x,y)$와 실수 $\lambda$를 찾는 문제로 귀결되는데요.
$$\nabla f(x,y) =(2ax +2by , 2bx +2cy)~,~ \nabla g(x,y) =(2x,2y)$$
이므로
$$
\left\{
\begin{array}{c}
ax +by = \lambda x\\
bx + cy = \lambda y
\end{array}
\right.
$$
이므로 이 식은 행렬 표현으로
$$A\pmatrix{x\\y}=\lambda\pmatrix{x\\y}~~,~~A=\pmatrix{a&b\\b&c}\tag{1}$$
를 만족합니다.
이와 관련한 내용을 1800년대의 교과서에서도 찾을 수 있습니다(아래 캡처 사진을 보면 3차원 이상의 2차형식에 대한 내용은 것 같습니다.)
그럼 수식(1)을 확장시켜 고윳값 분해를 정의해 봅시다.
고유값 분해
$\mathbf{A}$를 $n\times n$ 행렬(정방행렬, square matrix)라 합시다. 이때 $0$이 아닌 $n$차원 벡터 $\mathbf{v}\in \mathbb{R}$이 어떤 상수(복소수도 포함합니다.) $\lambda$에 대해,
$$\mathbf{A}\mathbf{v} = \lambda \mathbf{v} \tag{2}$$
를 만족하면 $\mathbf{v}$를 고유벡터(eigenvector), $\lambda$를 $\mathbf{v}$에 대한 고윳값(eigenvalue)이라 부릅니다.
수식(2)는
$$\left(\mathbf{A}-\lambda \mathbf{I}_n\right)\mathbf{v}=\mathbf{O} \tag{3}$$
라 쓸 수 있습니다. 여기서 $\mathbf{I}_n$은 $n \times n$ 단위행렬(identity matrix) 이고 $\mathbf{0}$는 $n\times 1$ 영행렬(zero matrix)입니다.
만일, $\mathbf{A}-\lambda \mathbf{I}_n$ 이 역행렬을 가진다면 그 역행렬을 수식 (3)의 양변에 곱하여
$$\mathbf{v} =\mathbf{0}$$
를 얻게 되므로, 고유벡터의 정의에 모순되죠. 따라서 해당 행렬의 역행렬이 존재하면 안 되므로
$$ \det(\mathbf{A}-\lambda \mathbf{I}_n)=0 \tag{4}$$
이 됩니다.
수식(4)는 $\lambda$에 대한 $n$차 방정식이죠? 따라서 복소수와 중근 등을 허용하면 $n$개의 $\lambda$들을 얻을 수 있고(이것을 대수학의 기본정리라 부릅니다.) 그러면 각각의 고윳값들에 대해서 고유벡터들을(복소수 범위에서) 구할 수 있습니다.
더 나아가서 $n$개의 고유값 $\lambda_i, i\leq n$과 해당 고유벡터 $\mathbf{v}_i, i\leq n$을 찾았다 합시다. 즉
$$\mathbf{A} \mathbf{v}_1 = \lambda_1 \mathbf{v}_1,\cdots, \mathbf{A} \mathbf{v}_n = \lambda_n \mathbf{v}_n$$
인 상황입니다. 행렬 계산에 따르면
$$
\begin{align}
A \cdot &
\pmatrix
{\mid & \mid & \mid& \mid \\
\mathbf{v}_1 & \mathbf{v}_2 & \cdots & \mathbf{v}_n \\
\mid & \mid & \mid & \mid
}
\pmatrix
{\mid & \mid & \mid& \mid \\
\mathbf{A}\mathbf{v}_1 & \mathbf{A}\mathbf{v}_2 & \cdots & \mathbf{A}\mathbf{v}_n \\
\mid & \mid & \mid & \mid
}\\
&=
\pmatrix
{\mid & \mid & \mid& \mid \\
\lambda_1\mathbf{v}_1 & \lambda_2\mathbf{v}_2 & \cdots & \lambda_n\mathbf{v}_n \\
\mid & \mid & \mid & \mid
}\\
&=
\pmatrix
{\mid & \mid & \mid& \mid \\
\mathbf{v}_1 & \mathbf{v}_2 & \cdots & \mathbf{v}_n \\
\mid & \mid & \mid & \mid
}\cdot
\pmatrix
{\lambda_1 & & \\
& \ddots & \\
& & \lambda_n
}\tag{5}
\end{align}
$$
이제 $\mathbf{v_1},\cdots , \mathbf{v_n}$을 열 벡터로 가지는 행렬을 $\mathbf{Q}$, $\lambda_i$들을 대각 원소로 가지는 대각행렬(diagonal matrix)를 $\mathbf{D}$ 라 하면, 식(5)는 다음처럼 간단히 쓸 수 있습니다.
$$\mathbf{A}\mathbf{Q} = \mathbf{Q}\mathbf{D} \tag{6}$$
더욱더 좋은 조건을 줘볼까요? 만일 $\mathbf{v}_i$들이 일차독립(linearly independent)이라면 $\mathbf{Q}$는 가역 행렬(invertible)이 됩니다. 따라서 식(6)에 $\mathbf{Q}$의 역행렬을 곱하면
$$ \mathbf{A} = \mathbf{Q}\cdot \mathbf{D} \cdot \mathbf{Q}^{-1} \tag{7} $$
이 됩니다.
식(7)이 바로 고윳값 분해(eigendecomposition)입니다. 염두에 둬야 할 사실은, (7)에서 항상 $\mathbf{Q}$의 역행렬이 있는 건 아닙니다.
그런데, 행렬 $\mathbf{A}$가 대칭행렬(symmetric matrix) 일 떄는 상황이 사뭇 다릅니다. 수식(1)을 보면 코시의 2차곡선 분석할 때 등장하는 행렬 역시 대칭행렬입니다. 대칭행렬의 고윳값분해는 훨씬 강력해지는데요. 이는 다음 글에서 알아보도록 하겠습니다.
'수학의 재미 > 행렬 이론' 카테고리의 다른 글
상관계수와 상관계수 행렬 #1 (0) | 2022.07.05 |
---|---|
공분산과 공분산 행렬 (0) | 2022.07.04 |
행렬이 양수다? positive semidefinite (0) | 2022.07.04 |
대칭행렬 만들고 고윳값 분해하기 (0) | 2022.07.02 |
대칭행렬을 분해합시다 - 고유값 분해(eigen decomposition) #2 (0) | 2022.06.29 |
댓글