TooN
|
represents an element from the group SL(n), the NxN matrices M with det(M) = 1. More...
#include <sl.h>
Public Member Functions | |
SL () | |
default constructor, creates identity element | |
template<int S, typename P , typename B > | |
SL (const Vector< S, P, B > &v) | |
exp constructor, creates element through exponentiation of Lie algebra vector. see SL::exp. | |
template<int R, int C, typename P , typename A > | |
SL (const Matrix< R, C, P, A > &M) | |
copy constructor from a matrix, coerces matrix to be of determinant = 1 | |
const Matrix< N, N, Precision > & | get_matrix () const |
returns the represented matrix | |
SL | inverse () const |
returns the inverse using LU | |
template<typename P > | |
SL< N, typename Internal::MultiplyType< Precision, P >::type > | operator* (const SL< N, P > &rhs) const |
multiplies to SLs together by multiplying the underlying matrices | |
template<typename P > | |
SL | operator*= (const SL< N, P > &rhs) |
right multiplies this SL with another one | |
Vector< N *N-1, Precision > | ln () const |
template<int S, typename P , typename B > | |
SL< N, Precision > | exp (const Vector< S, P, B > &v) |
Static Public Member Functions | |
template<int S, typename P , typename B > | |
static SL | exp (const Vector< S, P, B > &) |
exponentiates a vector in the Lie algebra to compute the corresponding element More... | |
static Matrix< N, N, Precision > | generator (int) |
returns one generator of the group. More... | |
Static Public Attributes | |
static const int | size = N |
size of the matrices represented by SL<N> | |
static const int | dim = N*N - 1 |
dimension of the vector space represented by SL<N> | |
Friends | |
std::istream & | operator>> (std::istream &, SL &) |
represents an element from the group SL(n), the NxN matrices M with det(M) = 1.
This can be used to conveniently estimate homographies on n-1 dimentional spaces. The implementation uses the matrix exponential function exp for exponentiation from an element in the Lie algebra and LU to compute an inverse.
The Lie algebra are the NxN matrices M with trace(M) = 0. The N*N-1 generators used to represent this vector space are the following:
|
inlinestatic |
exponentiates a vector in the Lie algebra to compute the corresponding element