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

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

사원수(Quaternion)의 곱셈

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

(a1,b1,c1,d1)×(a2,b2,c2,d2)=(a1a2b1b2c1c2d1d2,a1b2+b1a2+c1d2d1c2,a1c2b1d2+c1a2+d1b2,a1d2+b1c2c1b2+d1a2)

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


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

첫번째 방법은 주어진 사원수 q1=a1+b1i+c1j+d1k, q2=a2+b2i+c2j+d2k를 실수의 곱셈법칙을 이용하여 곱셈을 계산하되 각 단위 i,j,k들의 곱에 대해서는 규칙

i2=j2=k2=ijk=1

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

ij=ji=k, jk=kj=i, ki=ik=j

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


[예제] 두 사원수 q1=1i+2jkq2=2i2j+3k의 곱을 위의 연산규칙을 이용하여 구해보자.

q1×q2=(1i+2jk)×(2i2j+3k)=2i2j+3k2i+i2+2ij3ik+4j2ji4j2+6jk2k+ki+2kj3k2=2i2j+3k2i1+2k+3j+4j+2k+4+6i2k+j2i+3=8+i+6j+5k



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

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

q1×q2=(s1,v1)×(s2,v2)=(s1s2v1v2,s1v2+s2v1+v1×v2)


[예제] 두 사원수 q1=1i+2jkq2=2i2j+3k의 곱을 벡터의 내적과 외적을 이용하여 구해보자. 이제 v1=(1,2,1), v2=(1,2,3)으로 두고 v1v2의 내적과 외적을 각각 구하면, v1v2=6v1×v2=(4,4,4)를 얻는다. 따라서 

q1×q2(1,(1,2,1))×(2,(1,2,3))=(2(6),(1,2,3)+2(1,2,1)+(4,4,4))=(8,(1,6,5))8+i+6j+5k



3. 2×2 복소행렬을 이용한 방법

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

a+bi[abba]

와 같이 나타낼 수 있듯이 임의의 사원수 q=a+bi+cj+dk2×2 복소행렬(complex matrix)를 이용하여 아래와 같이 나타낼 수 있다.

a+bi+cj+dk[a+bic+dic+diabi]

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


[예제] 두 사원수 q1=1i+2jkq2=2i2j+3k의 곱을 2×2 복소행렬의 곱을 이용하여 구해보자.

q1×q2[1i2i2i1+i][2i2+3i2+3i2+i]=[(1i)(2i)+(2i)(2+3i)(1i)(2+3i)+(2i)(2+i)(2i)(2i)+(1+i)(2+3i)(2i)(2+3i)+(1+i)(2+i)]=[8+i6+5i6+5i8i]8+i+6j+5k

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



4. 4×4 실행렬을 이용한 방법

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

a+bi+cj+dk[abcdbadccdabdcba]

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

E=[1000010000100001],I=[0100100000010010],J=[0010000110000100],K=[0001001001001000].

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


[예제] 두 사원수 q1=1i+2jkq2=2i2j+3k의 곱을 4×4 실행렬의 곱을 이용하여 구해보자.

q1×q2[1121111221111211][2123123223213212]=[8165185665815618]8+i+6j+5k

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



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

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

(u1,v1)×(u2,v2)=(u1u2v2v1,v2u1+v1u2)

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


[예제] 두 사원수 q1=1i+2jkq2=2i2j+3k의 곱을 케일리-딕슨 구성을 이용하여 구해보자. 먼저 u1=1i, v1=2i, u2=2i, v2=2+3i라 하면,

q1×q2(1i,2i)×(2i,2+3i)=((1i)(2i)(2+3i)(2i),(2+3i)(1i)+(2i)(2i))=((1i)(2i)(23i)(2i),(2+3i)(1i)+(2i)(2+i))=(8+i,6+5i)8+i+6j+5k


  ::  
  • 공유하기  ::