열렬히.뛰기

10. 피봇연산과 대각화

수학 & 통계 > 최적화이론 > 수업 : 통수 & 선계 > 피봇연산과 대각화

유사역행렬

  • 역행렬이 구해지지 않을 경우를 생각해 보자.
A = \left[ \begin{array}{rr|r} 1 & 0 & 2 \\ 2 & 0 & 5 \end{array} \right] = \left[ \begin{array}{r|r} A_{1} & A_{2} \end{array} \right] \\[20pt] A_{1} = \begin{Vmatrix} 1 & 0\\ 2 & 0 \end{Vmatrix} = 0.
  • 위에서 선보였던 행렬 쪼개기로도 역행렬이 안나온다.
  • 그렇다면, 행렬 M을 곱해보자.
AM = A_{*} = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix} \begin{pmatrix} 1 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \end{pmatrix} = \left[ \begin{array}{rr|r} 1 & 2 & 0 \\ 2 & 5 & 0 \end{array} \right]\\[20pt] A_{*}C = I = \begin{pmatrix} A_{1} & A_{2} \end{pmatrix} \begin{pmatrix} A_{1}^{-1} \\[5pt] \mathbb{0} \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}
AMC = A(MC) = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix} \begin{pmatrix} 5 & 2 \\ 0 & 0 \\ -2 & 1 \end{pmatrix}

AMC = I 이므로, A^{-1} = MC 라고 할 수 있다.

여기서 행렬 M은 행의 순서를 바꾸는 역할을 하고 있다.

(행렬 M은 열연산을 수행하고 있다고 할 수 있다.)

즉, 행과 열의 순서를 바꾸어서 우/좌역행렬을 만들어낼 수 있다.

따라서 우/좌역행렬은 1가지만 되는 것이 아니다.

열연산이란?

  • 행연산과 반대로 행렬의 뒤에 피봇연산을 진행하는 것.
  • 행연산과는 전치관계라고 할 수 있다.

특정 열에 k배 하기

\begin{bmatrix} 1 & 0 & 0 \\ 0 & k & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix} = \begin{bmatrix} 1 & 2 & 3 \\ 4k & 5k & 6k \\ 7 & 8 & 9 \end{bmatrix}

열 바꾸기

\begin{bmatrix} 0 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \end{bmatrix} \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix} = \begin{bmatrix} 7 & 8 & 9 \\ 4 & 5 & 6 \\ 1 & 2 & 3 \end{bmatrix}

특정 열에 덧셈/상수배

\begin{bmatrix} 1 & 0 & -3 \\ 0 & 1 & 0\\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix} = \begin{bmatrix} -20 & -22 & -24 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix}

대각화와 랭크

이러한 열연산을 통해 행렬을 쪼갤 수 있다.

A\; = \begin{bmatrix} 1 & 2 & 3 \\ 2 & 1 & 2 \\ 3 & 1 & 0 \end{bmatrix}

A_{1} = M_{1}A\; = \begin{bmatrix} 1&0&0 \\ 0&1&0 \\ 0&0&1 \end{bmatrix} \begin{bmatrix} 1 & 2 & 3 \\ 2 & 1 & 2 \\ 3 & 1 & 0 \end{bmatrix} = \begin{bmatrix} 1 & 2 & 3 \\ 0 & 1 & 2 \\ 0 & -3 & -6 \end{bmatrix}

A_{2} = M_{2}A_{1} = \begin{bmatrix} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 3 & 1 \end{bmatrix} \begin{bmatrix} 1 & 2 & 3 \\ 0 & 1 & 2 \\ 0 & -3 & -6 \end{bmatrix} = \begin{bmatrix} 1 & 2 & 3 \\ 0 & 1 & 2 \\ 0 & 0 & 0 \end{bmatrix}

  • 역삼각행렬 완성; A2 = M2 \cdot M1 \cdot A

A_{3} = A_{2}C_{1} = \begin{bmatrix} 1 & 2 & 3 \\ 0 & 1 & 2 \\ 0 & 0 & 0 \end{bmatrix} \begin{bmatrix} 1 & -2 & -3 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 2 \\ 0 & 0 & 0 \end{bmatrix}

A_{4} = A_{3}C_{2} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 2 \\ 0 & 0 & 0 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & -2 \\ 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{bmatrix}

  • 대각행렬 완성; A4 = A2 \cdot C1 \cdot C2

이를 정리해보면 다음과 같다. A4 = M2 \cdot M1 \cdot A \cdot C1 \cdot C2

\begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{bmatrix} = \begin{bmatrix} 1&0&0 \\ 0&1&0 \\ 0&0&1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 3 & 1 \end{bmatrix} \begin{bmatrix} 1 & 2 & 3 \\ 2 & 1 & 2 \\ 3 & 1 & 0 \end{bmatrix} \begin{bmatrix} 1 & -2 & -3 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & -2 \\ 0 & 0 & 1 \end{bmatrix}

행렬을 이러한 과정으로 쪼개는 것을 대각화라고 한다.

대각화 된 식을 다시 정리해 보면 다음과 같다.

\begin{align*} A4 &= M2 \cdot M1 \cdot A \cdot C1 \cdot C2 \\ A4 &= M \cdot A \cdot C = D \\[10pt] A &= M^{-1} \cdot D \cdot C^{-1} \\ A^{k} &= M^{-1} \cdot D^{K} \cdot C^{-1} \end{align*}

행렬을 쪼갬으로써 이 행렬의 거듭제곱을 편하게 계산할 수 있다.

또한, A_{4} = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{pmatrix}이므로, 이때 rank(A) = 2이다.