10.54 지수 사상과 로그 사상의 관계

1. 지수 사상과 로그 사상의 개요

리 군 이론에서 지수 사상(exponential map)과 로그 사상(logarithmic map)은 서로의 역함수 관계에 있는 두 가지 핵심 사상이다. SO(3) 회전군의 경우, 이 두 사상은 리 대수 \mathfrak{so}(3)(반대칭 행렬 또는 회전 벡터)와 리 군 SO(3)(회전 행렬) 사이의 변환을 수행한다.

본 절에서는 두 사상의 정의, 관계, 성질, 그리고 응용을 체계적으로 다룬다.

2. 지수 사상의 정의

2.1 SO(3)에서의 지수 사상

\exp: \mathfrak{so}(3) \to SO(3)

회전 벡터 \boldsymbol{\phi}(또는 반대칭 행렬 [\boldsymbol{\phi}]_\times)로부터 회전 행렬로의 사상이다.

\mathbf{R} = \exp([\boldsymbol{\phi}]_\times)

2.2 닫힌 형태 (로드리게스 공식)

\exp([\boldsymbol{\phi}]_\times) = \mathbf{I} + \frac{\sin\phi}{\phi}[\boldsymbol{\phi}]_\times + \frac{1 - \cos\phi}{\phi^2}[\boldsymbol{\phi}]_\times^2

여기서 \phi = \lVert\boldsymbol{\phi}\rVert이다.

3. 로그 사상의 정의

3.1 SO(3)에서의 로그 사상

\log: SO(3) \to \mathfrak{so}(3)

회전 행렬 \mathbf{R}로부터 회전 벡터로의 사상이다.

[\boldsymbol{\phi}]_\times = \log(\mathbf{R})

3.2 닫힌 형태

\log(\mathbf{R}) = \frac{\phi}{2\sin\phi}(\mathbf{R} - \mathbf{R}^T)

여기서

\phi = \arccos\left(\frac{\mathrm{tr}(\mathbf{R}) - 1}{2}\right)

4. 두 사상의 역함수 관계

지수 사상과 로그 사상은 서로의 역함수이다.

4.1 역함수 성질

\log(\exp([\boldsymbol{\phi}]_\times)) = [\boldsymbol{\phi}]_\times \quad \text{for } \lVert\boldsymbol{\phi}\rVert < \pi

\exp(\log(\mathbf{R})) = \mathbf{R}

4.2 제한된 영역

이 역함수 관계는 \lVert\boldsymbol{\phi}\rVert < \pi의 영역에서 일대일이다. 경계 \lVert\boldsymbol{\phi}\rVert = \pi에서는 다가성이 있다(\boldsymbol{\phi}-\boldsymbol{\phi}가 같은 회전).

5. 지수 사상의 기하학적 의미

5.1 접공간에서 리 군으로

지수 사상은 리 군의 단위 원소에서의 접공간(\mathfrak{so}(3))에서 리 군(SO(3))으로의 사상이다. 접공간의 한 점이 리 군의 “경로“를 통해 특정 원소로 도달한다.

5.2 무한소 회전의 적분

회전 벡터 \boldsymbol{\phi}를 “\phi만큼의 무한소 회전을 연속적으로 적분한 것“으로 볼 수 있다. 지수 사상은 이 적분의 결과이다.

5.3 스크류 운동

SE(3)의 경우 지수 사상은 스크류 운동에 대응한다. 트위스트(각속도와 선형 속도의 결합)를 t 시간 동안 적용한 결과가 \exp(t\boldsymbol{\xi})이다.

6. 로그 사상의 기하학적 의미

6.1 리 군에서 접공간으로

로그 사상은 리 군의 원소에서 접공간으로의 “역사영“이다. 회전 행렬이 “얼마나 많은 무한소 회전의 적분인지“를 결정한다.

6.2 측지선 거리

로그 사상의 크기는 단위 원소에서 해당 리 군 원소까지의 측지선 거리에 비례한다. 이는 회전의 크기(회전 각)를 측정하는 자연스러운 방법이다.

7. 작은 회전에서의 근사

7.1 지수 사상

\phi \to 0일 때

\exp([\boldsymbol{\phi}]_\times) \approx \mathbf{I} + [\boldsymbol{\phi}]_\times

이는 1차 테일러 전개이며, 작은 회전의 선형 근사이다.

7.2 로그 사상

작은 회전에서

\log(\mathbf{R}) \approx \mathbf{R} - \mathbf{I}

정확히는 (\mathbf{R} - \mathbf{R}^T)/2이지만, 작은 회전에서는 \mathbf{R} - \mathbf{I}가 대부분 반대칭이다.

8. 사상의 성질

8.1 지수 사상의 성질

  1. 연속성: 매끄러운 사상이다.
  2. 미분 가능성: 모든 차수의 도함수가 존재한다.
  3. 전사성: SO(3) 전체를 덮는다.
  4. 일대일이 아님: 전역적으로 일대일이 아니다 (\boldsymbol{\phi}\boldsymbol{\phi} + 2\pi\hat{\mathbf{u}}가 같은 회전).

8.2 로그 사상의 성질

  1. 지역적 연속성: 대부분의 영역에서 연속적이다.
  2. 경계 특이점: \phi = \pi에서 다가성이 있다.
  3. 지수의 역: 지수 사상의 역함수이다.

9. 매개변수의 다가성

9.1 지수 사상의 다가성

같은 회전 행렬에 대응하는 무수히 많은 회전 벡터가 존재한다.

\exp([\boldsymbol{\phi}]_\times) = \exp([\boldsymbol{\phi} + 2\pi k\hat{\mathbf{u}}]_\times)

여기서 k는 정수이고 \hat{\mathbf{u}} = \boldsymbol{\phi}/\lVert\boldsymbol{\phi}\rVert이다. 이는 회전의 주기성을 반영한다.

9.2 관례

일반적으로 \lVert\boldsymbol{\phi}\rVert \leq \pi의 영역을 사용한다. 이 영역에서 로그 사상이 “가장 짧은” 회전 벡터를 반환한다.

10. 쿼터니언의 지수와 로그

쿼터니언도 지수와 로그 사상을 가진다.

10.1 쿼터니언 지수

순수 벡터 쿼터니언 \mathbf{v} = (0, \mathbf{v}_v)의 지수는

\exp(\mathbf{v}) = \left(\cos\lVert\mathbf{v}_v\rVert, \frac{\sin\lVert\mathbf{v}_v\rVert}{\lVert\mathbf{v}_v\rVert}\mathbf{v}_v\right)

10.2 쿼터니언 로그

단위 쿼터니언 \mathbf{q} = (q_w, \mathbf{q}_v)의 로그는

\log(\mathbf{q}) = \left(0, \frac{\arccos(q_w)}{\lVert\mathbf{q}_v\rVert}\mathbf{q}_v\right)

이는 순수 벡터 쿼터니언으로, 그 벡터 부분이 회전 벡터의 절반이다.

10.3 관계

\log(\mathbf{q})_v = \frac{\boldsymbol{\phi}}{2}

쿼터니언 로그의 벡터 부분이 회전 벡터의 절반이다. 이는 쿼터니언이 회전 각의 절반을 사용하기 때문이다.

11. 지수 사상의 계산

11.1 직접 계산

회전 벡터의 크기와 방향을 계산한 후 로드리게스 공식을 적용한다.

function exp_so3(phi):
    angle = norm(phi)
    if angle < epsilon:
        # 작은 각도 근사
        return I + skew(phi)
    else:
        axis = phi / angle
        return I + sin(angle) * skew(axis) + (1 - cos(angle)) * skew(axis)^2

11.2 효율성

약 10-20 연산이 필요하다. 삼각 함수(sin, cos)가 주요 비용이다.

12. 로그 사상의 계산

12.1 직접 계산

대각합으로부터 회전 각을 계산하고, 반대칭 부분에서 회전 축을 추출한다.

function log_SO3(R):
    cos_angle = (trace(R) - 1) / 2
    cos_angle = clamp(cos_angle, -1, 1)
    angle = acos(cos_angle)
    
    if angle < epsilon:
        # 작은 회전 근사
        return vee((R - R.T) / 2)
    else:
        factor = angle / (2 * sin(angle))
        return vee((R - R.T) * factor)

12.2 효율성

약 10-20 연산이 필요하다. 역삼각 함수와 나눗셈이 주요 비용이다.

13. 수치적 안정성

13.1 지수 사상

매우 안정적이다. 삼각 함수의 계산이 수치적으로 잘 정의되어 있다.

13.2 로그 사상

작은 회전(\phi \approx 0)과 큰 회전(\phi \approx \pi)에서 주의가 필요하다.

  • \phi \approx 0: \sin\phi가 0에 가까워 분모가 작아진다. 테일러 전개로 근사한다.
  • \phi \approx \pi: 반대칭 부분이 작아지고 축 추출이 불안정하다. 대각 성분으로부터 축을 추출한다.

14. 지수 사상과 로그 사상의 응용

14.1 회전 적분

각속도로부터 회전을 적분할 때 지수 사상이 사용된다.

\mathbf{R}(t + \Delta t) = \mathbf{R}(t)\exp([\boldsymbol{\omega}\Delta t]_\times)

이는 정확하고 단위 노름을 보존한다.

14.2 보간

두 회전 사이의 SLERP는 로그와 지수를 사용하여 계산할 수 있다.

\mathbf{R}(t) = \mathbf{R}_0\exp(t\log(\mathbf{R}_0^T\mathbf{R}_1))

14.3 최적화

비선형 최적화에서 회전을 매개화할 때, 현재 자세에 작은 회전 벡터를 지수 사상으로 더한다.

\mathbf{R}_{\text{new}} = \mathbf{R}_{\text{current}}\exp([\delta\boldsymbol{\phi}]_\times)

이는 자세를 자유 매개변수(\delta\boldsymbol{\phi})로 매개화한다.

14.4 측지선 거리

두 회전 사이의 측지선 거리는 로그 사상의 크기이다.

d(\mathbf{R}_1, \mathbf{R}_2) = \lVert\log(\mathbf{R}_1^T\mathbf{R}_2)\rVert

이는 SO(3) 매니폴드 상의 거리 척도이다.

14.5 자세 추정

오류 상태 칼만 필터(ESKF)에서 자세 오차를 회전 벡터로 표현하고, 지수 사상으로 자세에 적용한다.

15. 일반 리 군에서의 지수와 로그

지수와 로그 사상은 SO(3) 외에도 일반 리 군에서 정의된다.

15.1 SE(3)의 경우

SE(3) 리 군(강체 변환)의 지수 사상은 트위스트를 동차 변환 행렬로 사상한다.

\exp([\boldsymbol{\xi}]^\wedge) = \begin{bmatrix}\exp([\boldsymbol{\omega}]_\times) & \mathbf{J}_l(\boldsymbol{\omega})\mathbf{v} \\ \mathbf{0}^T & 1\end{bmatrix}

여기서 \boldsymbol{\xi} = (\boldsymbol{\omega}, \mathbf{v})는 트위스트이고 \mathbf{J}_l은 좌측 야코비안이다.

15.2 일반 매트릭스 리 군

일반 매트릭스 리 군 G에 대해 지수 사상은 행렬 지수 함수이다.

\exp(\mathbf{A}) = \sum_{k=0}^{\infty}\frac{\mathbf{A}^k}{k!}

이는 모든 정방 행렬에 대해 잘 정의된다.

16. 베이커-캠벨-하우스도르프 공식

두 리 군 원소의 곱의 로그는 BCH 공식으로 주어진다.

\log(\exp(\mathbf{X})\exp(\mathbf{Y})) = \mathbf{X} + \mathbf{Y} + \frac{1}{2}[\mathbf{X}, \mathbf{Y}] + \frac{1}{12}([\mathbf{X}, [\mathbf{X}, \mathbf{Y}]] - [\mathbf{Y}, [\mathbf{X}, \mathbf{Y}]]) + \cdots

여기서 [\cdot, \cdot]은 리 브래킷이다. 이는 회전 벡터의 합성이 단순한 벡터 덧셈이 아닌 이유이다.

16.1 작은 벡터의 근사

\mathbf{X}\mathbf{Y}가 작으면

\log(\exp(\mathbf{X})\exp(\mathbf{Y})) \approx \mathbf{X} + \mathbf{Y} + \frac{1}{2}[\mathbf{X}, \mathbf{Y}]

이는 BCH 공식의 주요 항만 사용한 근사이다.

17. 실제 구현

17.1 C++ 라이브러리

Sophus 라이브러리는 SO(3)SE(3)의 지수와 로그 사상을 효율적으로 구현한다.

Eigen::Vector3d phi = ...;
Sophus::SO3d R = Sophus::SO3d::exp(phi);
Eigen::Vector3d phi_back = R.log();

17.2 Python 라이브러리

SciPy의 Rotation 클래스가 유사한 기능을 제공한다.

from scipy.spatial.transform import Rotation
R = Rotation.from_rotvec(phi)
phi_back = R.as_rotvec()

18. 지수 사상과 로그 사상의 교육적 가치

지수 사상과 로그 사상은 리 군 이론의 핵심 개념이다. 이를 이해하는 것은 다음의 교육적 가치를 가진다.

  1. 리 군의 구조: 리 군과 리 대수의 관계를 이해
  2. 매니폴드 최적화: 매니폴드 상의 최적화 원리 파악
  3. 자세 추정: 현대 자세 추정 알고리즘의 기반 이해
  4. SLAM: 그래프 기반 SLAM의 수학적 배경 파악

19. 결론

지수 사상과 로그 사상은 SO(3) 회전군의 리 대수와 리 군 사이의 자연스러운 사상이다. 서로의 역함수 관계를 통해 회전 벡터와 회전 행렬 사이의 변환을 제공하며, 비선형 최적화, 자세 추정, 보간 등 다양한 응용의 수학적 기반이 된다. 현대 로봇 공학, SLAM, 자세 추정 이론에서 필수적인 도구이다.

20. 참고 문헌

  • Hall, B. C. (2015). Lie Groups, Lie Algebras, and Representations: An Elementary Introduction (2nd ed.). Springer.
  • Sola, J. (2017). “Quaternion Kinematics for the Error-State Kalman Filter.” arXiv:1711.02508.
  • Barfoot, T. D. (2017). State Estimation for Robotics. Cambridge University Press.
  • Chirikjian, G. S. (2011). Stochastic Models, Information Theory, and Lie Groups, Volume 2. Birkhäuser.
  • Bloesch, M., et al. (2016). “A Primer on the Differential Calculus of 3D Orientations.” arXiv:1606.05285.

version: 1.0