#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>
Classes | |
class | MATLAB |
class | RotationSimple |
class | sotRotationSimpleHouseholder |
class | sotRotationSimpleGiven |
class | sotRotationComposed |
class | sotRotationComposedInExtenso |
Defines | |
#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) |
#define SOT_ROTATION_DERIVATED_MULTIPLY_MATRIX | ( | MATRIX_TYPE | ) |
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 ); }
#define SOT_ROTATION_DERIVATED_MULTIPLY_VECTOR | ( | VECTOR_TYPE | ) |
virtual void multiplyRight( VECTOR_TYPE& M ) const \ { multiplyRightVectorTemplate( M ); } \ virtual void multiplyLeft( VECTOR_TYPE& M ) const \ { multiplyLeftVectorTemplate( M ); }
#define SOT_ROTATION_SIMPLE_MULTIPLY | ( | MATRIX_TYPE | ) |
virtual void multiplyRight( MATRIX_TYPE& M ) const = 0; /* M:=P.M */ \ virtual void multiplyLeft( MATRIX_TYPE& M ) const= 0; /* M:=M.P */
#define SOT_ROTATION_SIMPLE_MULTIPLY_TRANSPOSE | ( | MATRIX_TYPE | ) |
virtual void multiplyRightTranspose( MATRIX_TYPE& M ) const = 0; /* M:=P'.M */ \ virtual void multiplyLeftTranspose( MATRIX_TYPE& M ) const= 0; /* M:=M.P' */
#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) |
#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 bub::matrix_column<__SRS_matcolmaj> __SRS_col_matcolmaj |
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< bubMatrix >,bub::upper> __SRS_triadup_rang_mat |
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<bub::triangular_matrix<double,bub::upper> >,bub::upper > __SRS_triadup_rang_triup |
typedef bub::triangular_matrix<double,bub::upper> __SRS_triup |
typedef bub::matrix<double> bubMatrix |
typedef bub::vector<double> bubVector |
void bubClear | ( | const bubTemplateMatrix & | m | ) |
Referenced by RotationSimple::multiplyRangeRight().
void bubClearMatrix | ( | const bubTemplateMatrix & | m | ) |
void randMatrix | ( | bubTemplateMatrix & | M, |
const unsigned int | row, | ||
const unsigned int | col | ||
) |
void randVector | ( | bubTemplateVector & | M, |
const unsigned int | row | ||
) |