#include <sl.h>
Classes | |
struct | Invert |
Public Member Functions | |
SL () | |
template<int S, typename P , typename B > | |
SL (const Vector< S, P, B > &v) | |
template<int R, int C, typename P , typename A > | |
SL (const Matrix< R, C, P, A > &M) | |
const Matrix< N, N, Precision > & | get_matrix () const |
SL | inverse () const |
SL | operator* (const SL &rhs) const |
SL | operator*= (const SL &rhs) |
Static Public Member Functions | |
template<int S, typename P , typename B > | |
static SL | exp (const Vector< S, P, B > &) |
static Matrix< N, N, Precision > | generator (int) |
Static Public Attributes | |
static const int | size = N |
static const int | dim = N*N - 1 |
Friends | |
std::istream & | operator>> (std::istream &, SL &) |
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:
SL | ( | ) |
default constructor, creates identity element
Referenced by SL< N, Precision >::inverse(), and SL< N, Precision >::operator*().
exp constructor, creates element through exponentiation of Lie algebra vector. see SL::exp.
References SL< N, Precision >::exp().
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 |
multiplies to SLs together by multiplying the underlying matrices
References SL< N, Precision >::SL().
exponentiates a vector in the Lie algebra to compute the corresponding element
References SL< N, Precision >::dim, SL< N, Precision >::generator(), Vector< Size, Precision, Base >::size(), and TooN::Zeros.
Referenced by SL< N, Precision >::SL().
Matrix< N, N, Precision > generator | ( | int | i | ) | [static] |
returns one generator of the group.
see SL for a detailed description of the generators used.
References SL< N, Precision >::dim, and TooN::Zeros.
Referenced by SL< N, Precision >::exp().
const int size = N [static] |
size of the matrices represented by SL<N>
const int dim = N*N - 1 [static] |
dimension of the vector space represented by SL<N>
Referenced by SL< N, Precision >::exp(), and SL< N, Precision >::generator().