이번 포스트에서는 change of basis에 대해 알아보겠습니다.
1) Change of basis
이전 포스트에서 vector space의 basis와 vector space에 속하는 벡터들에 대해 basis 벡터의 linear combination으로 표현을 하면, 그 때의 coefficient를 coordinate vector라고 하였습니다. 이 coordinate vector는 basis가 정해지면 벡터마다 unique하게 결정이 됩니다. 또한 벡터를 coordinate vector로 변환하는 과정이 coordinate mapping이고, one-to-one, onto, linear transformation인 것을 알 수 있었습니다. 이 점을 이용하여 basis를 변화하였을 때 coordinate vector가 어떻게 변화하는지 다루어보겠습니다.
다음 예시를 살펴봅시다.
example
어떤 vector space의 basis가
B={b1,b2}, C={c1,c2}
이고, 이 vector space에 속한 x가
x=3b1+b2, x=6c1+4c2
다음과 같이 표현된다면, x의 basis B,C에 대한 coordinate vector는
[x]B=[31],[x]C=[64]
입니다.
여기서
b1=4c1+c2, b2=−6c1+c2
라는 것을 알고 있다면, x를 모르더라도, B의 coordinate vector를 이용하여 [x]C를 구할 수 있습니다.
x=3b1+b2=a1c1+a2c2
이 식을 만족하는 a1,a2를 찾아야 합니다. 이 때 b1,b2 에 c1,c2에 대한 식을 대입하면
3b1+b2=3(4c1+c2)+(−6c1+c2)=6c1+4c2
가 됩니다. 다음 식의 coefficient를 다른 방식으로 표현하면
[x]C=[64]=[3×4+1×(−6)3×1+1×1]=[41−61][31]=[[b1]C[b2]C][x]B
인 것을 알 수 있습니다. 즉, B basis에 속한 벡터들의 C-coordinate vector와 x의 B-coordinate vector를 이용하여 x의 C-coordinate vector를 구할 수 있습니다.
Theorem
Let B={b1,b2,...,bn} and C={c1,c2,...,cn} be bases of a vector space V.
Then there is a unique n×n matrix PC←B such that
[x]C=PC←B[x]B
The columns of PC←B are the C-coordinate vectors of the vectors in the basis B
PC←B=[[b1]C...[bn]C]
The matrix PC←B is called the change-of-coordinates matrix from B to C.
Multiplication by PC←B converts B-coordinates into C-coordinates.
B basis의 C-coordinate vector를 column으로 가지는 matrix PC←B를 이용하여 [x]B를 [x]C로 변환할 수 있습니다. (증명은 appendix 참고)
현재 B가 basis이므로 B는 linearly independent set입니다. 따라서 basis의 C-coordinate vector 역시 linearly independent합니다. 따라서 PC←B는 linearly independent합니다. 또한, PC←B는 square matrix이므로, invertible합니다.
[x]C=PC←B[x]B
의 양변에 PC←B−1을 곱해주면
PC←B−1[x]C=[x]B
가 됩니다. 이 때, 위 식을 해석하면 x의 C-coordinate vector에 PC←B−1을 곱하게 되면 x의 B-coordinate vector가 됩니다. 따라서,
PC←B−1=PB←C
인 것을 알 수 있습니다. 다음 상황을 시각적으로 표현하면 다음과 같습니다.
Vector space에 속하는 x를 B basis의 coordinate vector로 나타낸 mapping이 왼쪽 부분 mapping, C basis의 coordinate vector로 나타낸 mapping이 오른쪽 부분 mapping입니다. 각 coordinate vector 끼리의 변환을 쌍방향 화살표로 나타내고, 그 때 곱해주는 matrix를 PC←B,PB←C로 나타낼 수 있습니다. 이 때, PB←C=PC←B−1이 됩니다.
(1) Standard basis
만약 변환시키려는 basis가 standard basis ϵ={e1,...,en}이라면,
[x]ϵ=x
이므로
Pϵ←B=[[b1]ϵ[b2]ϵ...[bn]ϵ]=[b1b2...bn]=PB
가 되어 이전 포스트에서 다루었던 change of coordinates matrix form B to the standard basis in Rn이 됩니다.
example
b1=[−91], b2=[−5−1], c1=[1−4], c2=[3−5]
이고
B={b1,b2}, C={c1,c2}
가 각각 R2의 basis입니다. 이 때 PC←B와 PB←C를 구해보도록 하겠습니다.
PC←B=[[b1]C[b2]C]
이므로,
PC[b1]C=b1 [1−43−5][b1]C=b1 [b1]C=PC−1b1=−5+121[−54−31][−91]=71[42−35]=[6−5]
[b2]C=PC−1b2=−5+121[−54−31][−5−1]=71[28−21]=[4−3]
따라서
PC←B=[6−54−3]
이 됩니다.
PB←C=PC←B−1
이므로
PB←C=21[−35−46]
이 됩니다.
지금까지 change of basis에 대해 알아보았습니다. 다음 포스트에서는 eigenvector, eigenvalue에 대해 알아보겠습니다. 질문이나 오류 있으면 댓글 남겨주세요! 감사합니다!
Appendix : Proof of Theorem
Theorem
Let B={b1,b2,...,bn} and C={c1,c2,...,cn} be bases of a vector space V.
Then there is a unique n×n matrix PC←B such that
[x]C=PC←B[x]B
The columns of PC←B are the C-coordinate vectors of the vectors in the basis B
PC←B=[[b1]C...[bn]C]
V에 있는 x를 다음과 같이 B basis 벡터로 표현가능합니다.
x=k1b1+⋯+knbn
따라서
[x]B=⎣⎢⎢⎡k1⋮kn⎦⎥⎥⎤
입니다. b1,...,bn을 c1,...,cn으로 다음과 같이 표현하면
bi=di1c1+⋯+dincn, i=1,...,n
즉,
[bi]C=⎣⎢⎢⎡di1⋮din⎦⎥⎥⎤
으로 표현이 가능합니다. 이를 이용하여 x를 표현하면 다음과 같이 표현됩니다.
x=k1b1+⋯+knbn=k1(d11c1+⋯+d1ncn)+⋯+kn(dn1c1+⋯+dnncn)=(k1d11+k2d21+⋯+kndn1)c1+⋯+(k1d1n+k2d2n+⋯+kndnn)cn
임을 알 수 있습니다. 따라서
[x]C=⎣⎢⎢⎡k1d11+⋯+kndn1⋮k1d1n+⋯+kndnn⎦⎥⎥⎤=⎣⎢⎢⎡d11d1n⋯⋮⋯dn1dnn⎦⎥⎥⎤⎣⎢⎢⎡k1⋮kn⎦⎥⎥⎤=[[b1]C⋯[bn]C][x]B
가 성립합니다.