TooN: SL< N, Precision > Class Template Reference

TooN 2.0.0-beta8

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends
SL< N, Precision > Class Template Reference
Transformation matrices

represents an element from the group SL(n), the NxN matrices M with det(M) = 1. More...

`#include <sl.h>`

List of all members.

## 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 &)

## Detailed Description

### template<int N, typename Precision = DefaultPrecision>
class TooN::SL< N, Precision >

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:

- diag(...,1,-1,...), n-1 along the diagonal
- symmetric generators for every pair of off-diagonal elements
- anti-symmetric generators for every pair of off-diagonal elements This choice represents the fact that SL(n) can be interpreted as the product of all symmetric matrices with det() = 1 times SO(n).

## Member Function Documentation

SL< N, Precision > exp | ( | const Vector< S, P, B > & | v | ) | `[static]`

exponentiates a vector in the Lie algebra to compute the corresponding element

- v a vector of dimension SL::dim

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.

- i number of the generator between 0 and SL::dim -1 inclusive

References TooN::Zeros.