4.7 Coordinate system

Jaehyun_onelion·2023년 3월 17일
0

선형대수학

목록 보기
24/42

이번 포스트에서는 Coordinate system에 대해서 알아보겠습니다.


1) Coordinate System


Coordinate system은 우리가 좌표평면이나 좌표공간에서 점을 표시할 때 쓰는 순서쌍과 관련이 있습니다. 이전 basis 포스트에서 좌표평면, 좌표공간에서의 x,y,zx, y, z축이 basis에 속하는 벡터의 방향을 나타내는 것을 확인했었습니다. 좌표평면/공간 위의 점을 x,y,zx, y, z 축을 이용하여 순서쌍으로 나타내는 것이구요. coordinate system은 basis를 이용하여 벡터를 순서쌍(후에 coordinate vector로 정의합니다.)으로 나타내는 방법에 대한 내용입니다.

Coordinate system을 정의하기 위해서는 다음의 정리가 필요합니다.


Theorem : The uniqueness representtion theorem

Let B={b1,b2,...,bn}B=\{\boldsymbol{b_1}, \boldsymbol{b_2}, ..., \boldsymbol{b_n}\} be a basis for a vector space VV. Then for each x\boldsymbol{x} in VV, there exists a unique set of scalars c1,...,cnc_1, ..., c_n such that

x=c1b1+...+cnbn\boldsymbol{x} = c_1\boldsymbol{b_1} + ... + c_n\boldsymbol{b_n}

위 정리가 의미하는 것은 다음 두 가지입니다.

  1. VV의 모든 vector는 basis 원소의 linear combination으로 표현 가능합니다.
  2. Linear combination으로 표현할 때, unique하게 표현됩니다.

Definition : Coordinate

Suppose B={b1,b2,...,bn}B=\{\boldsymbol{b_1}, \boldsymbol{b_2}, ..., \boldsymbol{b_n}\} is a basis for VV and x\boldsymbol{x} is in VV. The coordinates of x\boldsymbol{x} relative to the basis BB(or the BB-coordinate of x\boldsymbol{x}) are the weights c1,...,cnc_1, ..., c_n such that x=c1b1+...+cnbn\boldsymbol{x} = c_1\boldsymbol{b_1} + ... + c_n\boldsymbol{b_n}

If c1,...,cnc_1, ..., c_n are the BB-coordinate of x\boldsymbol{x}, then the vector in Rn\mathbb R^n

[x]B=[c1c2cn]\left[\boldsymbol{x}\right]_B = \begin{bmatrix}c_1 \\ c_2 \\ \vdots \\ c_n\end{bmatrix}

is the coordinate vector of x\boldsymbol{x}, or the BB-coordinate vector of x\boldsymbol{x}

The mapping x[x]B\boldsymbol{x} \rightarrow [\boldsymbol{x}]_B is the coordinate mapping (determined by BB)

x\boldsymbol{x}를 basis에 속한 벡터들의 linear combination으로 표현하였을 때, 각각의 basis에 속하는 벡터 b1,...,bn\boldsymbol{b_1} , ... , \boldsymbol{b_n}의 계수들을 BB-coordinate of x\boldsymbol{x}라고 합니다. 이 BB-coordinate를 벡터로 나타낸 값이 BB-coordinate vector of x\boldsymbol{x}이고, [x]B[\boldsymbol{x}]_B라고 합니다.

마지막으로, x\boldsymbol{x}에서 x\boldsymbol{x}BB-coordinate vector [x]B[\boldsymbol{x}]_B로 보내는 mapping을 Coordinate mapping이라고 합니다.

x\boldsymbol{x} 를 basis에 속한 벡터와 [x]B[\boldsymbol{x}]_B 로 나타내면

x=c1b1++cnbn=[b1...bn][c1cn]=[b1...bn][x]B\begin{aligned} \boldsymbol x &= c_1\boldsymbol{b}_1 + \cdots + c_n \boldsymbol{b}_n \\ &= \begin{bmatrix}\boldsymbol{b_1} & ... & \boldsymbol{b_n} \end{bmatrix}\begin{bmatrix}c_1 \\ \vdots \\ c_n\end{bmatrix} \\ & = \begin{bmatrix}\boldsymbol{b_1} & ... & \boldsymbol{b_n} \end{bmatrix}[\boldsymbol{x}]_B \end{aligned}

가 됩니다.


example

Consider a standard basis ϵ={e1,e2}\epsilon=\{\boldsymbol{e_1}, \boldsymbol{e_2}\}, and a basis B2={b1,b2}B_2=\{\boldsymbol{b_1}, \boldsymbol{b_2}\} for R2\mathbb R^2, where e1=[10]\boldsymbol{e_1}=\begin{bmatrix}1 \\ 0\end{bmatrix}, e2=[01]\boldsymbol{e_2}=\begin{bmatrix}0 \\ 1\end{bmatrix}, b1=[10]\boldsymbol{b_1}=\begin{bmatrix}1 \\ 0\end{bmatrix}, b1=[12]\boldsymbol{b_1}=\begin{bmatrix}1 \\ 2\end{bmatrix}

R2\mathbb R^2에 존재하는 벡터 x\boldsymbol{x}B2B_2-coordinate vector가 [x]B2=[23][\boldsymbol{x}]_{B_2}=\begin{bmatrix}-2 \\ 3\end{bmatrix}입니다. 이 말은

x=2b1+3b2\boldsymbol{x} = -2\boldsymbol b_1 + 3\boldsymbol b_2

를 뜻하고, 이를 계산하면

x=2[10]+3[12]=[16]\boldsymbol{x}= -2\begin{bmatrix}1 \\ 0\end{bmatrix} + 3 \begin{bmatrix}1 \\ 2\end{bmatrix} = \begin{bmatrix}1 \\ 6\end{bmatrix}

이 됩니다. 이 때 [16]\begin{bmatrix}1 \\ 6\end{bmatrix}

[16]=1e1+6e2\begin{bmatrix}1 \\ 6\end{bmatrix} = 1\boldsymbol{e_1} + 6\boldsymbol{e_2}

가 되어, xϵ\boldsymbol{x}_{\epsilon}을 뜻합니다.

이를 좌표평면을 통해 시각적으로 표현하면 다음과 같습니다.

다음 좌표평면에서 기본 x,yx, y축(가로축, 세로축)이 ϵ\epsilon basis 축을 나타낸 것입니다.(검은색 축) 한편, 빨간색 축은 B2B_2 basis를 축으로 나타낸 것입니다. (가로축이 b1\boldsymbol{b_1}, 대각선 축이 b2\boldsymbol{b_2}) x\boldsymbol{x}는 좌표평면 상 빨간색 점이고, 이를 ϵ\epsilon basis로 나타낼수도, B2B_2 basis로 나타낼 수 있습니다.

x\boldsymbol{x}ϵ\epsilon basis로 나타낸 것이

[16]=1e1+6e2\begin{bmatrix}1 \\ 6\end{bmatrix} = 1\boldsymbol{e_1} + 6\boldsymbol{e_2}

입니다. 검은색 벡터(화살표)로 표시하였습니다.

그리고 x\boldsymbol{x}B2B_2 basis로 나타낸 것이

[16]=2b1+3b2\begin{bmatrix}1 \\ 6\end{bmatrix} = -2\boldsymbol{b_1} + 3\boldsymbol{b_2}

입니다. 파란색 벡터(화살표로 표시하였습니다.)

이 때, [x]B2[\boldsymbol{x}]_{B_2} 이 뜻하는 바는 다음과 같습니다. 만약 우리가 좌표평면을 ϵ\epsilon을 이용하여 표시하는 것이 아닌 (x축, y축) B2B_2를 이용하여 표현한다고 생각해봅시다.(빨간색 축) x\boldsymbol{x}를 빨간색 축을 기반으로 하여 나타낸 순서쌍이

[x]B2=[23][\boldsymbol{x}]_{B_2} = \begin{bmatrix} -2 \\ 3 \end{bmatrix}

이 됩니다. (b1\boldsymbol{b_1} 방향과 크기로 -2, b2\boldsymbol{b_2} 방향과 크기로 3의 값을 가지는 점이 x\boldsymbol{x}입니다.)

즉, BB-Coordinate vector는 BB를 이용하여 vector space의 벡터를 표현할 때의 순서쌍(좌표)을 의미합니다.


example

ϵ1\epsilon_1 basis의 coordinate vector를 생각해봅시다.

x=1e1+6e2=[e1e2][16]=I2[16]\begin{aligned} \boldsymbol{x} &= 1\boldsymbol{e_1} + 6\boldsymbol{e_2} \\ &= \begin{bmatrix} \boldsymbol{e_1} & \boldsymbol{e_2} \end{bmatrix} \begin{bmatrix}1 \\ 6\end{bmatrix} \\ &= I_2\begin{bmatrix}1 \\ 6\end{bmatrix} \end{aligned}

다음과 같이 표현할 수 있기 때문에

[x]ϵ=[16]=x[\boldsymbol{x}]_{\epsilon} = \begin{bmatrix}1 \\ 6 \end{bmatrix} = \boldsymbol{x}

인 것을 알 수 있습니다.

이는 Rn\mathbb R^n에서도 똑같이 적용됩니다.

Rn\mathbb R^n에서의 standard basis ϵ={e1,...,en}\epsilon = \{\boldsymbol{e_1}, ..., \boldsymbol{e_n}\}에 대해서 x\boldsymbol xϵ\epsilon-coordinate vector는

x=x1e1+...+xnen=[e1...en][x1xn]=In[x]ϵ=[x]ϵ\begin{aligned} \boldsymbol{x} &= x_1\boldsymbol{e_1} + ... + x_n\boldsymbol{e_n} \\ &=\begin{bmatrix}\boldsymbol{e_1} & ... & \boldsymbol{e_n} \end{bmatrix}\begin{bmatrix}x_1 \\ \vdots \\ x_n\end{bmatrix} \\ &= I_n[\boldsymbol x]_\epsilon \\ &=[\boldsymbol x]_\epsilon \end{aligned}

[x]ϵ=x[\boldsymbol x]_\epsilon = \boldsymbol{x}

인 것을 알 수 있습니다.


2) Coordinate mapping


(1) Coordinates in Rn\mathbb R^n


Vector space의 basis BB를 알면, 특정 x\boldsymbol xBB-coordinate vector는 쉽게 구할 수 있습니다.

B={b1,...,bn}B = \{\boldsymbol{b_1}, ..., \boldsymbol{b_n}\}이 어떤 Rn\mathbb R^n의 basis라고 가정해봅시다. [x]B[\boldsymbol x]_B를 구하기 위해서는

x=c1b1++cnbn=[b1...bn][x]B\begin{aligned} \boldsymbol{x} &= c_1\boldsymbol{b_1} + \cdots + c_n\boldsymbol{b_n} \\ &= \begin{bmatrix}\boldsymbol{b_1} & ... & \boldsymbol{b_n} \end{bmatrix} [\boldsymbol x]_B \end{aligned}

위 식을 만족해야 합니다. 이 때 matrix [b1...bn]=PB\begin{bmatrix}\boldsymbol{b_1} & ... & \boldsymbol{b_n} \end{bmatrix} = P_B라고 하면

PB[x]B=xP_B[\boldsymbol x]_B = \boldsymbol{x}

의 solution을 구하면 됩니다. 이 때, PP의 column이 Rn\mathbb R^n의 basis이므로 linearly independent하므로, PP는 invertible합니다. 따라서

[x]B=PB1x[\boldsymbol x]_B = P_B^{-1}\boldsymbol x

임을 알 수 있습니다.


(2) Coordinate mapping


Rn\mathbb R^n에 속하는 vector x\boldsymbol{x}BB-coordinate vector는 다음의 식을 통해 구할 수 있었습니다.

PB[x]B=xP_B[\boldsymbol x]_B = \boldsymbol{x} \\

PP가 invertible하므로

[x]B=PB1x[\boldsymbol x]_B = P_B^{-1}\boldsymbol x

임을 알 수 있습니다.

첫 번째 식을 살펴봅시다. x\boldsymbol{x}BB-coordinate vector에 PBP_B matrix를 곱해서 x\boldsymbol{x}를 얻을 수 있었습니다. 그런데, x=[x]ϵ\boldsymbol{x} = [\boldsymbol{x}]_\epsilon, 즉 standard basis의 coordinate vector가 x\boldsymbol x인 것을 이용하면, 첫 번째 식은 BB-coordinate vector를 standard basis coordinate vector로 바꿔주는 matrix transformation으로 생각할 수 있습니다.

T[ϵ]:[x]BxT[ϵ]([x]B)=PB[x]B=xT_{[\epsilon]} : [\boldsymbol{x}]_B \rightarrow \boldsymbol{x} \\ T_{[\epsilon]}([\boldsymbol{x}]_B) = P_B[\boldsymbol{x}]_B =\boldsymbol{x}

한편, 두 번째 식은 x\boldsymbol{x}PB1P_B^{-1}를 곱해서 [x]B[\boldsymbol{x}]_B를 얻는 식입니다. 즉, standard basis coordinate vector를 BB-coordinate vector로 바꿔주는 matrix trasformation으로 생각할 수 있습니다.

T[B]:x[x]BT[B](x)=PB1x=[x]BT_{[B]} : \boldsymbol{x} \rightarrow [\boldsymbol{x}]_B \\ T_{[B]}(\boldsymbol{x}) = P_B^{-1}\boldsymbol{x} =[\boldsymbol{x}]_B

즉, coordinate vector를 만드는 mapping은 linear operator이고, one to one입니다.

여기서 정의된

PB=[b1...bn]P_B = \begin{bmatrix} \boldsymbol{b_1} & ... & \boldsymbol{b_n} \end{bmatrix}

change of coordinates matrix form BB to the standard basis in Rn\mathbb R^n 이라 정의합니다.


Theorem

Let B={b1,...,bn}B=\{\boldsymbol{b_1}, ..., \boldsymbol{b_n}\} be basis for a vector space VV. Then the coordinate mapping x[x]B\boldsymbol{x} \rightarrow [\boldsymbol{x}]_B is a one-to-one linear transformation from VV onto Rn\mathbb R^n.

위 정리는 Rn\mathbb R^n의 subspace 뿐만 아니라 일반적인 vector space VV에 대한 coordinate mapping이 linear transformation이면서 one-to-one이 된다는 것을 뜻합니다. 일반적인 vector space VV에 대해 coordinate mapping을 하기 때문에 정의역은 VV, 공역은 Rn\mathbb R^n인 것을 알 수 있습니다. 만약 vector space VV가 직관적으로 알기 쉽지 않는 경우, basis를 알고 있다면 coordinate mapping을 통해 보다 친숙한 Rn\mathbb R^n vector space에서 해석할 수 있습니다. 따라서 coordinate mapping은 일반적인 vector space에 속한 벡터를 Rn\mathbb R^n으로 바꾸어주는 mapping입니다. (증명은 appendix 참고)

위 정리를 이용하면 하나의 벡터 뿐만 아니라 여러 벡터들의 linear combination에 대해서도 coordinate mapping이 가능합니다. coordinate mapping이 linear transformation이기 때문입니다.

u1,...,upV\boldsymbol{u_1}, ..., \boldsymbol{u_p} \in V, c1,...,cpRc_1, ..., c_p \in \mathbb R 에 대해서

[c1u1++cpup]B=c1[u1]B++cp[up]B[c_1\boldsymbol{u_1}+\cdots +c_p\boldsymbol{u_p}]_B = c_1[\boldsymbol{u_1}]_B+\cdots +c_p[\boldsymbol{u_p}]_B

가 성립합니다.

지금까지 coordinate system에 대해 알아보았습니다. 다음 포스트에서는 change of basis에 대해서 알아보겠습니다. 질문이나 오류 있으면 댓글로 남겨주세요! 감사합니다!


Appendix : Proof of theorem


Theorem

Let B={b1,...,bn}B=\{\boldsymbol{b_1}, ..., \boldsymbol{b_n}\} be basis for a vector space VV. Then the coordinate mapping x[x]B\boldsymbol{x} \rightarrow [\boldsymbol{x}]_B is a one-to-one linear transformation from VV onto Rn\mathbb R^n.


  • Proof

위 정리에 밝혀야할 것은

  1. Coordinate mapping is linear transformation
  2. Coordinate mapping is one to one
  3. Coordinate mapping is onto

세 가지입니다.


  • Proof of 1
B={b1,...,bn}B =\{\boldsymbol{b_1}, ..., \boldsymbol{b_n}\}

VV의 basis라 하고, coordinate mapping TBT_B

TB:VRnTB(x)=[x]BT_B : V \rightarrow \mathbb R^n \\ T_B(\boldsymbol{x}) = [\boldsymbol{x}]_B

다음과 같이 정의합니다. TBT_B가 linear transformation인 것을 밝히기 위해 vector addition, scalar multiple 조건을 만족하는지 확인하면 됩니다.

v,uVv=c1b1++cnbnu=d1b1++dnbn\boldsymbol{v, u} \in V \\ \boldsymbol{v} = c_1\boldsymbol{b_1} + \cdots + c_n\boldsymbol{b_n} \\ \boldsymbol{u} = d_1\boldsymbol{b_1} + \cdots + d_n\boldsymbol{b_n}

이 되고,

[v]B=[c1cn],  [u]B=[d1dn][\boldsymbol{v}]_B =\begin{bmatrix}c_1 \\ \vdots \\ c_n \end{bmatrix}, \ \ [\boldsymbol {u}]_B =\begin{bmatrix}d_1 \\ \vdots \\ d_n \end{bmatrix}

임을 알 수 있습니다. 이 때

v+u=(c1+d1)b1++(cn+dn)bn\boldsymbol{v} + \boldsymbol{u} = (c_1+d_1)\boldsymbol{b_1} + \cdots + (c_n +d_n)\boldsymbol{b_n}

이 되어

TB(v+u)=[v+u]B=[c1+d1cn+dn]=[c1cn]+[d1dn]=[v]B+[u]B=TB(v)+TB(u)T_B(\boldsymbol{v+u})=[\boldsymbol{v}+\boldsymbol{u}]_B =\begin{bmatrix}c_1+d_1 \\ \vdots \\ c_n+d_n \end{bmatrix} =\begin{bmatrix}c_1 \\ \vdots \\ c_n \end{bmatrix} +\begin{bmatrix}d_1 \\ \vdots \\ d_n \end{bmatrix} = [\boldsymbol{v}]_B + [\boldsymbol{u}]_B = T_B(\boldsymbol{v})+T_B(\boldsymbol{u})

따라서 addition 조건을 만족합니다. 다음으로 v\boldsymbol{v}와 scalar kk에 대해서

kv=kc1b1++kcnbnk\boldsymbol{v} = kc_1\boldsymbol{b_1} + \cdots + kc_n\boldsymbol{b_n}

이므로

TB(kv)=[kv]B=[kc1kcn]=k[c1cn]=k[v]B=kTB(v)T_B(k\boldsymbol{v})=[k\boldsymbol{v}]_B =\begin{bmatrix}kc_1 \\ \vdots \\ kc_n \end{bmatrix} = k \begin{bmatrix}c_1 \\ \vdots \\ c_n \end{bmatrix} = k[\boldsymbol{v}]_B = kT_B(\boldsymbol{v})

을 만족하므로, TBT_B는 linear transformation입니다.


  • Proof of 2

TBT_B가 linear transformation이므로, TBT_B가 one to one임을 밝히는 것은 Ker(TB)={0}Ker(T_B)=\{0\}임을 밝히는 것과 같습니다. TBT_B의 kernel은

Ker(TB)={xVTB(x)=0}Ker(T_B) = \{\boldsymbol{x} \in V \mid T_B(\boldsymbol{x}) = 0\}

이를 확인하기 위해

TB(x)=[x]B=0T_B(\boldsymbol{x}) = [\boldsymbol{x}]_B=0

을 만족하는 x\boldsymbol{x}

x=0b1++0bn=0\boldsymbol{x} = 0\cdot\boldsymbol{b_1} + \cdots + 0\cdot \boldsymbol{b_n} = 0

즉 zero vector밖에 존재하지 않습니다. 따라서

Ker(TB)={0}Ker(T_B) = \{0\}

을 만족하기 때문에 TBT_B는 one to one 입니다.

(one to one의 정의를 통해서도 증명할 수 있습니다.)


  • Proof of 3

Rn\mathbb R^n에 있는 임의의 vector a\boldsymbol{a}에 대해서

TB(x)=aT_B(\boldsymbol{x}) =\boldsymbol{a}

를 만족하는 x\boldsymbol{x}VV에 적어도 하나 존재해야 함을 밝혀야 합니다. a\boldsymbol{a}

a=[a1an]\boldsymbol{a} = \begin{bmatrix}a_1 \\ \vdots \\ a_n \end{bmatrix}

이라 한다면,

x=a1b1++anbn\boldsymbol{x} = a_1 \boldsymbol{b_1} + \cdots + a_n\boldsymbol{b_n}

x\boldsymbol{x}에 대해서

TB(x)=[x]B=aT_B(\boldsymbol{x}) =[\boldsymbol{x}]_B = \boldsymbol{a}

를 만족합니다. 따라서 임의의 aRn\boldsymbol a \in \mathbb R^n에 대해서

TB(x)=aT_B(\boldsymbol x) =\boldsymbol{a}

를 만족하는 x\boldsymbol{x}가 반드시 존재하므로, TBT_B는 onto입니다.

profile
데이터 분석가 새싹

0개의 댓글