직교 행렬(orthogonal matrix)

박재한·2022년 1월 16일
0

수학(mathematics)

목록 보기
4/7

참고

1. 직교 행렬의 정의

직교 행렬의 정의는 모든 column들이 orthonormal set을 이루는 행렬이다. 그렇다면 orthonormal set의 뜻을 알아야 한다. 두 가지 개념이 합쳐져 있다. orthogonal + normal이다. orthogonal, 즉 모든 column 벡터들이 서로 직교한다는 뜻이다. 기하학적으로 해석할 수도 있겠으나, 수식적으로는 내적 (inner product)이 0이라는 것이다. normal, 모든 벡터의 크기가 1로 맞춰져 있다는 것이다. 참고로, 벡터의 크기는 자기 자신과 내적한 뒤, 제곱근을 구하면 된다.
또한 두 벡터 v1,v2v_1, v_2의 내적은 v1v2=v1v2cosθv_1\cdot v_2=\left\|v_1 \right\| \left\|v_2 \right\| cos\theta인데, 두 벡터가 직교하면 θ=π/2\theta=\pi/2이므로 cos(π/2)=0cos(\pi/2)=0, v1v2=0v_1\cdot v_2=0이 된다. 만일 두 벡터 v1,v2v_1, v_2이 같은 벡터이면(v1=v2v_1=v_2), θ=0\theta=0이므로 v1v2=v1v2cos0=v12=1v_1\cdot v_2=\left\|v_1 \right\| \left\|v_2 \right\| cos0=\left\|v_1 \right\|^2=1이 된다.
이를 정리해보면,
행렬 Q를 각 원소가 서로 직교인 열벡터로 나타내면,
Q=[q1q2...qn]Q=\begin{bmatrix} \mathbf{q_1} &\mathbf{q_2} &... &\mathbf{q_n} \\ \end{bmatrix}
qiqj={1 if qi=qj0 if qiqjqi=1\mathbf{q_i\cdot q_j}=\begin{cases} 1 & \text{ if } q_i= q_j \\ 0 & \text{ if } q_i\neq q_j \end{cases} \\ \left\|\mathbf{q_i} \right\|=1

2. 직교 행렬의 성질

Q가 직교행렬이라고 할 때,

1) Q의 전치행렬은 Q의 역행렬

QTQ=I\mathbf{Q^TQ}=I 임을 증명하면 된다.
[q1Tq2TqnT][q1q2...qn]=[q1Tq1q1Tq2...q1Tqnq2Tq1q2Tq2...q2TqnqnTq1qnTq2...qnTqn]=[10...001...000...1]=I,  (qi,qji,jcolumn)\begin{bmatrix} \mathbf{q_1^T} \\ \mathbf{q_2^T} \\ \vdots \\ \mathbf{q_n^T} \end{bmatrix} \begin{bmatrix} \mathbf{q_1} &\mathbf{q_2} &... &\mathbf{q_n} \\ \end{bmatrix}= \begin{bmatrix} \mathbf{q_1^Tq_1} &\mathbf{q_1^Tq_2} &... &\mathbf{q_1^Tq_n} \\ \mathbf{q_2^Tq_1} &\mathbf{q_2^Tq_2} &... &\mathbf{q_2^Tq_n} \\ \vdots &\vdots &\ddots &\vdots \\ \mathbf{q_n^Tq_1} &\mathbf{q_n^Tq_2} &... &\mathbf{q_n^Tq_n} \\ \end{bmatrix}= \begin{bmatrix} 1 &0 &... &0 \\ 0 &1 &... &0 \\ \vdots &\vdots &\ddots &\vdots \\ 0 &0 &... &1 \\ \end{bmatrix} = I,\,\;(q_i, q_j\,의 i,j는\,column)
따라서 QT=Q1\mathbf{Q^T=Q^{-1}}

2) Q와 QT를 서로 곱하면 단위행렬 I이다.

앞의 1)에서 QT=Q1\mathbf{Q^T=Q^{-1}}을 증명했으므로 QTQ=I\mathbf{Q^TQ}=I이다.

3) Q는 row 벡터들도 orthonormal set을 이룬다.

Q의 각 원소가 서로 직교인 행벡터의 집합이라고 한다면,
Q=[q1q2qn],  QT=[q1q2...qn]Q=\begin{bmatrix} \mathbf{q_1} \\ \mathbf{q_2} \\ \vdots \\ \mathbf{q_n} \end{bmatrix},\; Q^T= \begin{bmatrix} \mathbf{q_1} &\mathbf{q_2} &... &\mathbf{q_n} \\ \end{bmatrix}

1)에서 QT=Q1\mathbf{Q^T=Q^{-1}}이므로 QQT=QQ1=I\mathbf{QQ^T=QQ^{-1}}=I이다.
QQT=[q1q2qn][q1Tq2T...qnT]=[q1q1Tq1q2T...q1qnTq2q1Tq2q2T...q2qnTqnq1Tqnq2T...qnqnT]=I,  (qi,qji,jrow)\mathbf{QQ^T}= \begin{bmatrix} \mathbf{q_1} \\ \mathbf{q_2} \\ \vdots \\ \mathbf{q_n} \end{bmatrix} \begin{bmatrix} \mathbf{q_1^T} &\mathbf{q_2^T} &... &\mathbf{q_n^T} \\ \end{bmatrix} = \begin{bmatrix} \mathbf{q_1q_1^T} &\mathbf{q_1q_2^T} &... &\mathbf{q_1q_n^T} \\ \mathbf{q_2q_1^T} &\mathbf{q_2q_2^T} &... &\mathbf{q_2q_n^T} \\ \vdots &\vdots &\ddots &\vdots \\ \mathbf{q_nq_1^T} &\mathbf{q_nq_2^T} &... &\mathbf{q_nq_n^T} \\ \end{bmatrix}= I,\,\;(q_i, q_j\,의 i,j는\,row)
이므로 Q의 행벡터의 집합도 서로 직교한다.

4) 직교 행렬 Q의 선형변환을 x라고 할 때, Qx=x\left\|\mathbf{Qx} \right\|=\left\|\mathbf{x} \right\| 이다.
QxQy=xy\mathbf{Qx\cdot Qy=x\cdot y} 이다.(내적보존(dot product preserving))

  1. 첫번째 증명
    Qx=QxQx=(Qx)TQx=xTQTQx=xTx=x\mathbf{\left\|Qx \right\|=\sqrt{Qx\cdot Qx}=\sqrt{(Qx)^TQx}=\sqrt{x^TQ^TQx}=\sqrt{x^Tx}=\left\|x \right\|}
  2. 두번째 증명
    QxQy=(Qx)TQy=xTQTQy=xTIy=xTy=xy\mathbf{Qx\cdot Qy=(Qx)^TQy=x^TQ^TQy=x^TIy=x^Ty=x\cdot y}

5) 두 행렬 Q1, Q2가 직교행렬이면, 그 곱인 Q1Q2 도 직교행렬이다.

(Q1Q2)T(Q1Q2)=I\mathbf{(Q1Q2)^T(Q1Q2)=I} 임을 증명한다.
(Q1Q2)T(Q1Q2)=Q2TQ1TQ1Q2=Q2TIQ2=Q2TQ2=I\mathbf{(Q1Q2)^T(Q1Q2)=Q2^TQ1^TQ1Q2=Q2^TIQ2=Q2^TQ2=I}

profile
바쁘게 부지런하게 논리적으로 살자!!!

0개의 댓글