10.5 쿼터니언의 덧셈과 뺄셈

1. 덧셈의 정의

두 쿼터니언 \mathbf{q}_1 = q_{1,w} + q_{1,x}i + q_{1,y}j + q_{1,z}k\mathbf{q}_2 = q_{2,w} + q_{2,x}i + q_{2,y}j + q_{2,z}k의 덧셈은 성분별 덧셈으로 정의된다.

\mathbf{q}_1 + \mathbf{q}_2 = (q_{1,w} + q_{2,w}) + (q_{1,x} + q_{2,x})i + (q_{1,y} + q_{2,y})j + (q_{1,z} + q_{2,z})k

이는 4차원 벡터의 덧셈과 동일하다.

2. 스칼라-벡터 표기

스칼라 부분과 벡터 부분으로 분해된 표기를 사용하면 덧셈이 더 간결하게 표현된다.

\mathbf{q}_1 + \mathbf{q}_2 = (q_{1,w} + q_{2,w}, \mathbf{q}_{1,v} + \mathbf{q}_{2,v})

스칼라 부분과 벡터 부분이 각각 독립적으로 더해진다.

3. -튜플 표기

4-튜플 표기에서 덧셈은 다음과 같이 표현된다.

\begin{bmatrix}q_{1,w} \\ q_{1,x} \\ q_{1,y} \\ q_{1,z}\end{bmatrix} + \begin{bmatrix}q_{2,w} \\ q_{2,x} \\ q_{2,y} \\ q_{2,z}\end{bmatrix} = \begin{bmatrix}q_{1,w} + q_{2,w} \\ q_{1,x} + q_{2,x} \\ q_{1,y} + q_{2,y} \\ q_{1,z} + q_{2,z}\end{bmatrix}

이는 4차원 벡터 덧셈의 표준 형태이다.

4. 뺄셈의 정의

쿼터니언의 뺄셈도 성분별로 정의된다.

\mathbf{q}_1 - \mathbf{q}_2 = (q_{1,w} - q_{2,w}) + (q_{1,x} - q_{2,x})i + (q_{1,y} - q_{2,y})j + (q_{1,z} - q_{2,z})k

또는 스칼라-벡터 표기로

\mathbf{q}_1 - \mathbf{q}_2 = (q_{1,w} - q_{2,w}, \mathbf{q}_{1,v} - \mathbf{q}_{2,v})

뺄셈은 덧셈과 음수의 결합으로 볼 수 있다.

\mathbf{q}_1 - \mathbf{q}_2 = \mathbf{q}_1 + (-\mathbf{q}_2)

여기서 -\mathbf{q}_2는 모든 성분의 부호를 반전시킨 쿼터니언이다.

5. 스칼라 곱

쿼터니언과 실수 스칼라 \alpha의 곱은 모든 성분에 스칼라를 곱하는 것이다.

\alpha\mathbf{q} = \alpha q_w + \alpha q_x i + \alpha q_y j + \alpha q_z k

또는

\alpha\mathbf{q} = (\alpha q_w, \alpha\mathbf{q}_v)

스칼라 곱은 가환적이다(\alpha\mathbf{q} = \mathbf{q}\alpha). 이는 스칼라 곱이 실제로는 쿼터니언 곱의 특수한 경우이지만, 스칼라(순수 스칼라 쿼터니언)는 다른 쿼터니언과 가환하기 때문이다.

6. 덧셈의 대수적 성질

쿼터니언 덧셈은 다음의 성질을 만족한다.

6.1 가환 법칙

\mathbf{q}_1 + \mathbf{q}_2 = \mathbf{q}_2 + \mathbf{q}_1

성분별 덧셈이므로 자명하게 성립한다.

6.2 결합 법칙

(\mathbf{q}_1 + \mathbf{q}_2) + \mathbf{q}_3 = \mathbf{q}_1 + (\mathbf{q}_2 + \mathbf{q}_3)

6.3 항등원

영원소 \mathbf{0} = (0, \mathbf{0})가 존재한다.

\mathbf{q} + \mathbf{0} = \mathbf{0} + \mathbf{q} = \mathbf{q}

6.4 역원

모든 쿼터니언 \mathbf{q}에 대해 그 음수 -\mathbf{q}가 존재한다.

\mathbf{q} + (-\mathbf{q}) = \mathbf{0}

이러한 성질로 인해 쿼터니언 집합 \mathbb{H}는 덧셈에 관해 가환군(commutative group)을 이룬다. 또한 스칼라 곱과 결합하여 4차원 벡터 공간을 형성한다.

7. 분배 법칙

쿼터니언 곱에 대한 덧셈의 분배 법칙은 다음과 같이 성립한다.

7.1 좌측 분배

\mathbf{q}_1(\mathbf{q}_2 + \mathbf{q}_3) = \mathbf{q}_1\mathbf{q}_2 + \mathbf{q}_1\mathbf{q}_3

7.2 우측 분배

(\mathbf{q}_1 + \mathbf{q}_2)\mathbf{q}_3 = \mathbf{q}_1\mathbf{q}_3 + \mathbf{q}_2\mathbf{q}_3

분배 법칙은 좌측과 우측 모두 성립하지만, 곱의 비가환성으로 인해 두 식은 일반적으로 같지 않다.

이러한 성질로 인해 쿼터니언은 결합 대수(associative algebra)를 형성한다.

8. 덧셈과 회전의 의미 차이

쿼터니언 덧셈은 단순한 4차원 벡터 덧셈이지만, 회전 표현의 관점에서는 특별한 의미가 없다. 즉, 두 쿼터니언의 합은 일반적으로 두 회전의 합성을 나타내지 않는다.

8.1 회전 합성과 곱

두 회전의 합성은 쿼터니언 곱으로 표현된다.

\mathbf{q}_{\text{합성}} = \mathbf{q}_2\mathbf{q}_1

이는 회전 행렬의 곱과 마찬가지로 비가환적이다.

8.2 덧셈의 적용

쿼터니언 덧셈은 회전이 아닌 다음과 같은 경우에 사용된다.

  1. 선형 보간 (LERP): 두 쿼터니언의 가중 합으로 정의되며, 회전 보간의 단순 형태이다.
  2. 잔차 계산: 두 쿼터니언의 차이를 계산할 때 단순 뺄셈이 사용될 수 있다.
  3. 평균 계산: 여러 쿼터니언의 평균을 추정할 때 단순 덧셈 후 정규화하는 방법이 사용된다.
  4. 공분산 행렬: 4차원 벡터로 다룰 때 통계적 모멘트 계산에 사용된다.
  5. 수치 적분: 일부 적분 알고리즘에서 작은 변화의 합을 누적할 때 사용된다.

9. 단위 쿼터니언과 덧셈

단위 쿼터니언(\lVert\mathbf{q}\rVert = 1)의 집합은 4차원 단위 구면 S^3이다. 두 단위 쿼터니언의 합은 일반적으로 단위 쿼터니언이 아니다.

\lVert \mathbf{q}_1 + \mathbf{q}_2 \rVert \neq 1 \quad \text{(일반적으로)}

따라서 단위 쿼터니언의 집합은 덧셈에 대해 닫혀 있지 않다. 회전 표현에서 단위 쿼터니언의 합을 다시 단위 쿼터니언으로 만들려면 정규화가 필요하다.

\mathbf{q}_{\text{norm}} = \frac{\mathbf{q}_1 + \mathbf{q}_2}{\lVert \mathbf{q}_1 + \mathbf{q}_2 \rVert}

이것이 NLERP(Normalized LERP)의 기본 원리이다.

10. 덧셈의 응용

10.1 선형 보간 (LERP)

두 쿼터니언 사이의 선형 보간은 가중 덧셈으로 정의된다.

\mathbf{q}(t) = (1 - t)\mathbf{q}_0 + t\mathbf{q}_1

이는 4차원 공간의 직선 보간이며, 결과는 일반적으로 단위 쿼터니언이 아니다.

10.2 정규화된 선형 보간 (NLERP)

LERP 후 정규화하면 NLERP가 된다.

\mathbf{q}(t) = \frac{(1 - t)\mathbf{q}_0 + t\mathbf{q}_1}{\lVert (1 - t)\mathbf{q}_0 + t\mathbf{q}_1 \rVert}

NLERP는 단위 쿼터니언을 보장하지만 일정한 각속도는 보장하지 않는다.

10.3 자세 추정의 평균

여러 자세 측정값의 평균을 추정할 때, 다음의 단순 평균이 사용된다.

\bar{\mathbf{q}} = \frac{1}{N}\sum_{i=1}^N \mathbf{q}_i

결과를 정규화하면 단위 쿼터니언이 된다. 이는 작은 회전 차이가 있는 자세들의 평균에 대한 좋은 근사이다.

큰 회전 차이가 있는 경우 더 정교한 방법(고유값 분해 기반)이 필요하다.

10.4 이산 시간 적분

자세 추정 시스템에서 작은 시간 단계의 쿼터니언 변화를 적분할 때, 미세한 변화가 누적된다.

\mathbf{q}_{k+1} = \mathbf{q}_k + \dot{\mathbf{q}}_k\Delta t

이는 1차 오일러 적분이며 매 단계 후 정규화가 필요하다. 더 정확한 적분은 쿼터니언 곱을 사용한다.

10.5 잔차 계산

자세 추정의 잔차로 두 쿼터니언의 차이가 사용될 수 있다.

\mathbf{r} = \mathbf{q}_{\text{측정}} - \mathbf{q}_{\text{예측}}

단, 이는 작은 차이의 경우에만 의미가 있다. 일반적인 잔차는 쿼터니언의 곱(차이 회전)으로 정의된다.

11. 부호 이중성과 덧셈

쿼터니언의 부호 이중성(\mathbf{q}-\mathbf{q}가 같은 회전)이 덧셈에 영향을 준다. 두 쿼터니언을 더할 때 두 가지 가능성이 있다.

\mathbf{q}_1 + \mathbf{q}_2 \quad \text{또는} \quad \mathbf{q}_1 + (-\mathbf{q}_2) = \mathbf{q}_1 - \mathbf{q}_2

두 결과가 다른 4차원 벡터이므로, 보간이나 평균 계산에서 부호 보정이 필요하다.

11.1 부호 보정 절차

내적이 음수이면 한 쪽의 부호를 반전시킨다.

\text{if } \mathbf{q}_1 \cdot \mathbf{q}_2 < 0: \mathbf{q}_2 \leftarrow -\mathbf{q}_2

이렇게 하면 두 쿼터니언이 4차원 공간에서 가까운 위치에 있게 되어 덧셈이 의미 있는 결과를 산출한다.

12. 덧셈의 효율성

쿼터니언 덧셈은 매우 효율적이다.

  • 4 덧셈
  • 추가 메모리 없음
  • 결합 법칙으로 다중 덧셈 가능

이는 회전 행렬의 합이나 다른 자세 표현보다 단순하다.

13. 차원 벡터로서의 쿼터니언

쿼터니언을 4차원 벡터로 다룰 때, 덧셈, 스칼라 곱, 노름 등 모든 벡터 공간 연산이 적용된다. 이는 쿼터니언의 통계적 분석, 칼만 필터 구현 등에서 자연스럽게 사용된다.

다만, 쿼터니언 곱이 4차원 벡터의 표준 연산이 아니라는 점에 유의해야 한다. 쿼터니언 곱은 추가 구조이며, 이것이 쿼터니언을 단순한 4차원 벡터 이상으로 만든다.

14. 참고 문헌

  • Hamilton, W. R. (1844). “On Quaternions; or on a New System of Imaginaries in Algebra.” Philosophical Magazine, Vol. 25, 489–495.
  • Kuipers, J. B. (1999). Quaternions and Rotation Sequences. Princeton University Press.
  • Sola, J. (2017). “Quaternion Kinematics for the Error-State Kalman Filter.” arXiv:1711.02508.
  • Conway, J. H., & Smith, D. A. (2003). On Quaternions and Octonions. A K Peters.
  • Diebel, J. (2006). “Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors.” Stanford University Technical Report.

version: 1.0