본문 바로가기

Fundamental

[Math] Useful Mathematical Identities and Tricks 정리

본 포스트에서는 수식을 유도할 때 자주 사용되는 수학적 동치 관계 또는 트릭에 대하여 정리한다. 필자는 주로 SLAM과 관련된 분야에 대한 수식과 논문을 많이 접하기 때문에 이와 관련된 수식을 정리하였다.

 

Skew-symmetric matrix 

3차원 벡터 v=[vx,vy,vz]R3가 있을 때 이에 대한 반대칭 행렬을 [v]×=[0vzvyvz0vxvyvx0]라고 하면 다음과 같은 성질이 성립한다.

(1)[v]×=[v]×[v]×2=vvvvI[Rv]×=R[v]×R

- RSO(3) : 임의의 회전 행렬

 

만약 u=1을 만족하는 단위 벡터 u가 주어진 경우 아래 공식이 성립한다.

(2)[u]×3=[u]×=[u]×[u]×2=uuI

 

임의의 두 벡터 a,bR3가 주어졌을 때 다음 법칙이 성립한다.

(3)[a]×b=[b]×a

 

임의의 세 벡터에 대하여 a=b×c 관계가 주어진 경우 외적의 성질에 의해 다음 공식이 성립한다.

(4)[a]×=cbbc

 

Determinant of matrix

XR2×2 행렬에 대한 행렬식(determinant)은 다음과 같다.

(5)X=[abcd]det(X)=adbc

 

임의의 정방행렬 A,BRn×n에 대하여 행렬식은 다음과 같은 성질을 지닌다.

(6)det(A)=det(A)det(cA)=cndet(A)det(AB)=det(A)det(B)det(A1)=1det(A)

 

Trace of matrix

Trace란 임의의 행렬 A가 주어졌을 때 행렬의 trace는 행렬의 대각 성분의 합을 의미하며 tr(A)와 같이 표기한다.

(7)tr(A)=i[A]ii

- [A]ij : 행렬 Aij열의 원소

 

Trace는 다음과 같은 성질을 지닌다.

(8)tr(A)=tr(A)tr(AB)=tr(BA)tr(A+B)=tr(A)+tr(B)tr(ABC)=tr(BCA)=tr(CAB)tr(AB)=i=1nj=1n[A]ij[B]ijab=tr(ba)

- a : 임의의 벡터

 

Linear transformation of Gaussian random variable

벡터 랜덤 변수 xRn가 가우시안 분포를 따를 때는 다음과 같이 표기할 수 있다.
(9)xN(μ,Σ)

x를 선형 변환(linear transformation)한 새로운 랜덤변수 y=Ax+b가 주어졌다고 하면 y는 아래와 같은 확률 분포를 따른다.
(10)y=Ax+bN(Aμ+b,AΣA)

 

 

SO(3) Group

각속도 벡터 ωR3이 주어졌을 때 이에 exponential mapping을 수행하면 회전 행렬 R을 얻는다. 아래와 같은 둘 사이의 변환 관계를 Rodrigues' formula라고 한다.
(11)R=Exp(ω)=I+sin(ω)ω[ω]×+1cos(ω)ω2[ω]×2
- Exp(ω)=exp([ω]×)

만약 각속도 벡터 ωR3의 크기가 작은 경우 다음과 같이 근사할 수 있다.
(12)Exp(ω)I+[ω]×

Exponential mapping은 다음과 같은 유용한 성질을 지닌다.
(13)Rexp([ω]×)R=exp(R[ω]×R)=exp([Rω]×)

위 식으로부터 다음 동치 관계가 성립한다.
(14)exp([ω]×)R=Rexp([Rω]×)

 

Left and Right Jacobian of SO(3) 

임의의 회전행렬 RSO(3)가 주어졌을 때 이를 지수 매핑(exponential mapping)에 대한 식으로 표현하면 다음과 같다.
(15)R=Exp(ω)
- RSO(3)
- ωso(3)
- Exp(ω)=exp([ω]×)
- [ω]× : 3차원 벡터 ω의 반대칭행렬(skew-symmetric matrix)

임의의 작은 변화량 Δω이 주어졌을 때 이를 기존 Exp(ω)에 업데이트 하는 방법은 다음과 같은 두 가지 방법이 존재한다. 우선 [1] 기본적인 lie algebra를 사용한 업데이트 방법이 있다. 다음으로 [2] 섭동(perturbation) 모델을 활용한 업데이트 방법이 있다. 
(16)Exp(ω+Δω)[1]Exp(ω)Exp(Δω)[2]

두 방법 사이에는 다음과 같은 변환 관계가 존재한다.
(17)Exp(ω+Δω)=Exp(ω)Exp(JrΔω)Exp(ω)Exp(Δω)=Exp(ω+Jr1Δω)
Jr=Jr(ω)R3×3\
Jr(ω)=I(1cos(ω)ω2)ω+(ωsin(ω)ω3)(ω)2 : SO(3)군의 오른쪽 자코비안(right jacobian)\
Jr(ω)1=I+12ω+(1ω21+cos(ω)2ωsin(ω))(ω)2 : SO(3)군의 오른쪽 자코비안의 역행렬\

위 식에서 Jr을 SO(3)군의 오른쪽 자코비안(right jacobian)이라고 부르며 Jr1을 SO(3)군의 오른쪽 자코비안의 역행렬(inverse right jacobian)이라고 부른다.

만약 업데이트 위치가 Exp(ω)Exp(Δω)처럼 오른쪽이 아닌 Exp(Δω)Exp(ω)와 같이 왼쪽에 곱해진다면 위와 유사한 공식이 유도되며 그 때 나오는 자코비안은 SO(3)군의 왼쪽 자코비안(left jacobian) Jl이라고 한다. Jl1 또한 동일하게 유도된다.
(18)Exp(ω+Δω)=Exp(JlΔω)Exp(ω)Exp(Δω)Exp(ω)=Exp(ω+Jl1Δω)

- Jl=Jl(ω)R3×3
- Jl(ω)=I+(1cos(ω)ω2)ω+(ωsin(ω)ω3)(ω)2 : SO(3)군의 왼쪽 자코비안(left jacobian)
- Jl(ω)1=I12ω+(1ω21+cos(ω)2ωsin(ω))(ω)2 : SO(3)군의 왼쪽 자코비안의 역행렬

(17), (18)는SO(3)군의 작은 섭동 변화량 Δω에 대해서만 유효한 공식임에 유의하며 이러한 근사 과정을 Baker-Campbell-Hausdorff(BCH) 근사라고 한다.

두 자코비안 Jl,Jr 사이에는 다음과 같은 변환 공식이 성립한다.
(19)Jl(ω)=Jr(ω)=Jr(ω)Jl1(ω)=Jr1(ω)=Jr(ω)

 

 

References

[1] Kay, Steven M. Fundamentals of statistical signal processing: estimation theory. Prentice-Hall, Inc., 1993.