제 3장: 고유값과 고유벡터

3.1 고유값과 고유벡터 (Eigenvalues and Eigenvectors)

선형 변환의 중요한 개념 중 하나는 고유값과 고유벡터이다. 고유값과 고유벡터는 행렬이 벡터를 변환할 때, 벡터의 방향을 변화시키지 않으면서 스칼라 배율만을 변형하는 특성을 나타낸다.

3.1.1 정의

행렬 $ \mathbf{A} $가 주어졌을 때, 벡터 $ \mathbf{v} $가 고유벡터이고 스칼라 $ \lambda $가 고유값이라고 한다면 다음을 만족해야 한다:

Av=λv\mathbf{A} \mathbf{v} = \lambda \mathbf{v}

여기서:

  • $ \mathbf{A} $는 $ n \times n $ 행렬이다.

  • $ \mathbf{v} $는 고유벡터로, 제로가 아닌 벡터이다.

  • $ \lambda $는 고유값으로, 스칼라 값이다.

3.1.2 고유값과 고유벡터 찾기

고유값 $ \lambda $를 찾기 위해서는 다음과 같은 방정식을 해결해야 한다:

det(AλI)=0\text{det}(\mathbf{A} - \lambda \mathbf{I}) = 0

여기서 $ \text{det} $는 행렬의 행렬식(determinant)이고, $ \mathbf{I} $는 단위 행렬이다. 이 방정식은 고유다항식(characteristic polynomial)을 정의하며, 이 다항식의 근이 고유값이 된다.

고유값 $ \lambda $를 알고 나면, 고유벡터 $ \mathbf{v} $는 다음 방정식을 통해 찾을 수 있다:

(AλI)v=0(\mathbf{A} - \lambda \mathbf{I}) \mathbf{v} = \mathbf{0}

3.2 대각화 (Diagonalization)

행렬 $ \mathbf{A} $가 대각화 가능한 경우, 즉 $ \mathbf{A} $를 대각 행렬 $ \mathbf{D} $로 변환할 수 있는 경우, 이를 대각화(diagonalization)라고 한다. 대각화는 다음과 같은 형태로 표현된다:

A=PDP1\mathbf{A} = \mathbf{P} \mathbf{D} \mathbf{P}^{-1}

여기서:

  • $ \mathbf{P} $는 $ \mathbf{A} $의 고유벡터를 열 벡터로 하는 행렬이다.

  • $ \mathbf{D} $는 대각 행렬로, 고유값을 대각선에 가진 행렬이다.

  • $ \mathbf{P}^{-1} $는 $ \mathbf{P} $의 역행렬이다.

대각화가 가능한 경우, 행렬 $ \mathbf{A} $의 거듭제곱, 함수, 또는 기타 연산을 간단하게 처리할 수 있다.

3.3 C++ Eigen3를 이용한 고유값과 고유벡터 계산

Eigen3 라이브러리를 사용하여 행렬의 고유값과 고유벡터를 계산하는 방법을 살펴보겠다.

3.3.1 고유값과 고유벡터 계산 예제

이 코드에서는 Eigen::EigenSolver 클래스를 사용하여 행렬 $ \mathbf{A} $의 고유값과 고유벡터를 계산한다. eigenvalues() 함수는 복소수 형태로 고유값을 반환하고, eigenvectors() 함수는 각 고유값에 대한 고유벡터를 반환한다.

3.4 예제: 고유값과 고유벡터

다음은 위 코드에서 사용된 행렬 $ \mathbf{A} $의 고유값과 고유벡터를 직접 계산한 결과이다:

A=(4123)\mathbf{A} = \begin{pmatrix} 4 & 1 \\ 2 & 3 \end{pmatrix}

이 행렬의 고유값은 다음과 같다:

λ1=5,λ2=2\lambda_1 = 5, \quad \lambda_2 = 2

고유벡터는 다음과 같다:

v1=(0.70710.7071),v2=(0.70710.7071)\mathbf{v}_1 = \begin{pmatrix} 0.7071 \\ 0.7071 \end{pmatrix}, \quad \mathbf{v}_2 = \begin{pmatrix} -0.7071 \\ 0.7071 \end{pmatrix}

여기서 고유벡터는 정규화되어 있으므로 길이가 1이다.

3.5 요약

이 장에서는 고유값과 고유벡터의 정의와 계산 방법을 소개하였다. 또한, 대각화를 통해 행렬의 특성을 이해하고 변환할 수 있는 방법을 설명하였다. Eigen3를 사용하여 이러한 계산을 간편하게 수행하는 방법도 살펴보았다. 다음 장에서는 선형 대수의 응용, 특히 시스템의 안정성 분석 및 데이터 분석에 대한 내용을 다루겠다.

Last updated