MatrixLieAlgebra: Abstract Class for Matrix Lie Algebras

MatrixLieAlgebraR Documentation

Abstract Class for Matrix Lie Algebras

Description

There are two main forms of representation for elements of a matrix Lie algebra implemented here. The first one is as a matrix, as elements of R^{n \times n}. The second is by choosing a basis and remembering the coefficients of an element in that basis. This basis will be provided in child classes (e.g. SkewSymmetricMatrices).

Super classes

rgeomstats::PythonClass -> rgeomstats::Manifold -> rgeomstats::VectorSpace -> MatrixLieAlgebra

Public fields

n

An integer value representing the number of rows and columns in the matrix representation of the Lie algebra.

Methods

Public methods

Inherited methods

Method new()

The MatrixLieAlgebra class constructor.

Usage
MatrixLieAlgebra$new(dim, n, ..., py_cls = NULL)
Arguments
dim

An integer value specifying the dimension of the Lie algebra as a real vector space.

n

An integer value representing the number of rows and columns in the matrix representation of the Lie algebra.

...

Extra arguments to be passed to parent class constructors. See VectorSpace and Manifold classes.

py_cls

A Python object of class MatrixLieAlgebra. Defaults to NULL in which case it is instantiated on the fly using the other input arguments.

Returns

An object of class MatrixLieAlgebra.


Method baker_campbell_hausdorff()

Calculates the Baker-Campbell-Hausdorff approximation of given order.

Usage
MatrixLieAlgebra$baker_campbell_hausdorff(matrix_a, matrix_b, order = 2)
Arguments
matrix_a

A numeric array of shape ... \times n \times n specifying a matrix or a sample of matrices.

matrix_b

A numeric array of shape ... \times n \times n specifying a matrix or a sample of matrices.

order

An integer value specifying the order to which the approximation is calculated. Note that this is NOT the same as using only e_i with i < \mathrm{order}. Defaults to 2L.

Details

The implementation is based on \insertCitecasas2009efficient;textualrgeomstats with the pre-computed constants taken from \insertCitecasas2009data;textualrgeomstats. Our coefficients are truncated to enable us to calculate BCH up to order 15. This represents

Z = \log ≤ft( \exp(X) \exp(Y) \right)

as an infinite linear combination of the form

Z = ∑_i z_i e_i

where z_i are rational numbers and e_i are iterated Lie brackets starting with e_1 = X, e_2 = Y, each e_i is given by some (i^\prime,i^{\prime\prime}) such that e_i = [e_i^\prime, e_i^{\prime\prime}].

Returns

A numeric array of shape ... \times n \times n storing a matrix or a sample of matrices corresponding to the BCH approximation(s) between input matrices.


Method basis_representation()

Computes the coefficients of matrices in the given basis.

Usage
MatrixLieAlgebra$basis_representation(matrix_representation)
Arguments
matrix_representation

A numeric array of shape ... \times n \times n specifying a matrix or a sample of matrices in its matrix representation.

Returns

A numeric array of shape ... \times \mathrm{dim} storing a matrix or a sample of matrices in its basis representation.


Method matrix_representation()

Compute the matrix representation for the given basis coefficients.

Usage
MatrixLieAlgebra$matrix_representation(basis_representation)
Arguments
basis_representation

A numeric array of shape ... \times \mathrm{dim} storing a matrix or a sample of matrices in its basis representation.

Details

Sums the basis elements according to the coefficients given in basis representation.

Returns

A numeric array of shape ... \times n \times n specifying a matrix or a sample of matrices in its matrix representation.


Method clone()

The objects of this class are cloneable with this method.

Usage
MatrixLieAlgebra$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Author(s)

Stefan Heyder


rgeomstats documentation built on Nov. 4, 2022, 5:09 p.m.