ManifoldGroupUtils.jl

A collection of functions to be used with groups in the Manifolds.jl package.

The main function is compose_matrix_op.

ManifoldGroupUtils.compose_lie_matrix_opMethod
compose_lie_matrix_op(
    G, # group
    op, # operator Alg(G) -> Alg(G)
    mat, # matrix in the basis
    B # basis of Alg(G)
    )

Compute the matrix in the basis B of the composition of op a linear endomorphism of Alg(G) and a matrix mat, also expressed in the basis B.

source
ManifoldGroupUtils.compose_matrix_opMethod
compose_matrix_op(
  G, # group
  M,p, # Manifold, point
  op, # operator Alg(G) -> T_pM
  mat, # matrix in basis BG
  BG, # basis of Alg(G)
  BM, # basis of T_pM
  )

Compose a matrix mat of a linear endomorphism of Alg(G) in some basis BG with an operator op : $Alg(G) → T_p M$ itself equipped with a basis BM.

source
ManifoldGroupUtils.get_op_matrixMethod
get_op_matrix(G, # group
  M, p, # manifold + point
  op, # operator from Alg(G) -> T_pM
  BG, # Lie algebra basis
  BM, # basis at T_pM
  )

Matrix of an operator op : $Alg(G) → T_p M$ computed in the basis BG and BM.

source
ManifoldGroupUtils.get_proj_matrixMethod
get_proj_matrix(A::GroupAction, x, BG, BM)

From a group action $G ⊂ Diff(M)$, and a point $x ∈ M$, compute the projection matrix in the basis BG of Alg(G) and BM of $T_x M$ of the operator $ξ ↦ ξ ⋅x$, where $⋅$ denotes the infinitesimal group action above.

source
ManifoldGroupUtils.translate_from_idMethod
translate_from_id(G, χ, ξ, ::GroupActionSide)

The left translation $T_L(g,ξ) = gξ$ for the Left side, or right translation $T_R(g,ξ) = ξg$ for the Right side.

source
ManifoldGroupUtils.translate_to_idMethod
translate_to_id(G, χ, v, ::GroupActionSide)

Compute $η = v χ⁻¹$, or $χ⁻¹ v$ depending on whether the group action side is Right or Left respectively.

source