사원수(Quaternion)
복소수(complex number)를 넓혀 허수 단위(imaginary unit) 셋 i, j, k를 둔 네 성분의 수. 곱하는 순서를 바꾸면 값이 달라지며, 크기 1인 사원수 하나로 3차원 회전(rotation)을 나타낼 수 있다.
평면에서 복소수의 곱셈은 회전과 확대입니다.
1843년 10월 16일 해밀턴은 아내와 함께 로열 운하를 따라 왕립 아일랜드 아카데미의 회의에 가던 길에 답을 깨달았습니다. 셋이 아니라 넷이어야 했습니다. 그는 지나던 브로엄 다리(오늘날의 브룸 다리)의 돌에 칼로 다음 식을 새겼습니다.
사원수는 실수 넷으로 된
왜 셋으로는 안 될까요? 해밀턴이 원한 것은 곱의 크기가 크기의 곱인 곱셈
회전을 적는 수
오늘날 사원수가 가장 많이 쓰이는 곳은 3차원 회전입니다. 크기 1인 벡터(vector)
하나로 적힙니다. 벡터
'x축 90° 다음 y축 90°'와 'y축 90° 다음 x축 90°'는 끝 모습이 다릅니다. 책을 들고 직접 해 봐도 그렇습니다. 사원수로는 나중 회전을 왼쪽에 곱해
짐벌 잠금
회전을 적는 가장 흔한 방법은 세 각도입니다. 비행기라면 기수(cardinal number)를 좌우로 트는 요(위쪽 축 둘레), 기수를 들고 내리는 피치(날개 방향 축 둘레), 날개를 기울이는 롤(기수 방향 축 둘레)을 차례로 적용합니다(오일러 각, Euler angles). 직관적이지만 함정이 있습니다. 요
피치가 ±90°가 되어 기수가 똑바로 위나 아래를 향하면, 롤의 축(기수 방향)이 요의 축(위쪽)과 한 직선에 겹칩니다. 이때는 요를 돌리든 롤을 돌리든 같은 축 둘레로 돌 뿐이라, 각도는 셋인데 조금씩 움직일 수 있는 방향은 둘로 줄어듭니다. 세 개의 고리(짐벌, gimbal)가 차례로 안쪽 물체를 감싸 어느 방향으로든 돌 수 있게 만든 장치에서는 이 상황이 고리 둘이 한 평면에 겹치는 모습으로 나타나고, 그래서 짐벌 잠금(gimbal lock)이라 부릅니다. 아폴로 우주선의 관성(inertia) 항법 장치도 세 고리 짐벌을 써서 잠김에 가까운 자세를 피해야 했고, 아폴로 11호의 마이클 콜린스는 크리스마스 선물로 넷째 짐벌을 보내 달라는 농담을 남겼습니다. 사원수에는 이런 특이점(singularity)이 없습니다. 크기 1인 사원수는 4차원 공간의 단위 구면 위의 점이고, 모든 회전이 그 위에서 매끄럽게 두 점(q와 −q)씩 대응합니다.
그래서 오늘날 게임 엔진, 로봇 팔, 인공위성과 우주선의 자세 제어는 회전을 사원수로 저장하는 경우가 많습니다. 3×3 회전 행렬(rotation matrix)은 수 9개가 필요하고 계산 오차가 쌓이면 회전이 아닌 행렬(matrix)로 조금씩 틀어지지만, 사원수는 수 4개로 충분하고 크기를 1로 다시 맞추기만 하면 됩니다. 두 자세 사이를 부드럽게 잇기도 쉽습니다. 켄 쇼메이크가 1985년 컴퓨터 그래픽스 학회 SIGGRAPH에서 소개한 구면 선형 보간(slerp)은 두 단위 사원수를 잇는 구면 위의 대원(great circle) 호를 일정한 빠르기로 따라가며, 위 그림의 '돌리기'도 이 방법으로 움직입니다.
사원수에서 벡터로
해밀턴은 남은 생을 사원수에 바쳤고 1853년 『사원수 강의』를 펴냈습니다. 사원수를 실수부와 허수부(imaginary part) 벡터의 쌍 (a, (b, c, d))로 적으면, 실수부가 0인 두 사원수의 곱은
이어지는 곳. 사원수는 복소수와 허수 단위를 넓힌 것이고, 크기 1인 복소수가 평면의 회전이듯(극형식(polar form), 1의 거듭제곱근(roots of unity)) 크기 1인 사원수는 공간의 회전입니다. 같은 회전을 회전 행렬로 쓰면 회전축은 고유값(eigenvalue) 1의 고유벡터(eigenvector)이고, 회전을 잇따라 하는 것은 행렬의 곱입니다(선형변환, linear transformation). ±1, ±i, ±j, ±k 여덟 원소(element)는 곱셈에 대해 교환법칙이 성립하지 않는 작은 군(사원수군, quaternion group)을 이룹니다. 사원수의 크기 공식은 정수론의 네 제곱수 정리(Lagrange's four-square theorem)로 이어지고, 회전과 합성의 대수는 상대성 이론의 로런츠 변환으로, 그리고 q와 −q를 구별하는 성질 덕분에 한 바퀴 돌면 부호가 바뀌는 양자역학의 스핀으로 뻗어 갑니다. 벡터 해석의 두 곱, 내적과 벡터곱은 사원수의 곱셈에서 갈라져 나왔습니다.
이 개념이 나오는 긴 글
이 개념을 언급하는 페이지
- 복소수 곱셈
… 같은 일을 하는 수가 있을까요? 1843년 아일랜드의 해밀턴은 허수 단위를 i, j, k 셋으로 늘린사원수를 만들어 답했습니다. 사원수의 곱셈은 순서를 바꾸면 결과가 달라지는데, 3차원 회전도 순서에 따라 결과가 …
- 수 체계: 자연수에서 실수까지
… 0이면 (−i)·(−i) > 0이어서, 어느 쪽이든 −1 > 0이 되기 때문입니다. 더 나아간 해밀턴의사원수(1843)는 곱셈의 교환법칙마저 내려놓습니다. 앞 단계들도 공짜는 아니었습니다. ℤ에는 가장 작은 수가 …
- 군
… 회전 행렬로, 원 위를 도는 군은 1의 거듭제곱근과 복소수 곱셈으로 볼 수 있고, 3차원 회전은사원수의 곱셈으로 다룰 수 있습니다. 'p로 나눈 나머지의 곱셈' 군이 순환군이라는 사실이 원시근이고, 그 …
- 정수론
… 대수는 군과 다항식에 있습니다. 모든 자연수가 네 제곱수의 합이라는 1770년 라그랑주의 정리는사원수의 곱셈과 같은 식으로 이어집니다.
- 일반 상대성 이론
… 뉴턴의 답과 셋 이상일 때의 어려움은 삼체 문제에, 좌표를 바꾸는 변환의 대수는 선형변환과사원수에 있습니다. 1905년 무렵 푸앵카레도 특수 상대성 이론의 수학적 구조를 거의 같은 시기에 …