TooN 2.1
|
represents an element from the group SL(n), the NxN matrices M with det(M) = 1. More...
#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 |
template<typename P > | |
SL< N, typename Internal::MultiplyType < Precision, P >::type > | operator* (const SL< N, P > &rhs) const |
template<typename P > | |
SL | operator*= (const SL< N, P > &rhs) |
Vector< N *N-1, Precision > | ln () const |
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 &) |
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:
exponentiates a vector in the Lie algebra to compute the corresponding element
References TooN::exp(), 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 TooN::Zeros.