rotation-simple.hh File Reference
#include <jrl/mal/boost.hh>
#include <boost/numeric/ublas/triangular.hpp>
#include <boost/numeric/ublas/lu.hpp>
#include <sot/core/debug.hh>
#include "sot/core/api.hh"
#include <list>
Include dependency graph for rotation-simple.hh:
This graph shows which files directly or indirectly include this file:

Classes

class  MATLAB
 
class  RotationSimple
 
class  sotRotationSimpleHouseholder
 
class  sotRotationSimpleGiven
 
class  sotRotationComposed
 
class  sotRotationComposedInExtenso
 

Macros

#define SOT_ROTATION_SIMPLE_MULTIPLY(MATRIX_TYPE)
 
#define SOT_ROTATION_SIMPLE_MULTIPLY_TRANSPOSE(MATRIX_TYPE)
 
#define SOT_ROTATION_DERIVATED_MULTIPLY_VECTOR(VECTOR_TYPE)
 
#define SOT_ROTATION_DERIVATED_MULTIPLY_MATRIX(MATRIX_TYPE)
 
#define SOT_ROTATION_SIMPLE_TEMPLATE_VECTOR_LIST(A)   A(bubVector) A(bub::vector_range<bubVector>) A(bub::matrix_column<bubMatrix>) A(bub::vector_range<bub::matrix_column<bubMatrix> >) A(__SRS_col_matcolmaj)
 
#define SOT_ROTATION_SIMPLE_TEMPLATE_MATRIX_LIST(A)   A(bubMatrix) A(bub::matrix_range<bubMatrix>) A(__SRS_matcolmaj) A( __SRS_rang_matcolmaj) A( __SRS_triadup_rang_matcolmaj) A( __SRS_triadup_rang_mat) A(__SRS_triadup_rang_triup ) A(__SRS_triup)
 

Typedefs

typedef bub::vector< double > bubVector
 
typedef bub::matrix< double > bubMatrix
 
typedef bub::matrix< double, bub::column_major > __SRS_matcolmaj
 
typedef bub::matrix_range< __SRS_matcolmaj__SRS_rang_matcolmaj
 
typedef bub::triangular_adaptor< bub::matrix_range< bub::matrix< double, bub::column_major > >, bub::upper > __SRS_triadup_rang_matcolmaj
 
typedef bub::triangular_adaptor< bub::matrix_range< bubMatrix >, bub::upper > __SRS_triadup_rang_mat
 
typedef bub::triangular_adaptor< bub::matrix_range< bub::triangular_matrix< double, bub::upper > >, bub::upper > __SRS_triadup_rang_triup
 
typedef bub::triangular_matrix< double, bub::upper > __SRS_triup
 
typedef bub::matrix_column< __SRS_matcolmaj__SRS_col_matcolmaj
 

Functions

template<class bubTemplateMatrix >
void bubClear (const bubTemplateMatrix &m)
 
template<class bubTemplateMatrix >
void bubClearMatrix (const bubTemplateMatrix &m)
 
template<typename bubTemplateMatrix >
void randMatrix (bubTemplateMatrix &M, const unsigned int row, const unsigned int col)
 
template<typename bubTemplateVector >
void randVector (bubTemplateVector &M, const unsigned int row)
 

Macro Definition Documentation

◆ SOT_ROTATION_DERIVATED_MULTIPLY_MATRIX

#define SOT_ROTATION_DERIVATED_MULTIPLY_MATRIX (   MATRIX_TYPE)
Value:
virtual void multiplyRight( MATRIX_TYPE& M ) const \
{ multiplyRightMatrixTemplate( M ); } \
virtual void multiplyLeft( MATRIX_TYPE& M ) const \
{ multiplyLeftMatrixTemplate( M ); } \
virtual void multiplyRightTranspose( MATRIX_TYPE& M ) const \
{ multiplyRightTransposeMatrixTemplate( M ); } \
virtual void multiplyLeftTranspose( MATRIX_TYPE& M ) const \
{ multiplyLeftTransposeMatrixTemplate( M ); }

Referenced by sotRotationComposedInExtenso::householderQRinit(), sotRotationComposed::increaseGRindex(), sotRotationSimpleGiven::~sotRotationSimpleGiven(), and sotRotationSimpleHouseholder::~sotRotationSimpleHouseholder().

◆ SOT_ROTATION_DERIVATED_MULTIPLY_VECTOR

#define SOT_ROTATION_DERIVATED_MULTIPLY_VECTOR (   VECTOR_TYPE)
Value:
virtual void multiplyRight( VECTOR_TYPE& M ) const \
{ multiplyRightVectorTemplate( M ); } \
virtual void multiplyLeft( VECTOR_TYPE& M ) const \
{ multiplyLeftVectorTemplate( M ); }

Referenced by sotRotationComposedInExtenso::householderQRinit(), sotRotationComposed::increaseGRindex(), sotRotationSimpleGiven::~sotRotationSimpleGiven(), and sotRotationSimpleHouseholder::~sotRotationSimpleHouseholder().

◆ SOT_ROTATION_SIMPLE_MULTIPLY

#define SOT_ROTATION_SIMPLE_MULTIPLY (   MATRIX_TYPE)
Value:
virtual void multiplyRight( MATRIX_TYPE& M ) const = 0; /* M:=P.M */ \
virtual void multiplyLeft( MATRIX_TYPE& M ) const= 0; /* M:=M.P */

Referenced by RotationSimple::~RotationSimple().

◆ SOT_ROTATION_SIMPLE_MULTIPLY_TRANSPOSE

#define SOT_ROTATION_SIMPLE_MULTIPLY_TRANSPOSE (   MATRIX_TYPE)
Value:
virtual void multiplyRightTranspose( MATRIX_TYPE& M ) const = 0; /* M:=P'.M */ \
virtual void multiplyLeftTranspose( MATRIX_TYPE& M ) const= 0; /* M:=M.P' */

Referenced by RotationSimple::~RotationSimple().

◆ SOT_ROTATION_SIMPLE_TEMPLATE_MATRIX_LIST

◆ SOT_ROTATION_SIMPLE_TEMPLATE_VECTOR_LIST

#define SOT_ROTATION_SIMPLE_TEMPLATE_VECTOR_LIST (   A)    A(bubVector) A(bub::vector_range<bubVector>) A(bub::matrix_column<bubMatrix>) A(bub::vector_range<bub::matrix_column<bubMatrix> >) A(__SRS_col_matcolmaj)

Typedef Documentation

◆ __SRS_col_matcolmaj

typedef bub::matrix_column<__SRS_matcolmaj> __SRS_col_matcolmaj

◆ __SRS_matcolmaj

typedef bub::matrix<double,bub::column_major> __SRS_matcolmaj

◆ __SRS_rang_matcolmaj

typedef bub::matrix_range<__SRS_matcolmaj> __SRS_rang_matcolmaj

◆ __SRS_triadup_rang_mat

typedef bub::triangular_adaptor<bub::matrix_range< bubMatrix >,bub::upper> __SRS_triadup_rang_mat

◆ __SRS_triadup_rang_matcolmaj

typedef bub::triangular_adaptor<bub::matrix_range<bub::matrix<double,bub::column_major> >,bub::upper > __SRS_triadup_rang_matcolmaj

◆ __SRS_triadup_rang_triup

typedef bub::triangular_adaptor<bub::matrix_range<bub::triangular_matrix<double,bub::upper> >,bub::upper > __SRS_triadup_rang_triup

◆ __SRS_triup

typedef bub::triangular_matrix<double,bub::upper> __SRS_triup

◆ bubMatrix

typedef bub::matrix<double> bubMatrix

◆ bubVector

typedef bub::vector<double> bubVector

Function Documentation

◆ bubClear()

template<class bubTemplateMatrix >
void bubClear ( const bubTemplateMatrix &  m)

◆ bubClearMatrix()

template<class bubTemplateMatrix >
void bubClearMatrix ( const bubTemplateMatrix &  m)

◆ randMatrix()

template<typename bubTemplateMatrix >
void randMatrix ( bubTemplateMatrix &  M,
const unsigned int  row,
const unsigned int  col 
)

◆ randVector()

template<typename bubTemplateVector >
void randVector ( bubTemplateVector &  M,
const unsigned int  row 
)