manif
A small library for Lie theory
Unofficial partial port of manif
Warning WIP
TODO
- impl SO2
- impl SE2
- impl SE3
- move common tests to macroses
- move some impl into trait defaults
- add docs
Available Operations
Operation | Code | |
---|---|---|
Base Operation | ||
Inverse | X.manif_inverse() |
|
Composition |
X * Y X.compose(Y)
|
|
Hat | w.hat() |
|
Act on vector | X.act(v) |
|
Retract to group element | w.exp_map() |
|
Lift to tangent space | X.log_map() |
|
Manifold Adjoint | X.adj() |
|
Tangent adjoint | w.small_adj() |
|
Composed Operation | ||
Manifold right plus |
X + w X.plus(w) X.rplus(w)
|
|
Manifold left plus |
w + X w.plus(X) w.lplus(X)
|
|
Manifold right minus |
X - Y X.minus(Y) X.rminus(Y)
|
|
Manifold left minus | X.lminus(Y) |
|
Between | X.between(Y) |
|
Inner Product | w.inner(t) |
|
Norm |
w.weightedNorm() w.squaredWeightedNorm()
|
Above, w,t
represent the same elements of the tangent space
but expressed in Cartesian coordinates in v
represents any element of
Jacobians
All operations come with their respective analytical Jacobian matrices. Throughout manif, Jacobians are differentiated with respect to a local perturbation on the tangent space. These Jacobians map tangent spaces, as described in this paper.
Currently, manif implements the right Jacobian, whose definition reads:
The Jacobians of any of the aforementionned operations can then be evaluated:
License
GNU GPLv3