MultiAffine.jl

Implementation of the multi-affine group and its actions
Author olivierverdier
Popularity
0 Stars
Updated Last
8 Days Ago
Started In
June 2024

MultiAffine

Build Status codecov

This package models an affine group consisting of matrices of the form

$$χ = \begin{bmatrix} \mathbf{1} & \mathbf{0} \\\ X & h \end{bmatrix}$$

where $h$ is a matrix element of some group $H$, represented in dimension $n$, and $X$ is a $n × k$ matrix. If we denote such an element by $[X,h]$, the multiplication law is

$$[X,h] [X',h'] = [X+hX';hh']$$

One example of such group is

using MultiAffine
using Manifolds
G = MultiAffineGroup(Unitary(2), 2)
identity_element(G) # ([0.0 0.0; 0.0 0.0], ComplexF64[1.0 + 0.0im 0.0 + 0.0im; 0.0 + 0.0im 1.0 + 0.0im])

When the group $H$ is the special orthogonal group, one can use the alias MultiDisplacementGroup(n,k) to create the group MultiAffineGroup(SpecialOrthogonal(n), k), for instance:

G = MultiDisplacementGroup(3,2)
identity_element(G) # ([0.0 0.0; 0.0 0.0; 0.0 0.0], [1.0 0.0 0.0; 0.0 1.0 0.0; 0.0 0.0 1.0])

Used By Packages

No packages found.