Changelog
All notable Changes to the Julia package LieGroups.jl
will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.0] β unreleased
Everything denoted by βformerlyβ refers to the previous name in Manifolds.jl
.
Added
LieAlgebra
LieGroup
(formerlyGroupManifold
) as well as the concrete groupsTranslationGroup
GeneralLinearGroup
(formerlyGeneralLinear
)HeisenbergGroup
LeftSemidirectProductLieGroup
(formerlySemidirectProductGroup
)β
(alias forLeftSemidirectProductGroupOperation
when adefault_left_action(G,H)
is defined for the two groups)PowerLieGroup
(formerlyPowerGroup
)PowerGroupOperation
to internally avoid ambiguities. Since the constructor always expects a Lie group, this is only necessary internallyProductLieGroup
(formerlyProductGroup
)RightSemidirectProductLieGroup
β
(alias forRightSemidirectProductGroupOperation
when adefault_right_action(G,H)
is defined for the two groups)
AbstractGroupOperation
as well as its concrete subtypesAdditionGroupOperation
(formerlyAdditionOperation
)MultiplicationGroupOperation
(formerlyMultiplicationOperation
)PowerGroupOperation
(formerly the Lie group was stored inside a power manifold)ProductGroupOperation
(formerly the Lie groups were stored inside a product manifold)LeftSemidirectProductGroupOperation
(this was formerly only implicitly stored in theSemidirectProductGroup
)RightSemidirectProductGroupOperation
AbstractGroupActionType
with its 2 specific (new) abstract subtypesAbstractLeftGroupActionType
AbstractRightGroupActionType
- For the group operation actions there are now
LeftGroupOperationAction
(formerlyLeftForwardAction
)RightGroupOperationAction
(formerlyRightBackwardAction
)InverseLeftGroupOperationAction
(formerlyRightForwardAction
)InverseRightGroupOperationAction
(formerlyLeftBackwardAction
)
LieAlgebraOrthogonalBasis
(replacesVeeOrthogonalBasis
, which is still available inManifoldsBase.jl
)Identity
apply
andapply!
base_manifold
to access the manifold within a Lie groupcompose
andcompose!
conjugate
andconjugate!
diff_apply
,diff_apply!
,diff_group_apply
, anddiff_group_apply!
(formerlyapply_diff_[group][!]
)diff_conjugate
anddiff_conjugate!
diff_left_compose
,diff_left_compose!
,diff_right_compose
,diff_right_compose!
(formerlytranslate_diff
with different sides)exp(G::LieGroup, g, X)
andexp!(G::LieGroup, h, g, X)
(formerlyexp_inv
andexp_inv!
)exp(G::LieGroup, ::Identity, X)
andexp!(G::LieGroup, h, ::Identity, X)
(formerlyexp_lie
andexp_lie!
)hat
andhat!
, with slightly different signatures, since the base point is omitted.identity_element
andidentity_element!
inv
andinv!
(inv(::AbstractGroupAction)
was formerlyswitch_direction
)inv_left_compose
,inv_left_compose!
andinv_right_compose
,inv_right_compose!
(these functions correspond toinverse_translate
with corresponding direction and side)is_identity
lie_bracket
andlie_bracket!
log(G::LieGroup, g, h)
andlog!(G::LieGroup, X, g, h)
(formerlylog_inv
andlog_inv!
)log(G::LieGroup, ::Identity, g)
andlog!(G::LieGroup, X, ::Identity, g)
(formerlylog_lie
andlog_lie!
)switch
(formerlyswitch_side
)vee
andvee!
, with slightly different signatures, since the base point is omitted.
Compared to Manifolds.jl
- all
translate
functions are not implemented here, since you can just usecompose
. The differentials are implemented as listed above with respect to both left and right argument of compose - all
inverse_apply
functions are not implemented here, since it is recommended to useapply(inv(A), g, p)
as a replacement.
Old Changelog pre 0.1.0
Two previous releases where done by Yueh-Hua Tu in 2022 before he was so kind to transfer the development to the JuliaManifolds GitHub organisation.
All notable changes to this project will be documented in this file.
[0.0.2]
- fix SE{3} and add jacobian
- define dof and dim for Lie algebra and jacobian of inv
- add action for SE{N}
- add se3_location example