\(
\newcommand{\bm}[1]{\boldsymbol{#1}}
\newcommand{\defeq}{\triangleq}
\newcommand{\liegrp}[2]{\mathrm{#1}(#2)}
\newcommand{\liealg}[2]{\mathfrak{#1}(#2)}
\newcommand{\SO}[1]{\liegrp{SO}{#1}}
\newcommand{\SE}[1]{\liegrp{SE}{#1}}
\newcommand{\so}[1]{\liealg{so}{#1}}
\newcommand{\se}[1]{\liealg{se}{#1}}
\newcommand{\Spin}[1]{\liegrp{Spin}{#1}}
\newcommand{\R}[1]{\mathbb{R}^{#1}}
\renewcommand{\P}[1]{\mathbb{P}^{#1}}
\newcommand{\T}[1]{\mathbb{T}^{#1}}
\renewcommand{\S}[1]{S^{#1}}
\newcommand{\Frame}[1]{\mathcal F_{#1}}
\renewcommand{\v}[1]{\bm{\mathbf{#1}}}
\newcommand{\vh}[1]{\bm{#1}}
\newcommand{\vhm}[1]{\bm{#1}}
\newcommand{\pt}[1]{#1}
\newcommand{\vecpt}[1]{\overrightarrow{\pt{#1}}}
\newcommand{\en}[1]{\mathqzc{#1}}
\newcommand{\vs}[1]{\mathcal{#1}}
\newcommand{\f}[3]{{}_{#2} \v{#1}_{#3}}
\newcommand{\F}[2]{\v{#1}_{#2}}
\newcommand{\fh}[3]{{}_{#2} \vh{#1}_{#3}}
\newcommand{\Fh}[2]{\vh{#1}_{#2}}
\newcommand{\trans}{^{\mkern-1.5mu\mathsf{T}}}
\newcommand{\inv}{^{-1}}
\newcommand{\origin}{\pt O}
\newcommand{\elvec}{p}
\newcommand{\fvec}[2]{\f{\elvec}{#1}{#2}}
\newcommand{\fvech}[2]{\fh{\elvec}{#1}{#2}}
\newcommand{\vvec}{\v{\elvec}}
\newcommand{\elvecg}{v}
\newcommand{\fvecg}[2]{\f{\elvecg}{#1}{#2}}
\newcommand{\vvecg}{\v{\elvecg}}
\newcommand{\elrot}{R}
\newcommand{\frot}[1]{\F{\elrot}{#1}}
\newcommand{\vrot}{\v{\elrot}}
\newcommand{\eltf}{T}
\newcommand{\ftf}[1]{\F{\eltf}{#1}}
\newcommand{\vtf}{\v{\eltf}}
\newcommand{\elgrp}{\Phi}
\newcommand{\fgrp}[1]{\F{\elgrp}{#1}}
\newcommand{\vgrp}{\v{\elgrp}}
\newcommand{\elalg}{\varphi}
\newcommand{\falg}[2]{\f{\elalg}{#1}{#2}}
\newcommand{\valg}{\v{\elalg}}
\newcommand{\elq}{q}
\newcommand{\fq}[1]{\F{\elq}{#1}}
\newcommand{\vq}{\v{\elq}}
\newcommand{\elrotmat}{C}
\newcommand{\frotmat}[1]{\F{\elrotmat}{#1}}
\newcommand{\vrotmat}{\v{\elrotmat}}
\newcommand{\Grp}{G}
\newcommand{\Op}{\circ}
\newcommand{\El}{\en g}
\newcommand{\ElB}{\en h}
\newcommand{\AlgEl}{\v X}
\newcommand{\AlgElB}{\v Y}
\newcommand{\Id}{\en e}
\newcommand{\Alg}{\mathfrak{g}}
\newcommand{\Tan}{\vs T}
\newcommand{\sevec}{\v\xi}
\newcommand{\setvec}{\v\rho}
\newcommand{\tvec}{\v t}
\newcommand{\rotvec}{\v\phi}
\newcommand{\hatop}{\wedge}
\newcommand{\crossop}{\times}
\newcommand{\Ad}{\mathrm{Ad}}
\newcommand{\ad}{\mathrm{ad}}
\newcommand{\alg}{\mathrm{alg}}
\newcommand{\eye}{\v I}
\newcommand{\zeros}{\v 0}
\)
wave_geometry
Docs »
Manifold operations
Manifold operations
wave_geometry
includes operations on \(\SO3\) , the Lie group of 3D rotations,
and \(\SE3\) , the group of 3D rigid transformations.
Supported manifold operations
Operation
Code
Composition
\(\vgrp \circ \vgrp\)
R * R
Inverse
\(\vgrp^{-1}\)
inverse(R)
Coordinate map
\(\vgrp (\vvec)\)
R * p
Exponential map
\(\exp(\valg)\)
exp(w)
Logarithmic map
\(\log(\vgrp)\)
log(R)
Manifold plus
\(\vgrp \boxplus \valg = \exp(\valg) \circ \vgrp\)
R + w
Manifold minus
\(\vgrp_1 \boxminus \vgrp_2 = \log(\vgrp_1 \circ \vgrp_2^{-1})\)
R - R
Above, \(\vgrp\) or R
represents a Lie group element, \(\valg\) or w
represents a Lie
algebra element, \(\vvec\) and p
represents a translation. The following operations are
supported for Euclidean elements, where \(\vvecg\) or v
represents any element of
\(\R{n}\) , \(\so3\) or \(\se3\) , and \(a\) or a
represents a scalar:vector
Supported vector operations
Operation
Code
Sum
\(\vvecg+\vvecg\)
v + v
Difference
\(\vvecg-\vvecg\)
v - v
Negation
\(-\vvecg\)
-v
Scalar multiplication
\(a\vvecg\)
a * v
Scalar division
\(\vvecg/a\)
v / a
Dot product
\(\vvecg \cdot \vvecg\)
dot(v, a)
These operations are supported for affine points, \(\vvec\) :
Supported point operations
Operation
Code
Translation between points
\(\vvec - \vvec = \vvecg\)
p - p
Point translation
\(\vvec + \vvecg = \vvec\)
p + v
Point translation
\(\vvec - \vvecg = \vvec\)
p - v