기본 콘텐츠로 건너뛰기

라벨이 projection인 게시물 표시

[matplotlib]quiver()함수

[Linear Algebra] 직교적 투영(Orthogonal Projection)

직교적 투영(Orthogonal Projection) 그림 1의 벡터 b proj 는 벡터 a위로 수직으로 조사된 빛에 의해 투영된 벡터 b의 그림자에 대한 위치벡터로 정사영(Orthogonal projection) 이라 합니다. 그림 1. 벡터 a에 대한 벡터 b의 정사영. a=np.array([[3], [3]]) q, r=la.qr(a) plt.figure(figsize=(3,2)) plt.arrow(0,0, a[0,0], a[1,0], head_width=0.09) plt.arrow(0, 0, -r[0,0], 0, alpha=0.6, head_width=0.09, color="brown") plt.arrow(0,0, 3, 0, lw=2, head_width=0.09, color="b") plt.vlines(3, 0, 3.2, ls="--", color="g") plt.text(2.5, 0.2, r"$90^o$", color="g") plt.text(0.3, 0.1, r"$\theta$", color="g") plt.text(1.7, 2, r"$\vec{b}$") plt.text(1.5, 0.15, r"$\vec{b_{proj}}$", color="b") plt.text(3.5, 0.15, r"$\vec{a}}$", color="brown", alpha=0.6) plt.show() 식 1을 적용하여 그림 1의 두 벡터 a와 b 각각의 노름과 내적 (a·b)의 비로 cos(θ)를 계산할 수 있습니다. 또한 cos(θ)는 벡터 b와 정사영 b proj 의 노름의 비로 나타낼 수 있습니다. \begin{align}u \cdot v &= \Vert{u}\Vert \Vert{v}\Vert...

[Linear Algebra] 내적(inner product)

내적(Inner product) a, b 두 벡터의 내적(inner product, dot product) 은 식 1과 같이 정의합니다. \begin{align}a&=\begin{bmatrix} a_1\\a_2\end{bmatrix}\; b=\begin{bmatrix} b_1\\b_2\end{bmatrix}\\ a\cdot b& = a_1\times b_1 + a_2\times b_2\end{align} (식 1) 식 1의 결과와 같이 두 벡터의 내적은 스칼라입니다. 같은 인덱스를 가진 성분들사이의 곱들의 총합으로 식 2와 같이 나타낼 수 있습니다. 행렬은 두 개 이상의 벡터들로 구성된 객체로 두 행렬 사이에 내적을 계산할 수 있습니다. 행렬들 사이에 이루어지는 내적을 행렬곱(matrix product) 라고 하지만 구분없이 닷곱, 내적곱이라고 명명합니다. \begin{align}\text{dot prodcut}:&\;\begin{bmatrix} a_1& a_2\end{bmatrix}\begin{bmatrix} b_1\\b_2\end{bmatrix}= a_1 b_1 + a_2 b_2\\\text{matrix product}:&\; \begin{bmatrix} a_{11}& a_{12}\\a_{21}& a_{22}\end{bmatrix}\begin{bmatrix} b_{11}& b_{12}\\b_{21}& b_{22}\end{bmatrix}=\begin{bmatrix} a_{11}b_{11}+a_{12}b_{21} & a_{11}b_{12}+a_{12}b_{22} \\a_{21}b_{11}+a_{22}b_{21} & a_{21}b_{12}+a_{22}b_{22} \end{bmatrix}\end{align} (식 2) 식 2의 두 행렬의 내적 연산은 앞 객체의 행과 뒤 객체의 열의 사이에서 연산이 이루어집니다. 행렬의 행...