앞선 장에서는 projection과 cosine의 수학적 의미 등에 대해서 다루었다.
이번 장에서는 이러한 projection을 이용해서 space의 bases를 orthonormal bases로 바꾸는 방법에 대해 다룬다. 이렇게 하는 이유는 orthonormal bases일 때 가지고 있는 유용한 성질들 때문이다.
Orthonormal bases
Def)q1,…,qn are vectors and orthonormal ifq⊤iqj={0(i≠j)1(i=j)Def)q1,…,qn are vectors and orthonormal ifq⊤iqj={0(i≠j)1(i=j)
Def)Q is called an orthogonal matrix, if Q is n×n and all columns are orthonormal (⇔Q⊤Q=I)Def)Q is called an orthogonal matrix, if Q is n×n and all columns are orthonormal (⇔Q⊤Q=I)
orthogonal matrix의 예시로 A=[cosθ−sinθsinθcosθ]A=[cosθ−sinθsinθcosθ]와 같은 rotation matrix를 꼽을 수 있다.
이러한 orthogonal matrix가 갖는 property는 다음과 같다.
1) (Qx,Qy)=(x,y)(Qx,Qy)=(x,y)
(Qx)⊤Qy=x⊤Q⊤Qy=x⊤y=(x,y)(Qx)⊤Qy=x⊤Q⊤Qy=x⊤y=(x,y)
여기서 알 수 있는 사실은 orthogonal matrix로 선형변환을 하더라도 두 벡터 간의 각도가 보존된다는 사실이다.
2) ‖Qx‖=‖x‖∥Qx∥=∥x∥
orthogonal matrix로 선형변환을 하더라도 크기는 보존된다.
3) Q=[q1,…,qn]Q=[q1,…,qn]
Qx=bQx=b라고 하자.
[q1⋯qn][x1⋮xn]=[b1⋮bn]⇔x1q1+…+xnqn=b[q1⋯qn]⎡⎢ ⎢⎣x1⋮xn⎤⎥ ⎥⎦=⎡⎢ ⎢⎣b1⋮bn⎤⎥ ⎥⎦⇔x1q1+…+xnqn=b
또한 위 식에 양변에 Q⊤Q⊤을 곱하면
q⊤ib=xiq⊤ib=xi 으로 표현할 수 있다. 그리고 이 xixi를 위 식에 대입하면 다음과 같다.
b=(q⊤1b)q1+⋯+(q⊤nb)qnb=(q⊤1b)q1+⋯+(q⊤nb)qn
4) \( Q^{\top} Q = I \Leftrightarrow QQ^{\top} = I \)
QQ inverse가 존재한다 (square)
앞서 배웠던 Projection을 생각해보자.

\( (A^{\top} \hat{x} - b) \in C(A^{\top}) = N(A^{\top})^{\perp} \)
\( A^{\top}(A^{\top} \hat{x} - b) = 0 \)
\( A^{\top} A \hat{x} = A^{top}b \)
\( \hat{x} = (A^{\top}A)^{-1} A^{\top}b \)
이 식은 projection 식으로 알려져있다.
위에서 다룬 AA matrix를 orthonormal column로 구성된 rectangular matrixQQ라면 어떻게 될까?
Qˆx=bQ^x=b를 만족시켜야 한다.
Q⊤Qˆx=Q⊤bQ⊤Q^x=Q⊤b
ˆx=Q⊤b^x=Q⊤b
Qˆx=QQ⊤bQ^x=QQ⊤b
따라서 projection matrix p=QQ⊤p=QQ⊤
만약 linearly independent vectors a1,…,ana1,…,an이 있다고 할 때, 이 벡터들과 동일한 space를 만드는 orthonormal vectors v1,⋯,vnv1,⋯,vn는 어떻게 찾을 수 있을까? 같은 space에 대한 표현이라도 orthonormal vector로 표현하는 것이 더 유리하다.
Gram Schmidt process
위의 질문에서 시작되는 것이 Gram Schmidt (그람 슈미츠) 과정이다. 이 방식은 QR decomposition에 활용될 수 있다.
예시를 통해 방법을 알아보자.
Example)
a=[1,0,1]⊤,b=[1,0,0]⊤,c=[2,1,0]⊤a=[1,0,1]⊤,b=[1,0,0]⊤,c=[2,1,0]⊤
(1). \( a \)를 기준으로 계산을 한다고 할 때 orthonormal vector를 만들기 위해 normalization을 수행한다. (=크기로 나눠준다)
v1=1√2[101]v1=1√2⎡⎢⎣101⎤⎥⎦
(2). aa 벡터가 기준이 되었으므로 이 v1v1 벡터에 수직하도록 bb 벡터를 v1v1 벡터로 projection 한 결과 만큼 bb를 빼주면 된다.

β=b−(vT1b)v1, projection=[100]−1√21√2[101]=[−12012]β=b−(vT1b)v1, projection=⎡⎢⎣100⎤⎥⎦−1√21√2⎡⎢⎣101⎤⎥⎦=⎡⎢
⎢⎣−12012⎤⎥
⎥⎦
v2=1√2[10−1]
(3). 마찬가지로 마지막 벡터 c는 v1과 v2에 align되는 성분들을 뺀 결과이다.
c=c−(vT1c)v1−(vT2c)v2=[210]−2√21√2[101]−2√21√2[10−1]=[010]
v3=[010]
이렇게 얻은 v1,v2,v3는 orthonormal vector가 된다.
이를 일반화 하면 다음과 같다.
If we found \( v_1, v_2, \ldots, v_4 \) \\
Then \( \tilde{v}_i = b_i - (b_i^{\top}v_1)v_1 - \ldots - (b_i^{\top}v_{i-1})v_{i-1} \) \\
vi=˜vi‖˜vi‖
The Factorization of \( A = QR \) 에서 Q는 orthonormal matrix를 의미하고 R는 upper triangular matrix이다. 이 QR decomposition을 할 경우 아래와 같은 과정을 거친다.
Given linearly independent \( a, b, c \) via Gram-Schmidt
we have orthonormal vectors \( q_1, q_2, q_3 \)
a=(aTq1)q1
b=(bTq1)q1+(bTq2)q2
c=(cTq1)q1+(cTq2)q2+(cTq3)q3
[abc]=[q1q2q3][aTq1bTq1cTq10bTq2cTq200cTq3]
\( A = Q \times R \)
\( Q^TQ = I \) upper triangular
여기서 전제는 A가 linearly independent 여야한다는 것이다. R matrix는 대각항 아래로 모두 0이기 때문에 계산에 용이하다.
'수학 Mathematics > 선형대수학 Linear Algebra' 카테고리의 다른 글
[응용선형대수] Cosines and Projection onto lines (0) | 2023.07.31 |
---|---|
[선형대수학] 행렬 분류 Matrix Phylogeny (0) | 2022.03.20 |
[응용선형대수] Orthogonal vectors and subspace (0) | 2021.03.06 |
[응용선형대수] Linear Transformations (0) | 2021.03.05 |
[응용선형대수] The four fundamental subspaces (0) | 2021.03.04 |