문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 사원수 (문단 편집) == 응용 == [math(\left\{1, i\right\})]의 복소수로 좌표를 쓸 수 있듯 사원수군의 원소들을 이용해 좌표처럼 쓸 수 있다. 복소수와 마찬가지로 [math(a+bi+cj+dk)]로 표현한다. (위의 사원소군의 경우에는 정의되는 [[연산]]이 곱셈뿐이지만 여기서는 덧셈과 곱셈을 가지는 [[환(대수학)|환]](ring) 구조를 가진다; 덧셈에 대해서는 [[교환법칙]]이 성립하며, 덧셈과 곱셈 모두 [[결합법칙]]이 성립하고, [[분배법칙]]이 있다.) 또한 실수 상수곱(scalar multiplication) 이 당연한 방법으로 정의되며 다른 두 연산과 서로 순서를 바꾸어 계산해도 결과가 같으므로, 이는 실수 체 위의 (1을 갖는) [[대수]](algebra)가 된다. [math(R)](실수 체)-위의 사원수 대수는 대표적인 central division algebra이며, 19세기 후반(!)에 Frobenius는 이미 실수 체 위의 central division algebra[* Center가 주어진 base field와 같은 division algebra를 말한다.]가 실수 체 [math(R)]과 사원수 대수 [math(H)] 둘 뿐임을 (유식하게는 Brauer group [math(\text{Br}\left(R\right))]을 [math(Z/2Z)]로 이해할 수 있음을) 보였다.[* Frobenius theorem을 찾으면 보통 division algebra over R (central or not)이 [math(\mathbb{R}, \; \mathbb{C}, \; \mathbb{H})] 뿐인 것으로 소개된다. [math(\mathbb{C})]가 central division ring over R은 아니기에 어찌 보면 본문의 서술이나 이거나 비슷하다.] 이는 실수 계수 이차 형식(quadratic form)을 연구하는 데도 도움이 된다.[* 관심 있다면, noncommutative algebra 또는 quadratic form을 다루는 기초 교재에서 더 일반적인 "사원수" 대수를 찾아 보자. T.Y.Lam의 introduction to quadratic forms over fields (GSM series)를 추천. 베고 자기도 좋다.] 또한 복소수가 평면에서의 회전을 나타내는 데 쓰이는 반면[* 평면에 위치한 점을 [math(a+bi)]로 표현하면, [math(1)]을 곱하면 제자리, [math(i)]를 곱하면 90도 회전, [math(-1)]을 곱하면 180도 회전, [math(-i)]를 곱하면 270도 회전.] 사원수는 공간에서의 회전을 나타내는 데 쓰인다.[* 책을 들고 앞으로 한번 180도 회전(뒤집기), 옆으로 90도 회전을 해보자. 그런 다음 순서를 바꿔서 옆으로 한 번, 앞으로 한 번 회전한 것과 비교해보자. '''누가 봐도 [[교환법칙]]이 성립 안 한다는 것을 볼 수 있다.'''(게다가 방향도 정 반대로 되어있다.) 교환법칙도 성립 안 하는 저런 복잡한 수체계를 도입하는 이유를 알 수 있을 것이다.] 구체적인 공식은 다음과 같다. > [math(u = ai+bj+ck)] 가 공간상의 단위벡터이고 (즉 [math(a^{2}+b^{2}+c^{2}=1)]) > [math(v= v_{1}i+v_{2}j+v_{3}k)] 가 공간상의 벡터이면 > [math(q = \cos\left(t/2\right) + \sin\left(t/2\right)u)] 및 [math(q^{-1} = \cos\left(t/2\right) - \sin\left(t/2\right)u)]에 대해 > [math(q v q^{-1})] 는 [math(v)]를 [math(u)]를 축으로 [math(t)]만큼 회전한 결과이다.[* 출처: John Stillwell, ''Naive Lie Theory'', Springer, 2008, section 1.5] 실제로 [[벡터]]가 수학계에 등장하기 전까지 3차원 공간에서의 회전 변환을 행렬보다 훨씬 더 효율적으로 설명할 수 있었던 유일한 해결책이었고, 이를 제대로 이용한 곳은 '''[[이드 소프트웨어]]'''였다.[* 누르기 귀찮은 분들을 위해 부연설명하자면, '''초창기''' 3D 게임 엔진에 적용되었다는 뜻이다. 실제로 많은 게임 프로그래밍 교재들에서 사원수를 회전 변환으로 활용하는 방법을 소개한다. 다만 이드 소프트웨어에서 최초로 3D 게임에 적용한 건지는 확실치 않으며, 3D 그래픽에 사원수를 적용하자는 아이디어는 [[https://dl.acm.org/citation.cfm?doid=325334.325242|1985년도에 이미 제안된 바 있다.]]] 물론 벡터가 나왔다고 사원수가 사장된 건 아니고, 사원수 자체가 벡터의 일종이기 때문에 범위를 확장했다 보면 된다. 실제로도 두 사원수의 벡터곱을 연산하면 [[행렬]]이 나온다. 그리고 이 개념이 컴퓨터에 쓰이면서 이 행렬연산만을 전문으로 하는 카드, 즉 [[그래픽 카드]]가 탄생하게 되었다. [[CUDA]], [[OpenCL]] 등의 [[GPGPU]]는 이런 사원수 연산을 3D 연산에서 일반 연산으로 확장시킨 것. 사원수 [math( a + bi + cj + dk )]는 당연히 4차 실행렬로도 표현이 가능하다. [math(\left(\begin{array}{rrrr} a & b & c & d \\ -b & a & -d & c \\ -c & d & a & -b \\ -d & -c & b & a \end{array}\right))] 2차 복소행렬로도 가능하다. [math(\left(\begin{array}{cc} a+bi & c+di \\ -c+di &a-bi \end{array}\right))] 여담으로 복소수와 마찬가지로, 켤레사원수[* 복소수처럼 '''허수부의 부호 3개를 전부''' 반전시킨다.]를 취해서 원래 사원수와 곱하면 [[노름(수학)|노름]]의 제곱이 나온다. * [math(p=a+bi+cj+dk, \overline{p}=a-bi-cj-dk)]라고 할 때 [math(pq)]는 다음과 같다. [math(pq=(a+bi+cj+dk)(a-bi-cj-dk)=a^2+b^2+c^2+d^2)] 이는 다음과 같이 유도된다. * [math(p=a+bi+cj+dk, \overline{p}=a-bi-cj-dk)]이므로 [math(p)]의 허수부를 [math(q)]라고 하자. 그러면 [math(p=a+q, \overline{p}=a-q)]가 되므로 [math(p\overline{p}=a^2-q^2)]이 된다. 이제 [math(q^2)]을 계산해보자. [math(q=bi+cj+dk)]이므로 [math(q^2=\left(bi+cj+dk\right)^2=b^2i^2+c^2j^2+d^2k^2+bcij+cbji+cdjk+dckj+bdik+dbki)][* 사원수는 교환법칙이 성립하지 않으므로 전부 분리해서 기재.] 여기서 [math(ij+ji=ik+ki=jk+kj=0)]임을 떠올리면 [math(q^2=\left(bi+cj+dk\right)^2=b^2i^2+c^2j^2+d^2k^2+\cancel{bcij+cbji}+\cancel{cdjk+dckj}+\cancel{bdik+dbki}=-b^2-c^2-d^2)] 이걸 위의 식에 대입하면 [math(p\overline{p}=a^2-q^2=a^2-\left(-b^2-c^2-d^2\right)=a^2+b^2+c^2+d^2)]이 되므로 계산 종료.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기