기저변환(change of basis)과 고윳값 분해(EVD)에 대한 고찰

벡터공간에는 수많은 기저집합들이 있으며 하나의 벡터는 수많은 기저집합에 의해 각기 다르게 정의될 수 있다.
예를 들어 단위벡터를 기저로 하는 기저집합에서 어떤 벡터가 (2, 2)로 표현될 때, 이를 (2, 0)과 (0, 2)를 기저로 하는 기저집합에서 (1, 1)로 표현할 수 있다.
즉, 벡터를 바라보는 방법은 무수하다.

$$ \begin{pmatrix} 2 \\ 2 \end{pmatrix} = 1 \times \begin{pmatrix} 2 \\ 0 \end{pmatrix} + 1 \times \begin{pmatrix} 0 \\ 2 \end{pmatrix} = \begin{pmatrix} 2 & 0 \\ 0 & 2 \end{pmatrix} \begin{pmatrix} 1 \\ 1 \end{pmatrix} $$

1. 예제

기저변환은 어떤 벡터(또는 행렬)를 다른 기저를 사용해 표현하는 것을 말한다.
예를 들어 기저집합 A를 이용해 표현된 벡터를 기저집합 B를 이용해 표현하는 것이 가능하다.
이해하기 쉽게 단위 기저집합 \epsilon과 새로운 기저집합 \beta를 보자.
(표기 편의를 위해 R^2에서 기술한다)

$$ \epsilon = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} $$

$$ \beta= \begin{pmatrix} 1 & 1 \\ 0 & 2 \end{pmatrix} $$

이제 기저집합 \beta을 사용해 표현된 좌표 (3, 2)를 단위 기저집합 \epsilon으로 바꿔보자.

$$
\begin{align*}
\begin{bmatrix} x \end{bmatrix}_{\beta} &= \begin{pmatrix} 3 \\ 2 \end{pmatrix} \\
\begin{bmatrix} x \end{bmatrix}_{\epsilon} &= 3 \times \begin{pmatrix} 1 \\ 0 \end{pmatrix} + 2 \times \begin{pmatrix} 1 \\ 2 \end{pmatrix} = \begin{pmatrix} 5 \\ 4 \end{pmatrix} \\
&= \begin{pmatrix} 1 & 1 \\ 0 & 2 \end{pmatrix} \begin{pmatrix} 3 \\ 2 \end{pmatrix} \\
&= \beta \begin{bmatrix} x \end{bmatrix}_{\beta}
\end{align*}
$$

이처럼 기저집합 \beta을 사용해 표현된 좌표를 단위 기저집합 \epsilon으로 바꾸기 위해선 좌표에 기저집합의 행렬을 곱해주면 된다는 사실을 알게 되었다.
이제 이 예제를 일반화해보자.

2. 기저 변환

위의 예제에서 보았듯 기저집합 B로 표현된 벡터를 기저집합 C를 이용해 표현하기 위해서는 기저집합 B에서 기저집합 C로 변환하는 추이행렬(transition matrix)이 필요하다.
예제를 통해 임의의 기저집합으로 표현된 좌표를 단위 기저집합으로 표현하는 방법을 알게 되었으니 이제 다음과 같이 기저집합 B와 C, 단위 기저집합 \epsilon에 대한 관계를 찾아낼 수 있다.

$$
\begin{align*}
\begin{bmatrix} x \end{bmatrix}_{\epsilon} &= B \begin{bmatrix} x \end{bmatrix}_{B} \\
&= C \begin{bmatrix} x \end{bmatrix}_{C}
\end{align*}
$$

그러므로 이제 좌표 x를 두 기저집합 B, C로 표현했을 때 다음의 관계를 이야기할 수 있으며

$$
\begin{align*}
B \begin{bmatrix} x \end{bmatrix}_{B} &= C \begin{bmatrix} x \end{bmatrix}_{C} \\
\begin{bmatrix} x \end{bmatrix}_{B} &= B^{-1} C \begin{bmatrix} x \end{bmatrix}_{C} \\
\begin{bmatrix} x \end{bmatrix}_{C} &= C^{-1} B \begin{bmatrix} x \end{bmatrix}_{B}
\end{align*}
$$

이 때의 추이행렬은 다음과 같다.

$$
\begin{align*}
P_{B \leftarrow C} &= P^{-1}_{C \leftarrow B} = B^{-1} C \\
P_{C \leftarrow B} &= P^{-1}_{B \leftarrow C} = C^{-1} B \\
\end{align*}
$$

화살표가 왼쪽 방향인 것에 주의하자.
굳이 이 notation을 사용할 필요는 없으나 이 notation이 일반적으로 사용되고 있는 듯 하니 필자도 이를 따르기로 하였다.

해석은 단순하다.
기저집합 B로 표현된 좌표를 기저집합 C로 표현하고싶다면
1) 해당 좌표에 B를 곱해 단위 기저집합 \epsilon으로 표현한 후
2) 여기에 다시 C의 역행렬을 곱해 기저집합 C로 표현하면 된다.

추이행렬을 가우스 조던 소거법(Gauss Jordan Elimination)으로 구하는 방법도 있다.
다음 주어진 식에 대해

$$ B \begin{bmatrix} x \end{bmatrix}_{B} = C \begin{bmatrix} x \end{bmatrix}_{C} $$

다음과 같이 확장 행렬(Augmented Matrix)을 만들어 추이행렬을 계산할 수 있다.

$$ \begin{bmatrix} B \mid C \end{bmatrix} = \begin{bmatrix} E \mid P_{B \leftarrow C} \end{bmatrix} = \begin{bmatrix} P_{C \leftarrow B} \mid I \end{bmatrix} $$

좌표 표현에 사용되는 기저집합을 B에서 C로 바꾸는 것이기에 P_{C \leftarrow B} notation을 주로 사용한다.
이 경우 P_{B \leftarrow C}P^{-1}_{C \leftarrow B}가 됨이 자명하다.

한편, 많은 강의자료들에서는 가우스 조던 소거법을 적용할 때 \begin{bmatrix} C \mid B \end{bmatrix}P^{-1}_{C \leftarrow B} notation을 사용한다.
추이행렬의 notation을 정의할 때 확장행렬의 기저집합 순서를 고려하여 화살표 방향을 정한게 아닐까 싶다.

또한 필자는 많은 강의자료들에서 사용되고 있는 P^{-1} notation이 마음에 들지 않는다.
역행렬을 사용하는 순간 그 역행렬이 무엇에 대한 역행렬인지를 파악하기 어렵기 때문이다.
그래서 필자는 subscripts를 사용하는 아래의 notation을 선호한다.

$$
\begin{align*}
\begin{bmatrix} x \end{bmatrix}_{B} &= B^{-1} C \begin{bmatrix} x \end{bmatrix}_{C} = P_{B \leftarrow C} \begin{bmatrix} x \end{bmatrix}_{C} \\
\begin{bmatrix} x \end{bmatrix}_{C} &= C^{-1} B \begin{bmatrix} x \end{bmatrix}_{B} = P_{C \leftarrow B} \begin{bmatrix} x \end{bmatrix}_{B}
\end{align*}
$$

3. 행렬의 재해석

이제 임의의 행렬에 대한 다음과 같은 곱셈을 재해석해보자.

$$ A\vec{x} = \vec{b} $$

행렬 A를 행렬 A의 기저집합 \alpha에서 단위 기저집합 \epsilon으로 변환하는 추이행렬이라 생각해보자.
그 결과 벡터 x는 기저집합 \alpha로 표현된 좌표이며 벡터 b는 단위 기저집합 \epsilon으로 표현된 좌표가 된다. (물론 두 좌표는 동일한 벡터 t를 가르킨다)

그러므로 다음의 관계를 생각할 수 있으며

$$ A \begin{bmatrix} t \end{bmatrix}_{\alpha} = I_n \begin{bmatrix} t \end{bmatrix}_{\epsilon} $$

행렬 A는 좌표 t를 해석하는 방법을 행렬 A의 기저집합 \alpha에서 단위 기저집합 \epsilon으로 바꿔준다는 것을 알 수 있다.

물론 행렬 A는 벡터 x를 행렬 A의 열공간으로 변환하는 것으로 생각할 수 있었다. [블로그]
이 부분이 행렬 A를 추이행렬로서 해석하는 것과 모순이 생길 것 같지만 사실 둘은 동일한 의미이다.
추이행렬의 도출 과정에서 행렬 A의 열벡터를 이용했던 걸 생각해보면 자명한 사실이다.

반면 행렬 A의 역행렬을 곱하는 건 단위 기저집합 \epsilon에서 행렬 A의 기저집합 \alpha으로 변환하는 행위라 볼 수 있을 것이다.

4. 고윳값 분해(EVD)의 재해석

이제 고윳값 분해를 재해석할 수 있다.
고윳값 분해는 대각화 가능한 행렬 A를 행렬 A의 고윳벡터 행렬 V와 고윳값 행렬 \Lambda을 통해 다음과 같이 표현하는 방법이다.

$$ A = V \Lambda V^{-1} $$

다시 말해, 대각화 가능한 행렬 A는 세 가지의 추이행렬의 결합으로 볼 수 있다.

  1. V^{-1}는 단위 기저집합 \epsilon에서 행렬 V의 기저집합 \beta로의 기저변환이다.
    물론 행렬 V의 기저집합은 행렬 A의 고유벡터 집합이므로 \beta는 행렬 A의 고유벡터 집합을 의미한다.
  2. \Lambda\Lambda의 기저집합 \lambda로부터 단위 기저집합 \epsilon로의 기저변환이다. 물론 기저집합 \lambda는 행렬 \Lambda의 각 열벡터를 의미한다.
  3. V는 행렬 V의 기저집합 \beta에서 단위 기저집합 \epsilon으로의 기저변환이다.

그 결과 고윳값 분해는 다음과 같이 표현되며

$$ \begin{bmatrix} A \end{bmatrix}_{\epsilon} = \begin{bmatrix} I \end{bmatrix}^{\beta}_{\epsilon} \begin{bmatrix} A \end{bmatrix}_{\beta} \begin{bmatrix} I \end{bmatrix}^{\epsilon}_{\beta} $$

이는 주어진 벡터를 단위 기저공간에서 고유벡터 공간으로 변환(V^{-1})한 후 스케일링(\Lambda)하고 이를 다시 단위 기저공간으로 돌려놓는 것(V)을 의미하게 된다.

물론 3절에서와 마찬가지로 행렬 A는 주어진 벡터를 행렬 A의 열공간으로 변환하는 것이기에 단위 기저공간으로 돌려놓는 것과 모순이라 생각할지 모른다.
하지만 열공간으로 변환한다는 것은 곧 열벡터를 이용한 선형결합으로 나타낸다는 것이며 그 결과는 단위 기저집합을 기준으로 표현된다는 것을 이 글 전체에서 확인하였다.

아래는 참고하면 좋은 글들이다.

3b1b – https://youtu.be/P2LTAUO1TdA?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab
Coordinates and Change of Basis – https://faculty.etsu.edu/joynerm/Coordinates%20and%20Change%20of%20Basis.pdf
Math 217: Summary of Change of Basis and All That… – https://dept.math.lsa.umich.edu/~kesmith/CoordinateChange.pdf

댓글 남기기