ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [제대로된 선형대수] Week 4-03 Diagonalization
    Notes/Linear Algebra 2023. 5. 12. 14:18

    영상 링크: https://www.youtube.com/watch?v=EQOEPi4B26Y

    해당 글은 위 영상 링크의 내용을 토대로 작성한 것입니다.
    좋은 컨텐츠를 제작하고 공유해주신 훈러닝님 감사합니다.

     

    1. Change of Basis

    $S = \left \{ e_1, \cdots, e_n \right \}$

    $B = \left \{ b_1, \cdots, b_n \right \}$ (another basis)

     

    $x \in \mathbb{R}^n$

    $x = e_1x_1 + \cdots + e_nx_n$

       $= b_1\beta_1 + \cdots + b_n\beta_n$

    $\rightarrow x = \begin{bmatrix} | & & | \\ e_1 & \cdots & e_n \\ | & & | \end{bmatrix} \begin{bmatrix} x_1 \\ \vdots \\ x_n \end{bmatrix}$

           $= \begin{bmatrix} | & & | \\ b_1 & \cdots & b_n \\ | & & | \end{bmatrix} \begin{bmatrix} \beta_1 \\ \vdots \\ \beta_n \end{bmatrix}$

     

    (WTF) 어떻게 $\begin{bmatrix} x_1 \\ \vdots \\ x_n \end{bmatrix} \rightarrow \begin{bmatrix} \beta_1 \\ \vdots \\ \beta_n \end{bmatrix}$ $([x]_S \rightarrow [x]_B)$ 로 변환시킬 수 있을까?

     

    위의 $x$ 에 관한 등식은 아래와 같이 표현 가능하다.

    $I[x]_S = B[x]_B$ ($S$ 는 standard basis 로서 identity matrix $I$ 와 같다.)

    $[x]_B = B^{-1}[x]_S$

    $\Rightarrow [I]_{S, B} = B^{-1}$

     

    * 왜 $[I]_{S, B} = B^{-1} \; ?$

    $[T(x)]_{\beta} = [T]_{\alpha, \beta} [x]_{\alpha} \Rightarrow [I(x)]_B = [I]_{S, B}[x]_S$

    $\Rightarrow [x]_B = [I]_{S, B}[x]_S \rightleftharpoons [x]_B = B^{-1}[x]_S$

    $\Rightarrow [I]_{S, B} = B^{-1}$

    * $[I]_{S, B}$: vector $x$ 의 basis $S$ 를 another basis $B$ 로 변환시켜주는 행렬

     

    $\therefore$ 해당 문제는 $[I]_{S, B}$ 를 찾는 문제에 대응하고 이는 $B^{-1}$ 로 구할 수 있다.

     

    $X = sp\left \{ x_1, \cdots, x_n \right \}$

    $v = \sum_{j=1}^{n} \beta_j x_j$

    $\rightarrow [v]_X = \left \{ \beta_1 \cdots \beta_n \right \}$

    $[T(v)]_X = [T]_{X, X} [v]_X$

               $= \begin{bmatrix} [T(x_1)]_X & \cdots & [T(x_n)]_X \end{bmatrix} [v]_X$

     

    - 이 때, $\left \{ x_1, \cdots, x_n \right \}$ 을 eigen vectors 라 가정.

    - 고로 모든 $n$ 개의 eigen vectors 가 lin. indep 하여 대각화를 나타낼 수 있다.

     

         $[T(x_1)]_X \rightarrow [\lambda_1 x_1]_X$

                      $\vdots$

         $[T(x_n)]_X \rightarrow [\lambda_n x_n]_X$

    $\Rightarrow \begin{bmatrix} [T(x_1)]_X & \cdots & [T(x_n)]_X \end{bmatrix} \rightarrow \begin{bmatrix} \begin{bmatrix} \lambda_1 \\ 0 \\ \vdots \\ 0 \end{bmatrix} & \begin{bmatrix} 0 \\ \lambda_2 \\ \vdots \\ 0 \end{bmatrix} & \begin{bmatrix} 0 \\ 0 \\ \vdots \\ \lambda_n \end{bmatrix} \end{bmatrix} = D$

    $\therefore D = [T]_{X, X}$

     

     

    2. Coordinate vectors 의 linear transformation 을 대각화로 나타냈을 때

    1. $[T(x)]_{S} = [T]_{S, S}[x]_{S}$

        그런데 $T(x) = Ax$ 일 때, $A = [T]_{S, S}$

    2. 앞서 $x$ 의 basis 를 $S$ 에서 $B$ 로 바꿀 때, $[x]_B = B^{-1}[x]_S$ 였음.

        그리고 $B^{-1} = [I]_{S, B}$ 였음. 이 때, another basis 를 $B$ 가 아닌 $X$ 이면 $X^{-1} = [I]_{S, X}$.

    3. 또, $X^{-1} = [I]_{S, X}$ 의 역수일 때, $X = [I]_{X, S}$ 이다.

    4. 결국, 대각화 $A = XDX^{-1}$ 는 $[T]_{S, S} = [I]_{X, S} D [I]_{S, X}$ 로 쓸 수 있다.

       (*계산 순서: Change of Basis → Transformation → Change of Basis)

    * 대각화는 linear transformation 할 때, 도메인 벡터스페이스의 basis 가 모두 eigen vectors 일 때 가능하며, 벡터의 coordinates 도 linear transformation 이 가능한데 마찬가지로 위 조건을 만족할 때, 대각화로 나타낼 수 있다.

     

    해석:

    (1) $X^{-1} (= [I]_{S, X}):$ Basis $S$ 위의 벡터를 basis $X$ 위로 옮겨주는 행렬

    (2) $[I]_{X, S} D [I]_{S, X} v:$ 벡터 $v$ 를 기존 basis $S$ 에서 basis $X$ 위로 옮기고, $T: X \rightarrow X$ 에 의한 변환(by $D$)을 한 다음에 다시 기존 basis $S$ 위로 옮긴다.

    (3) $[T]_{S, S} v:$ Basis $S$ 위의 벡터 $v$ 를 $T: S \rightarrow S$ 로부터 변환(위치 이동)시킨다.

     

     

    * 대각화란?

    우리가 좌표평면을 확장/수축할 때 필요한 정보는 어떤 축(eigen vector)을 얼만큼 늘리고 줄일지 양(eigen value)만 있으면 된다. 이 때, 어떤 축을 늘리고 줄일 정도를 행렬 안에 모두 담아 표현한 것이 대각행렬(대각화)인 것이다.

     

    * 대각화의 장점

    매우 큰 선형 변환 행렬이라도 어느 축(eigen vector)에서 어느 정도(eigen value)만큼 팽창/수축하는지를 알 수 있다. 게다가 팽창/수축을 잘 안 하는 축(eigen vectors)를 따로 제외시켜 행렬의 차원을 축소시킬 수도 있다.

     

     

    그런데 문제는 $A = XDX^{-1}$ 에서 역행렬 $X^{-1}$ 구하는데 비용이 너무 많이 든다는 점이다.

    하지만 또 역행렬 없이 $A = UDU^{\top}$ 로 쓸 수 있는 방법이 있다.

     

    어떻게?

    $X$ (eigen vectors) 가 orthonormal 하면

    ${X^{\top}X}_{ij} = \left \{ \begin{matrix} 1 (i=j) \\ 0 (i \neq j) \end{matrix} \right .$

    $\Rightarrow X^{\top}X = I \rightleftharpoons$ $X$ 와 $X^{\top}$ 는 역행렬 관계

    따라서 $X$ 가 orthonormal 하면 역행렬 대신 Transpose 를 사용할 수 있다.

    Transpose 계산은 시간이 많이 단축된다.

     

    언제 $X$ 가 orthonormal 해질까? $A$ 가 symmetric 할 때!

    그런데 symmetric 한 성질은 아무 matrix $M$ 일 때, $M^{\top}M$ 에서 항상 찾아볼 수 있다.

     

    * 대각화 $A=XDX^{-1}$ 는 좌표평면의 선형 변환을 쉽게 이해할 수 있는 장점이 있다. 그런데 $X^{-1}$ 를 구하는데 비용이 많이 드는 단점이 있다. 하지만 $X$ 가 orthogonal (Gram-Schmidt Process 에 의해 얼마든지 orthonormal 로 바꿀 수 있음) 할 때, $X^{-1}$ 대신해 $X^{\top}$ 를 사용할 수 있어 단점을 보완할 수 있다. 그런데 놀라운 점은 $A$ 가 symmetric 일 때, $X$ 는 orthogonal 하고 $A$ 는 $M^{\top}M$ 와 같을 때, 항상 symmetric 하다. 그러므로 linear transformation matrix 인 $A$ 가 symmetric 할 때, 효율적으로 대각화를 사용할 수 있다. 유의할 점은 대각화 자체를 사용하기 위해서는 도메인 벡터스페이스의 basis 가 모두 eigen vectors 이어야 한다.

     

    Video watch on 2023. 03. 29.
    Last update: 2023. 05. 12.
    Written by Taejun Lim

     

    복습

    1. 2023/05/31

     

    댓글

Designed by Tistory.