Skip to content

Commit

Permalink
Merge branch 'kellertuer/general-linear-group' of github.com:JuliaMan…
Browse files Browse the repository at this point in the history
…ifolds/LieGroups.jl into kellertuer/general-linear-group

# Conflicts:
#	docs/src/tutorials/transition.md
  • Loading branch information
kellertuer committed Oct 28, 2024
2 parents d702a76 + 9339660 commit a3c2c36
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 14 deletions.
1 change: 1 addition & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ Everything denoted by “formerly” refers to the previous name in [`Manifolds.
* `LieAlgebra`
* `LieGroup` (formerly `GroupManifold`) as well as the concrete groups
* `TranslationGroup`
* `GeneralLinearGroup` (formerly `GeneralLinear`)
* `AbstractGroupOperation` as well as its concrete subtypes
* `AdditionGroupOperation` (formerly `AdditionOperation`)
* `AbstractGroupActionType` with its 2 specific (new) abstract
Expand Down
4 changes: 2 additions & 2 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ end
tutorials_menu =
"How to..." => [
"🚀 Get Started with LieGroups.jl" => "tutorials/getstarted.md",
"Transistion from `GroupManifolds`" => "tutorials/transition.md",
"Transition from `GroupManifolds`" => "tutorials/transition.md",
]
# (e) finally make docs
bib = CitationBibliography(joinpath(@__DIR__, "src", "references.bib"); style=:alpha)
Expand All @@ -123,7 +123,7 @@ makedocs(;
"About" => "about.md",
(tutorials_in_menu ? [tutorials_menu] : [])...,
"Lie groups" => [
"List of Lie Groups" => "groups/index.md",
"List of Lie groups" => "groups/index.md",
"General Linear" => "groups/general_linear.md",
"Translation group" => "groups/translation.md",
],
Expand Down
8 changes: 4 additions & 4 deletions docs/src/tutorials/transition.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Transition from `GroupManifolds` in `Manifolds.jl`

One predecessor of `LieGroups.jl` are the [`GroupManifold`](@extref `Manifolds.GroupManifold`)s in `Manifoldsjl`.
One predecessor of `LieGroups.jl` are the [`GroupManifold`](@extref `Manifolds.GroupManifold`)s in `Manifolds.jl`.
While this package provides the same features, one reason for a new package is,
that a “restart” offers the opportunity to put the main focus for the functions in this package
really on Lie groups.
Expand All @@ -25,7 +25,7 @@ The list is alphabetical, but first lists types, then functions
| `LeftForwardAction` | [`LeftGroupOperation`](@ref)
| `RightBackwardAction` | [`RightGroupOperation`](@ref) | |
| `LeftBackwardAction` | [`InverseRightGroupOperation`](@ref) | note that this is now also aa [`AbstractLeftGroupActionType`](@ref) |
| | [`LieAlgebra`](@ref)`(G)` | new to emphasize its menifold- and vector structure as well as for a few dispatch methods. |
| | [`LieAlgebra`](@ref)`(G)` | new alias to emphasize its manifold- and vector structure as well as for a few dispatch methods. |
| `GroupManifold(M, op)` | [`LieGroup`](@ref)`(M, op)` | |
| `RightForwardAction` | [`InverseLeftGroupOperation`](@ref) | note that this is an [`AbstractRightGroupActionType`](@ref) |
| `adjoint` | [`adjoint`](@ref) | now implemented with a default, when you provide [`diff_conjugate!`](@ref).
Expand All @@ -44,9 +44,9 @@ The list is alphabetical, but first lists types, then functions
| `switch_direction(A)` | [`inv`](@ref inv(::AbstractGroupAction))`(A)` | switches from an action to its inverse action (formerly the direction forward/backward, sometimes even left/right, do not confuse with the side left/right). |
| `switch_side(A)` | [`switch`](@ref switch(::AbstractGroupAction))`(A)` | switches from a left action to its corresponding right action. |
| `translate(G, g, h)` | [`compose`](@ref)`(G, g, h)` | unified to `compose` |
| `translate_diff(G, g, X, c)` | [`diff_left_compose`](@ref)`(G, g, h, X)`, [`diff_right_compose`](@ref)`(G, g, h, X)` | for compose ``∘(g,h)` we specify now whether we take the derivative with respect to the left (`g`) or right (`h`) argument
| `translate_diff(G, g, X, c)` | [`diff_left_compose`](@ref)`(G, g, h, X)`, [`diff_right_compose`](@ref)`(G, g, h, X)` | for compose ``∘(g, h)`` we specify now whether we take the derivative with respect to the left (`g`) or right (`h`) argument |
|`VeeOrthogonalBasis` | [`LieAlgebraOrthogonalBasis`](@ref) | |

# Notable changes

* The [`GeneralLinearGroup`](@ref) (formerly `GeneralLinear`) switched to using its Lie algebra to represent tangent vectors
* The [`GeneralLinearGroup`](@ref) (formerly `GeneralLinear`) switched to using its Lie algebra to represent tangent vectors.
2 changes: 1 addition & 1 deletion src/documentation_glossary.jl
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ define!(
_tex(:Set, elem * raw"\ " * _tex(Symbol("$(size)")) * raw"|\ " * "$(cond)", size),
)
define!(:LaTeX, :sum, raw"\sum")
define!(:LaTeX, :transp, raw"\mathm{T}")
define!(:LaTeX, :transp, raw"\mathrm{T}")
#
# ---
# Mathematics and semantic symbols
Expand Down
11 changes: 6 additions & 5 deletions src/group_operations/multiplication_operation.jl
Original file line number Diff line number Diff line change
Expand Up @@ -101,22 +101,23 @@ function diff_conjugate!(
end

_doc_diff_inv_mult = """
diff_inv(G::LieGroup{𝔽,<:AbstractMultiplicationGroupOperation},, p, X)
diff_inv(G::LieGroup{𝔽,<:AbstractMultiplicationGroupOperation}, g, X)
diff_inv!(G::LieGroup{𝔽,<:AbstractMultiplicationGroupOperation}, Y, g, X)
Compute the value of differential ``Dι_{$(_math(:G))}(g)[X] of matrix inversion ``ι_{$(_math(:G))}(g) := g^{-1}`` at ``X ∈ 𝔤``
Compute the value of differential ``Dι_{$(_math(:G))}(g)[X]`` of matrix inversion ``ι_{$(_math(:G))}(g) := g^{-1}`` at ``X ∈ 𝔤``
in the [`LieAlgebra`](@ref) ``𝔤`` of the [`LieGroup`](@ref) `G`.
The formula is given by
```math
Dι_{$(_math(:G))}(g)[X] = -g^{$(_tex(:transp))}Xp^{-1},
Dι_{$(_math(:G))}(g)[X] = -g^{$(_tex(:transp))}Xg^{-1},
```
which stems from using the differential of the inverse from [Giles:2008](@cite) given by
``D(g^-1)[X] = -g^{-1}Xg^{-1}`` composed with the push forward of the left composition
``D(g^{-1})[X] = -g^{-1}Xg^{-1}`` composed with the push forward of the left composition
``Dλ_$(_math(:e))(g)[X] = gX`` mapping from the Liea algebra into the tangent space at ``g``,
and its adjoint ``D^*λ_$(_math(:e))(g)[X] = g^{$(_tex(:transp))}X``.
Then we get ``g^{$(_tex(:transp))}(g^{-1}(gX)g^{-1})`` which simplifies to ``-g^{$(_tex(:transp))}Xp^{-1}`` from above.
Then we get ``g^{$(_tex(:transp))}(g^{-1}(gX)g^{-1})`` which simplifies to ``-g^{$(_tex(:transp))}Xg^{-1}`` from above.
"""

@doc "$(_doc_diff_inv_mult)"
Expand Down
4 changes: 2 additions & 2 deletions src/interface.jl
Original file line number Diff line number Diff line change
Expand Up @@ -446,7 +446,7 @@ ManifoldsBase.get_vector!(G::LieGroup, X, g, c, B::ManifoldsBase.AbstractBasis)

_doc_hat = """
hat(G::LieGroup, c)
hat(G::LieGroup, X, c)
hat!(G::LieGroup, X, c)
Compute the hat map ``(⋅)^̂ `` that maps a vector of coordinates ``c_i``
with respect to a certain basis to an tangent vector in the Lie algebra
Expand Down Expand Up @@ -761,7 +761,7 @@ end

_doc_vee = """
vee(G::LieGroup, X)
vee(G::LieGroup, c, X)
vee!(G::LieGroup, c, X)
Compute the vee map ``(⋅)^̂ `` that maps a tangent vector `X` from the [`LieAlgebra`](@ref)
to its coordinates with respect to a certain bvasis in the Lie algebra
Expand Down

0 comments on commit a3c2c36

Please sign in to comment.