사원수(Quaternion)에 대하여 - 5. 사원수의 곱셈

written by jjycjn   2016. 7. 15. 06:27

사원수(Quaternion)의 곱셈

이제까지 사원수의(quaternion)의 곱셈이 아래의 식

\[ \begin{aligned} (a_1,\,b_1,\,c_1,\,d_1) &\times (a_2,\,b_2,\,c_2,\,d_2) \\ &= (a_1a_2 - b_1b_2 - c_1c_2 - d_1d_2,\, a_1b_2 + b_1a_2 + c_1d_2 - d_1c_2, \\ & \qquad a_1c_2 - b_1d_2 + c_1a_2 + d_1b_2,\, a_1d_2 + b_1c_2 - c_1b_2 + d_1a_2) \end{aligned} \]

으로 정의된 이유와 그 과정에 대해 살펴 보았다. 하지만 이유와 과정을 알고 이해했다고 하더라도 위의 곱셈을 실제로 외워서 적용하기는 어려운 것이 사실이다. 이번에는 두 사원수를 곱하는 여러가지 방법에 대하여 생각해 보도록 하자.


1. 해밀턴의 연산규칙을 이용한 방법

첫번째 방법은 주어진 사원수 $\mathbf{q}_1 = a_1 + b_1i + c_1j + d_1k$, $\mathbf{q}_2 = a_2 + b_2i + c_2j + d_2k$를 실수의 곱셈법칙을 이용하여 곱셈을 계산하되 각 단위 $i,\, j,\, k$들의 곱에 대해서는 규칙

\[ i^2 = j^2 = k^2 = ijk = -1 \]

을 이용하는 것이다. 이 때 위 규칙으로부터 더 세분화된 규칙인

\[ ij = -ji = k,\ jk = -kj = i,\ ki = -ik = j \]

를 얻을 수 있다. 예를 들어, $ij = k$의 경우, $-1 = ijk$의 양변의 오른쪽에 $k$를 곱하여 $-k = (ijk)k = ijk^2$를 얻고 $k^2 = -1$을 이용하여 $-k = -ij$, 양변에 $-1$을 곱해주어 $k = ij$를 얻을 수 있다. 나머지도 비슷한 방법으로 간단히 증명이 가능하다.


[예제] 두 사원수 $\mathbf{q}_1 = 1 - i + 2j - k$의 $\mathbf{q}_2 = 2 - i - 2j + 3k$의 곱을 위의 연산규칙을 이용하여 구해보자.

\[ \begin{aligned} \mathbf{q}_1 \times \mathbf{q}_2 &= (1 - i + 2j - k) \times (2 - i - 2j + 3k) \\ &= 2 - i - 2j + 3k - 2i + i^2 + 2ij - 3ik + 4j - 2ji - 4j^2 + 6jk - 2k + ki + 2kj - 3k^2 \\ &= 2 - i - 2j + 3k - 2i - 1 + 2k + 3j + 4j + 2k + 4 + 6i - 2k + j - 2i + 3 \\ &= 8 + i + 6j + 5k \end{aligned} \]



2. 벡터의 내적과 외적을 이용한 방법

주어진 사원수 $\mathbf{v} = a + bi + cj + dk$에 대하여, $a$를 사원수의 스칼라부(scalar part), $bi + cj + dk$를 사원수의 벡터부(vector part)라 부른다. 따라서 임의의 사원수 $\mathbf{q}$는 1차원 스칼라와 3차원 벡터의 순서쌍 $\mathbf{q} = (s,\, \vec{v})$로 나타낼 수 있다. 이제 3차원 벡터의 내적(inner product)와 외적(cross product)을 이용하여 주어진 두 사원수의 곱을 아래와 같이 나타낼 수 있다.

\[ \mathbf{q}_1 \times \mathbf{q}_2 = (s_1,\, \vec{v}_1) \times (s_2,\, \vec{v}_2) = (s_1s_2 - \vec{v}_1 \cdot \vec{v}_2,\, s_1 \vec{v}_2 + s_2 \vec{v}_1 + \vec{v}_1 \times \vec{v}_2) \]


[예제] 두 사원수 $\mathbf{q}_1 = 1 - i + 2j - k$와 $\mathbf{q}_2 = 2 - i - 2j + 3k$의 곱을 벡터의 내적과 외적을 이용하여 구해보자. 이제 $\vec{v}_1 = (-1,\,2,\,-1)$, $\vec{v}_2 = (-1,\,-2,\,3)$으로 두고 $\vec{v}_1$과 $\vec{v}_2$의 내적과 외적을 각각 구하면, $\vec{v}_1 \cdot \vec{v}_2 = -6$, $\vec{v}_1 \times \vec{v}_2 = (4,\,4,\,4)$를 얻는다. 따라서 

\[ \begin{aligned} \mathbf{q}_1 \times \mathbf{q}_2 &\rightarrow (1,\, (-1,\,2,\,-1)) \times (2,\, (-1,\,-2,\,3)) \\ &= (2 - (-6),\, (-1,\,-2,\,3) + 2(-1,\,2,\,-1) + (4,\,4,\,4)) \\ &= (8,\, (1,\,6,\,5)) \\ &\rightarrow 8 + i + 6j + 5k \end{aligned} \]



3. $2 \times 2$ 복소행렬을 이용한 방법

다음으로는 행렬 표현을 이용한 두 사원수의 곱셈에 대하여 알아보자. 임의의 복소수 $a+bi$를 $2 \times 2$ 실행렬(real matrix)를 이용하여,

\[ a + bi \quad \longleftrightarrow \quad \left[ \begin{array}{rr} a & b \\ -b & a \end{array} \right] \]

와 같이 나타낼 수 있듯이 임의의 사원수 $\mathbf{q} = a + bi + cj + dk$는 $2 \times 2$ 복소행렬(complex matrix)를 이용하여 아래와 같이 나타낼 수 있다.

\[ a + bi + cj + dk \quad \longleftrightarrow \quad \left[ \begin{array}{rr} a+bi & c+di \\ -c+di & a-bi \end{array} \right] \]

이제 두 사원수의 곱은 각각의 사원수를 복소행렬로 변환한 후에 복소행렬의 곱을 계산한 후, 곱의 결과로써 나온 복소행렬을 다시 사원수로 변환하여 구할 수 있다.


[예제] 두 사원수 $\mathbf{q}_1 = 1 - i + 2j - k$와 $\mathbf{q}_2 = 2 - i - 2j + 3k$의 곱을 $2 \times 2$ 복소행렬의 곱을 이용하여 구해보자.

\[ \begin{aligned} \mathbf{q}_1 \times \mathbf{q}_2 &\rightarrow \left[ \begin{array}{rr} 1-i & 2-i \\ -2-i & 1+i \end{array} \right] \left[ \begin{array}{rr} 2-i & -2+3i \\ 2+3i & 2+i \end{array} \right] \\ &= \left[ \begin{array}{rr} (1-i)(2-i) + (2-i)(2+3i) & (1-i)(-2+3i) + (2-i)(2+i) \\ (-2-i)(2-i) + (1+i)(2+3i) & (-2-i)(-2+3i) + (1+i)(2+i) \end{array} \right] \\ &= \left[ \begin{array}{rr} 8+i & 6+5i  \\ -6+5i & 8-i \end{array} \right] \\ &\rightarrow 8 + i + 6j + 5k \end{aligned} \]

실제로 $2 \times 2$ 복소행렬로부터 사원수를 복원할 때에는 복소행렬의 첫번째 행만 알아도 충분하므로 계산과정을 많이 줄일 수 있다.



4. $4 \times 4$ 실행렬을 이용한 방법

임의의 사원수 $\mathbf{q} = a + bi + cj + dk$를 $4 \times 4$ 실행렬(real matrix)로 변환하여 곱셈을 계산하는 방법도 있다. 주어진 사원수를 $4 \times 4$ 실행렬(real matrix)로 변환하는 방법은 총 48가지가 존재하는데, 그 중 하나는 아래와 같다.

\[ a + bi + cj + dk \quad \longleftrightarrow \quad \left[ \begin{array}{rrrr} a & b & c & d \\ -b & a & -d & c \\ -c & d & a & -b \\ -d & -c & b & a \end{array} \right] \]

언뜻 보면 주어진 사원수를 괜히 더 복잡하게 표현한 것 같지만

\[ \begin{aligned} & E = \left[ \begin{array}{rrrr} 1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&1 \end{array} \right], & I = \left[ \begin{array}{rrrr} 0&1&0&0\\-1&0&0&0\\0&0&0&-1\\0&0&1&0 \end{array} \right], \\ & J = \left[ \begin{array}{rrrr} 0&0&1&0\\0&0&0&1\\-1&0&0&0\\0&-1&0&0 \end{array} \right], & K = \left[ \begin{array}{rrrr} 0&0&0&1\\0&0&-1&0\\0&1&0&0\\-1&0&0&0 \end{array} \right]. \end{aligned} \]

로 정의하면, 사원수 $\mathbf{q} = a + bi + cj + dk$를 $aE + bI + cJ + dK$로 변환한 것과 같다. 이제 두 사원수의 곱은 각각의 사원수를 실행렬로 변환한 후에 실행렬의 곱을 계산한 후, 곱의 결과로써 나온 실행렬을 다시 사원수로 변환하여 구할 수 있다.


[예제] 두 사원수 $\mathbf{q}_1 = 1 - i + 2j - k$와 $\mathbf{q}_2 = 2 - i - 2j + 3k$의 곱을 $4 \times 4$ 실행렬의 곱을 이용하여 구해보자.

\[ \begin{aligned} \mathbf{q}_1 \times \mathbf{q}_2 &\rightarrow \left[ \begin{array}{rrrr} 1 & -1 & 2 & -1 \\ 1 & 1 & 1 & 2 \\ -2 & -1 & 1 & 1 \\ 1 & -2 & -1 & 1 \end{array} \right] \left[ \begin{array}{rrrr} 2 & -1 & -2 & 3 \\ 1 & 2 & -3 & -2 \\ 2 & 3 & 2 & 1 \\ -3 & 2 & -1 & 2 \end{array} \right] \\ &= \left[ \begin{array}{rrrr} 8 & 1 & 6 & 5 \\ -1 & 8 & -5 & 6 \\ -6 & 5 & 8 & -1 \\ -5 & -6 & 1 & 8 \end{array} \right] \\ &\rightarrow 8 + i + 6j + 5k \end{aligned} \]

실제로는 $4 \times 4$ 실행렬의 첫번째 행만 알아도 원하는 사원수를 충분히 복원 가능하므로 계산과정을 상당히 많이 줄일 수 있다.



5. 케일리-딕슨 구성을 이용한 방법

또한 앞에서 살펴본 케일리-딕슨 구성(Cayley-Dickson construction)을 이용하여 사원수의 곱을 계산할 수도 있다. 사원수의 대수체계는 복소수의 대수체계를 케일리-딕슨 구성을 이용하여 확장한 것으로 생각할 수 있다. 이 사실을 이용하여 주어진 $\mathbf{q} = a + bi + cj + dk$를 두 복소수 $u = a + bi$, $v = c + di$를 정의하여 복소수의 순서쌍 $(u,\, v)$로 나타내고, 케일리-딕슨 구성에서의 곱셈 법칙

\[ (u_1,\,v_1) \times (u_2,\,v_2) = (u_1u_2 - v_2^*v_1,\, v_2u_1 + v_1u_2^*) \]

를 이용하여 계산할 수 있다.


[예제] 두 사원수 $\mathbf{q}_1 = 1 - i + 2j - k$와 $\mathbf{q}_2 = 2 - i - 2j + 3k$의 곱을 케일리-딕슨 구성을 이용하여 구해보자. 먼저 $u_1 = 1-i$, $v_1 = 2-i$, $u_2 = 2-i$, $v_2 = -2+3i$라 하면,

\[ \begin{aligned} \mathbf{q}_1 \times \mathbf{q}_2 &\rightarrow (1-i,\, 2-i) \times (2-i,\, -2+3i) \\ &= ((1-i)(2-i) - (-2+3i)^*(2-i),\, (-2+3i)(1-i) + (2-i)(2-i)^*) \\ &= ((1-i)(2-i) - (-2-3i)(2-i),\, (-2+3i)(1-i) + (2-i)(2+i)) \\ &= (8+i,\, 6+5i) \\ &\rightarrow 8 + i + 6j + 5k \end{aligned} \]


  ::  
  • 공유하기  ::