고유값 그리고 고유벡터

김록기·2023년 7월 27일
0

기초선형대수

목록 보기
7/13

고유값의 정의

선형변환 T:VVT:V\to V에 대해서, 다음을 만족하는 벡터 v0\bold v \ne 0를 고유벡터라 부릅니다.
T(v)=λvT(\bold v) = \lambda \bold v 그리고, λ\lambda를 고유값이라고 부릅니다.

행렬의 고유값

선형변환 TTVV의 기저β\beta 를 통해서 표현한 것을 [T]β=A[T]_\beta=A 그리고 고유벡터 v\bold v를 열벡터로 표현 한것을 [v]β[\bold v]_\beta라고 하면,

[T]β[v]β=λ[v]β[T]_\beta [\bold v]_\beta=\lambda [\bold v]_\beta입니다. 이때, 열벡터 [v]β[\bold v]_\beta를 행렬 A=[T]βA=[T]_\beta의 고유벡터, λ\lambdaAA의 고유값이라 부릅니다.

고유값 그리고 고유벡터의 중요성

고유값 그리고 고유벡터가 (선형대수학 뿐 만 아니라) STEM에서 가지는 의미 및 위엄은 어마어마합니다. 근데, 솔직히 말해서 고유값 그리고 고유벡터의 정의는 정말 쉽거든요. 그러니, 이게 왜 대단한거냐 라는 질문도 당연히 자연스럽다고 생각합니다.

저의 나름대로 생각한, 이 질문에 대한 대답은 Jordan Decomposition(대각화를 일반화한 개념) 다음과 같습니다. 선형변환의 행렬표현이 (기저에 따라서) 달라지기 때문에, 기저에 무관한 표준행렬을 정하고 싶습니다. 그리고 그것은 Jordan normal form (up to reordering of blocks)으로 하는 것이 자연스럽습니다. Jordan normal form이 선형변환의 고유값들로 구성된다는 사실과, (일반화된) 고유벡터에 대한 모든 정보를 담고 있다는 사실을 통해서, 우리는 고유값과 고유벡터가 선형변환의 중요한 성질임을 느낄 수 있습니다.

칸아카데미에는, 매우 잘 설명된 수학내용들이 많이 있습니다. 그리고, 질문에 대한 답들도 매우 친절합니다. 고유값 그리고 고유벡터에 대한 쉬운 설명을 (남에게 할 생각은 없어도, 스스로를 위해서) 고민하던 중, 상당히 제 마음에 와닿는 설명이 있었습니다.

여기에 대한 답변이 정말 마음에 들었습니다. 왜냐하면, 행렬의 대각화에 대해서 아무것도 모르는 사람에게도 읽히는 글이거든요. 그러면서, 동시에 이건 좀 과장인데 싶은 구석도 없습니다.

Q: So if an eigenvector is a vector transformed from an original vector and an eigenvalue is the scaler multiplier, why do we give them those fancy names anyway?
A :Think of a matrix as if it were one, big, complex number. One of the rules of integers says the prime factorization of any integer is unique... if two numbers have the same prime factorization then they must be the same number.
It becomes useful (later) to be able to say if two matrices are the same, but it can be very difficult (because the matrices are huge, their values are complex or worse... a variety of causes). Eigenvalues are one part of a process that leads (among other places) to a process analogous to prime factorization of a matrix, turning it into a product of other matrices that each have a set of well-defined properties. Those matrices are tolerably easy to produce, and if two matrices can be 'factored' into the same sets of matrix products, then they are 'equal'. - DeWain Molter

또한 고유값과 고유벡터의 중요성은 수학적인 개념(대각화)가 아닌 현실 세계에서의 응용과 효용성에서도 찾을 수 있습니다.

  1. 데이터 분석과 패턴 인식
  2. 양자역학
  3. 컴퓨터 그래픽스와 영상처리
  4. 정보보호

특성(Characteristic)

수학에서, 특성이란 말은 분류와 관련이 매우 깊습니다. 어떤 object를 분류하면, 그 분류를 설명해주는 (동일한 분류의 object들이 공유하게 되는) 성질이 있습니다. 예를들어서, 정수를 짝수와 홀수로 분류한 경우, 정수를 2로 나눈 나머지가 그 분류의 특성이 되겠지요. 선형대수학에서는, (나머지 대신) 행렬식이 여기 해당합니다. 조금 더, 자세한 이야기를 해봅시다.

고유값은 특성입니다

고유값은 행렬(또는 선형변환)의 가장 중요한 특성 중 하나입니다. 그 이유는 고유값이 선형변환의 어떤 방향에 대해서 스케일링 효과를 나타내기 때문입니다.

즉, 선형변환 TT에 대해 어떤 벡터 v\bold vTv=λvT \bold v = \lambda v를 만족하면, 이 벡터는 변환에 의해 스케일만 변경되고 방향은 그대로 유지됩니다. 여기서 λ\lambda는 고유값이며, v\bold v는 고유벡터입니다.

특성다항식 (Characteristic Polynomial)

선형변환 TT의 행렬 표현을 AA라고 할 때, TT의 특성다항식은 행렬 AA에 대한 함수로서 다음과 같이 정의됩니다:

pA(λ)=det(λIA)p_A(\lambda) = \text{det}( \lambda I-A)

여기서 λ\lambda는 스칼라 변수이며, II는 단위행렬입니다. 이 특성다항식은 행렬 AA의 고유값들을 결정하는 역할을 합니다.

특성다항식의 의미

특성다항식의 근들은 행렬 AA의 고유값들과 일치합니다. 즉, pA(λ)=0p_A(\lambda) = 0의 모든 해는 AA의 고유값들입니다. 이러한 관계는 고유값의 정의와 행렬식의 성질로부터 직접적으로 유도됩니다.

고유값의 계산

특성다항식을 구하고, 이 다항식이 0이 되게 하는 λ\lambda 값을 찾으면 그 값들이 행렬 AA의 고유값들이 됩니다.

예를 들어, 행렬

A=[abcd]A = \begin{bmatrix} a & b \\ c & d \\ \end{bmatrix}

에 대한 특성다항식은

pA(λ)=det([λabcλd])=λ2(a+d)λ+adbcp_A(\lambda) = \text{det}\left( \begin{bmatrix} \lambda -a& -b \\ -c & \lambda -d \\ \end{bmatrix} \right) = \lambda^2-(a+d)\lambda+ad-bc

이다. 이 다항식이 0이 되는 λ\lambda의 값들이 AA의 고유값들입니다.

닮은 행렬의 특성

닮은 행렬은 기본적으로 같은 선형변환을 다른 기저에서의 표현으로 볼 수 있습니다. 따라서 이러한 행렬들은 그 변환의 기본적인 특성, 즉 고유값들을 공유하게 됩니다.

닮은 행렬 (Similar Matrices)는 선형대수학에서 굉장히 중요한 개념입니다. 두 행렬 AABB가 닮은 행렬이라는 것은, 어떤 가역행렬 PP가 존재하여 B=P1APB = P^{-1}AP라는 관계를 가질 때를 의미합니다.

닮은 행렬은 여러 가지 중요한 특성을 공유합니다:

  1. 두 행렬의 행렬식, 행렬의 대각합 (trace)이 같습니다.
  2. 두 행렬은 같은 특성다항식을 가집니다.
  3. 따라서, 같은 고유값들을 가집니다. (대수적중복도의 일치)

사실, 두 행렬이 닮으면, 기하적 중복도도 일치합니다. (그러나, 같은 특성다항식을 가진다는 것으로는 설명할 수 없죠)

같은 특성다항식을 가진다는것은 그 행렬이 가지고 있는 모든 고유값들의 목록과 각 고유값의 중복 횟수(대수적 중복도)가 동일하다는 것을 의미합니다.

구체적으로, 대수적 중복도는 특정 고유값이 특성 다항식의 근으로서 몇 번 나타나는지를 나타냅니다. 이것은 해당 고유값에 대응하는 고유벡터의 최대 개수(즉, 기하적 중복도)와 연관이 있습니다. 즉, 대수적 중복도가 2인 고유값은, 최대 두 개의 선형 독립적인 고유벡터를 가질 수 있습니다.

이러한 대수적 중복도는 행렬의 특성다항식을 통해 알 수 있습니다. 특성다항식의 각 근의 중복 횟수가 고유값의 대수적 중복도와 일치합니다.

결론적으로, 두 행렬이 같은 고유값을 가진다는 것은, 그들이 가진 모든 고유값과 각 고유값의 대수적 중복도가 동일하다는 것을 의미합니다.

행렬의 대각화

대각화는 행렬이 나타내고 있는 선형변환의 특성을 드러내는 방법입니다.

예시

선형변환 T:R2R2T:\mathbb{R}^2 \to \mathbb{R}^2가 다음을 만족한다고 합시다.

T(v1)=λ1v1T(\bold v_1) = \lambda_1 \bold v_1 그리고 T(v2)=λ2v2T(\bold v_2) = \lambda_2 \bold v_2 단, 모든 스칼라 cc에 대해서, v1cv2\bold v_1 \ne c \cdot \bold v_2

더 구체적으로, :
v1=[10]\bold v_1 = \begin{bmatrix} 1 \\ 0 \end{bmatrix} 그리고 v2=[21]\bold v_2 = \begin{bmatrix} 2 \\ 1 \end{bmatrix}이고 λ1=3\lambda_1 = 3그리고 λ2=4\lambda_2 = 4이라 합시다.

TT를 행렬로 표현해봅시다.

우리가 알고 있는 것:

1) T(v1)=λ1v1T(\bold v_1) = \lambda_1 \bold v_1
2) T(v2)=λ2v2T(\bold v_2) = \lambda_2 \bold v_2

이를 표준기저ϵ={[10], [01]}\epsilon=\left\{\begin{bmatrix}1\\0\end{bmatrix}, \ \begin{bmatrix}0\\1\end{bmatrix}\right\}를 이용해서, 행렬로 표현하면:

1) [T]ϵv1=λ1v1[T]_\epsilon \bold v_1 = \lambda_1 \bold v_1
2) [T]ϵv2=λ2v2[T]_\epsilon \bold v_2 = \lambda_2 \bold v_2

여기서, 질문: 꼭 표준기저로 행렬을 표현해야 할까요?

[T]ϵ=A[T]_\epsilon=A라 하고 주어진 고유벡터와 고유값을 사용하여 위 식을 풀어보면:

1) A[10]=3[10]A \begin{bmatrix} 1 \\ 0 \end{bmatrix} = 3 \begin{bmatrix} 1 \\ 0 \end{bmatrix}

2) A[21]=4[21]A \begin{bmatrix} 2 \\ 1 \end{bmatrix} = 4 \begin{bmatrix} 2 \\ 1 \end{bmatrix}

첫 번째 식에서:
A[10]=[30]A \begin{bmatrix} 1 \\ 0 \end{bmatrix} = \begin{bmatrix} 3 \\ 0 \end{bmatrix}

두 번째 식에서:
A[21]=[84]A \begin{bmatrix} 2 \\ 1 \end{bmatrix} = \begin{bmatrix} 8 \\ 4 \end{bmatrix}

이 두 결과를 조합하면, 선형변환 ( T )를 나타내는 행렬 ( A )를 다음과 같이 찾을 수 있습니다:

A=[3204]A = \begin{bmatrix} 3 & 2 \\ 0 & 4 \end{bmatrix}

따라서, 주어진 선형변환 TT 를 표현하는 행렬은
[T]ϵ=[3204][T]_\epsilon= \begin{bmatrix} 3 & 2 \\ 0 & 4 \end{bmatrix} 입니다.

TT를 행렬로 표현해봅시다. (대각행렬)

1) T(v1)=λ1v1T(\bold v_1) = \lambda_1 \bold v_1
2) T(v2)=λ2v2T(\bold v_2) = \lambda_2 \bold v_2

이를 v1,v2\bold v_1,\bold v_2로 구성된 (순서)기저β={[10], [21]}\beta=\left\{\begin{bmatrix}1\\0\end{bmatrix}, \ \begin{bmatrix}2\\1\end{bmatrix}\right\}를 이용해서, 행렬로 표현하면:

1) [T]β[v1]β=λ1[v1]β[T]_\beta [\bold v_1]_\beta = \lambda_1 [\bold v_1]_\beta

2) [T]β[v2]β=λ2[v2]β[T]_\beta [\bold v_2]_\beta = \lambda_2 [\bold v_2]_\beta

[v1]β=[10],[v2]β=[01][\bold v_1]_\beta=\begin{bmatrix}1\\0\end{bmatrix} ,[\bold v_2]_\beta=\begin{bmatrix}0\\1\end{bmatrix} 입니다. 왜 그런지, 이해하셨나요?

이제 선형변환 TT를 기저 β\beta에 대한 행렬로 표현하겠습니다.

1) [T]β[v1]β=λ1[v1]β[T]_\beta [\bold v_1]_\beta = \lambda_1 [\bold v_1]_\beta로부터,

[T]β[10]=3[10]=[30][T]_\beta \begin{bmatrix}1\\0\end{bmatrix} = 3 \begin{bmatrix}1\\0\end{bmatrix} = \begin{bmatrix}3\\0\end{bmatrix}

2) [T]β[v2]β=λ2[v2]β[T]_\beta [\bold v_2]_\beta = \lambda_2 [\bold v_2]_\beta로부터,

[T]β[01]=4[01]=[04][T]_\beta \begin{bmatrix}0\\1\end{bmatrix} = 4 \begin{bmatrix}0\\1\end{bmatrix} = \begin{bmatrix}0\\4\end{bmatrix}

따라서, TT고유벡터로 구성한 기저에 대한 행렬로 표현하면:
[T]β=[3004][T]_\beta = \begin{bmatrix}3 & 0\\ 0 & 4\end{bmatrix}

대각행렬이며, 고유값들이 주 대각선에 위치하게 됩니다.

대각화와 고유값의 관련성

행렬 대각화는 행렬을 간소화된 형태로 표현하는 것입니다. 대각화된 행렬은 주 대각선에만 값을 가지며 다른 원소들은 0입니다. 이 주 대각선에 있는 값들이 바로 고유값들입니다.

왜 여기서 고유값이 나오는 것일까요?

이제 대각화의 과정을 생각해봅시다. 행렬 AA를 대각화한다는 것은 다음과 같은 수식을 만족하는 대각행렬 DD와 역행렬이 존재하는 행렬 PP를 찾는 것입니다:

A=PDP1A = P D P^{-1}

여기서 행렬 PP의 열벡터들은 AA의 고유벡터들이며, 대각행렬 DD의 주 대각선 원소들은 AA의 고유값들입니다.

이러한 대각화는 AA의 선형변환을 두 부분으로 분해한다고 볼 수 있습니다:
1. P1P^{-1}에 의한 좌표 변환 ϵβ\epsilon \to \beta
2. DD에 의한 스케일링 (선형변환 TT를 고유벡터 기저 β\beta로 표현 하면, 대각행렬이 나오므로, DD는 대각행렬)
3. PP에 의한 좌표 변환 βϵ\beta \to \epsilon

결국, 대각화는 행렬 AA의 선형변환을 "스케일링만 발생하는 변환"과 "좌표 변환"으로 분해하는 것입니다. 스케일링은 고유값에 의해 결정되며, 좌표 변환은 고유벡터에 의해 결정됩니다.

이런 관점에서, 대각화는 행렬의 고유값분해라고 불리며, 대각화와 고유값/고유벡터는 밀접하게 연관되어 있습니다.


📔 고유값과 고유벡터의 세계로의 여행

고유값 고유벡터에 관련한 공부주제를 소개합니다. 대부분 기초선형대수시리즈에서 다루지 않습니다.

🧮 기본적인 개념과 방법

여기서 말하는 행렬은 정방(n×nn\times n) 행렬입니다.

  1. 고유값 분해 (Eigenvalue Decomposition):

    • 행렬을 (고유벡터들로 부터 얻은)좌표변환행렬와 고유값의 대각행렬의 곱으로 분해하는 방법.
  2. 최소 다항식과 케일리-해밀턴 정리:

    • 행렬을 그 특성 다항식에 대입하면 0이됩니다.
  3. 행렬의 삼각화 (Schur decomposition):

    • (대각화가 할 수 없는) 행렬을 고유값을 대각선 성분으로 가지는 상삼각행렬로 변환
  4. 대칭행렬과 직교대각화:

    • 실수 대칭행렬은 항상 직교행렬로 대각화 가능한 성질.
  5. 조르당 표준형:

    • (대각화가 할 수 없는) 행렬을 대각화를 일반화된 형태로 변환
  6. 행렬 함수:

    • 예: eAe^A. 고유값을 통해 행렬의 함수를 계산.
  7. 특이값 분해 (SVD):

    • 행렬의 또 다른 고유값 분해 방법. 모든 행렬(정방행렬이 아니어도)에 적용가능. 데이터 분석 및 기계 학습 분야에서 핵심적.
  8. 유사 역행렬 (pseudo inverse):
    -역행렬을 일반화 한 개념. 회귀 분석 공부에 핵심적.

🖥️ 고유값 계산의 방법

  1. QR algorithm:

    • 행렬의 삼각화 및 고유값 계산을 위한 알고리즘.
  2. Gerschgorin 원의 정리:

    • 각 행렬 원소의 위치를 사용하여 고유값의 근사적 범위를 제공.
  3. Power Iteration:

    • 가장 큰 고유값을 찾는데 사용되는 방법.

🌐 실세계 응용

  • 페이지랭크 알고리즘:

    • Google 검색의 핵심 알고리즘.
  • 주성분 분석 (PCA):

    • 다차원 데이터의 차원 축소와 시각화.
  • 고유 얼굴 (Eigenface):

    • 얼굴 인식 기술의 기초.
  • 선형 시스템의 안정성 분석:

    • 고유값을 사용하여 선형 시스템의 안정성 평가.
profile
문제풀이를 즐김

0개의 댓글