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
Inherited methods
rgeomstats::PythonClass$get_python_class()
rgeomstats::PythonClass$set_python_class()
rgeomstats::Manifold$belongs()
rgeomstats::Manifold$is_tangent()
rgeomstats::Manifold$random_point()
rgeomstats::Manifold$random_tangent_vec()
rgeomstats::Manifold$regularize()
rgeomstats::Manifold$set_metric()
rgeomstats::Manifold$to_tangent()
rgeomstats::VectorSpace$projection()
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
andManifold
classes.py_cls
A Python object of class
MatrixLieAlgebra
. Defaults toNULL
in which case it is instantiated on the fly using the other input arguments.
Method baker_campbell_hausdorff()
Calculates the Baker-Campbell-Hausdorff approximation of given order.
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 Casas and Murua (2009) with the pre-computed constants taken from () . Our coefficients are truncated to enable us to calculate BCH up to order \(15\). This represents $$Z = \log \left( \exp(X) \exp(Y) \right)$$ as an infinite linear combination of the form $$Z = \sum_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}]\).
Method basis_representation()
Computes the coefficients of matrices in the given basis.
Method matrix_representation()
Compute the matrix representation for the given basis coefficients.