Public Types | Public Member Functions | Static Public Member Functions | Public Attributes
_Matrix< Rows, Cols, Base > Struct Template Reference

#include <matrix_n.h>

List of all members.

Public Types

typedef Base BaseType
typedef Base BaseType

Public Member Functions

 _Matrix (int r=Rows, int c=Cols)
 _Matrix (int r=Rows, int c=Cols)
_Matrix< Rows, Rows, Basecholesky () const
_Matrix< Rows, Rows, Basecholesky () const
int cols () const
int cols () const
Base det () const
Base det () const
void fill (Base scalar)
void fill (Base scalar)
_Matrix< Rows, Rows, Baseinverse () const
_Matrix< Rows, Rows, Baseinverse () const
void multRow (int dest, Base destFactor)
void multRow (int dest, Base destFactor)
int nullSpace (_Matrix< Rows, Cols, Base > &nullS, Base epsilon=std::numeric_limits< Base >::epsilon()) const
int nullSpace (_Matrix< Rows, Cols, Base > &nullS, Base epsilon=std::numeric_limits< Base >::epsilon()) const
_Matrix< Rows, Cols, Baseoperator* (Base c) const
_Matrix< Rows, Cols, Baseoperator* (Base c) const
template<int Rows1, int Cols1>
_Matrix< Rows, Cols1, Baseoperator* (const _Matrix< Rows1, Cols1, Base > &m) const
template<int Rows1, int Cols1>
_Matrix< Rows, Cols1, Baseoperator* (const _Matrix< Rows1, Cols1, Base > &m) const
_Vector< Rows, Baseoperator* (const _Vector< Cols, Base > &v) const
_Vector< Rows, Baseoperator* (const _Vector< Cols, Base > &v) const
_Matrix< Rows, Cols, Base > & operator*= (const _Matrix< Rows, Cols, Base > &m)
_Matrix< Rows, Cols, Base > & operator*= (const _Matrix< Rows, Cols, Base > &m)
_Matrix< Rows, Cols, Base > & operator*= (Base c)
_Matrix< Rows, Cols, Base > & operator*= (Base c)
_Matrix< Rows, Cols, Baseoperator+ (const _Matrix< Rows, Cols, Base > &v) const
_Matrix< Rows, Cols, Baseoperator+ (const _Matrix< Rows, Cols, Base > &v) const
_Matrix< Rows, Cols, Base > & operator+= (const _Matrix< Rows, Cols, Base > &v)
_Matrix< Rows, Cols, Base > & operator+= (const _Matrix< Rows, Cols, Base > &v)
_Matrix< Rows, Cols, Baseoperator- (const _Matrix< Rows, Cols, Base > &v) const
_Matrix< Rows, Cols, Baseoperator- (const _Matrix< Rows, Cols, Base > &v) const
_Matrix< Rows, Cols, Base > & operator-= (const _Matrix< Rows, Cols, Base > &v)
_Matrix< Rows, Cols, Base > & operator-= (const _Matrix< Rows, Cols, Base > &v)
const Baseoperator[] (int row) const
const Baseoperator[] (int row) const
Baseoperator[] (int row)
Baseoperator[] (int row)
int rows () const
int rows () const
void sumRow (int dest, Base destFactor, int src, Base srcFactor)
void sumRow (int dest, Base destFactor, int src, Base srcFactor)
void swapRows (int r1, int r2)
void swapRows (int r1, int r2)
_Matrix< Cols, Rows, Basetranspose () const
_Matrix< Cols, Rows, Basetranspose () const
_Matrix< Cols, Rows, Base > & transposeInPlace ()
_Matrix< Cols, Rows, Base > & transposeInPlace ()

Static Public Member Functions

static _Matrix< Rows, Rows, Basediag (const _Vector< Rows, Base > &v)
static _Matrix< Rows, Rows, Basediag (const _Vector< Rows, Base > &v)
static _Matrix< Rows, Rows, Baseeye (Base factor, int dim=Rows)
static _Matrix< Rows, Rows, Baseeye (Base factor, int dim=Rows)
static _Matrix< Rows, Rows, BaseouterProduct (const _Vector< Rows, Base > &v1, const _Vector< Rows, Base > &v2)
static _Matrix< Rows, Rows, BaseouterProduct (const _Vector< Rows, Base > &v1, const _Vector< Rows, Base > &v2)
static _Matrix< Rows, Rows, Basepermutation (const _Vector< Rows, int > &p)
static _Matrix< Rows, Rows, Basepermutation (const _Vector< Rows, int > &p)

Public Attributes

_Array2DAllocator< Rows, Cols,
Base
_allocator

Detailed Description

template<int Rows, int Cols, typename Base = double>
struct _Matrix< Rows, Cols, Base >

This class implements a matrix. The meory model can be either static or dynamic. Here the same considerations as for the vector class hold.

You can access the elemets of a matrix with A[i][j] in avery nice way. Multiply, sum and do anything with matrices pretty much as when you write atrix expressions. All functions are more or less as one expects them in a regular matrix algebra.

Once again it is recommended to use the fixed size matrices whenever the size is known.

Definition at line 39 of file include/hogman_minimal/math/matrix_n.h.


Member Typedef Documentation

template<int Rows, int Cols, typename Base = double>
typedef Base _Matrix< Rows, Cols, Base >::BaseType

Definition at line 40 of file include/hogman_minimal/math/matrix_n.h.

template<int Rows, int Cols, typename Base = double>
typedef Base _Matrix< Rows, Cols, Base >::BaseType

Definition at line 40 of file src/math/matrix_n.h.


Constructor & Destructor Documentation

template<int Rows, int Cols, typename Base = double>
_Matrix< Rows, Cols, Base >::_Matrix ( int  r = Rows,
int  c = Cols 
) [inline]

Definition at line 42 of file include/hogman_minimal/math/matrix_n.h.

template<int Rows, int Cols, typename Base = double>
_Matrix< Rows, Cols, Base >::_Matrix ( int  r = Rows,
int  c = Cols 
) [inline]

Definition at line 42 of file src/math/matrix_n.h.


Member Function Documentation

template<int Rows, int Cols, typename Base >
_Matrix< Rows, Rows, Base > _Matrix< Rows, Cols, Base >::cholesky ( ) const

Definition at line 249 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base = double>
_Matrix<Rows, Rows, Base> _Matrix< Rows, Cols, Base >::cholesky ( ) const
template<int Rows, int Cols, typename Base = double>
int _Matrix< Rows, Cols, Base >::cols ( ) const [inline]

Definition at line 45 of file include/hogman_minimal/math/matrix_n.h.

template<int Rows, int Cols, typename Base = double>
int _Matrix< Rows, Cols, Base >::cols ( ) const [inline]

Definition at line 45 of file src/math/matrix_n.h.

template<int Rows, int Cols, typename Base >
Base _Matrix< Rows, Cols, Base >::det ( ) const

Definition at line 273 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base = double>
Base _Matrix< Rows, Cols, Base >::det ( ) const
template<int Rows, int Cols, typename Base>
_Matrix< Rows, Rows, Base > _Matrix< Rows, Cols, Base >::diag ( const _Vector< Rows, Base > &  v) [static]

Definition at line 104 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base = double>
static _Matrix<Rows, Rows, Base> _Matrix< Rows, Cols, Base >::diag ( const _Vector< Rows, Base > &  v) [static]
template<int Rows, int Cols, typename Base>
_Matrix< Rows, Rows, Base > _Matrix< Rows, Cols, Base >::eye ( Base  factor,
int  dim = Rows 
) [static]

Definition at line 92 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base = double>
static _Matrix<Rows, Rows, Base> _Matrix< Rows, Cols, Base >::eye ( Base  factor,
int  dim = Rows 
) [static]
template<int Rows, int Cols, typename Base = double>
void _Matrix< Rows, Cols, Base >::fill ( Base  scalar)
template<int Rows, int Cols, typename Base>
void _Matrix< Rows, Cols, Base >::fill ( Base  scalar)

Definition at line 408 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base >
_Matrix< Rows, Rows, Base > _Matrix< Rows, Cols, Base >::inverse ( ) const
template<int Rows, int Cols, typename Base = double>
_Matrix<Rows, Rows, Base> _Matrix< Rows, Cols, Base >::inverse ( ) const
template<int Rows, int Cols, typename Base>
void _Matrix< Rows, Cols, Base >::multRow ( int  dest,
Base  destFactor 
)

Definition at line 181 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base = double>
void _Matrix< Rows, Cols, Base >::multRow ( int  dest,
Base  destFactor 
)
template<int Rows, int Cols, typename Base>
int _Matrix< Rows, Cols, Base >::nullSpace ( _Matrix< Rows, Cols, Base > &  nullS,
Base  epsilon = std::numeric_limits<Base>::epsilon() 
) const

Definition at line 313 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base = double>
int _Matrix< Rows, Cols, Base >::nullSpace ( _Matrix< Rows, Cols, Base > &  nullS,
Base  epsilon = std::numeric_limits< Base >::epsilon() 
) const
template<int Rows, int Cols, typename Base = double>
_Matrix<Rows, Cols, Base> _Matrix< Rows, Cols, Base >::operator* ( Base  c) const
template<int Rows, int Cols, typename Base>
_Matrix< Rows, Cols, Base > _Matrix< Rows, Cols, Base >::operator* ( Base  c) const

Definition at line 57 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base = double>
template<int Rows1, int Cols1>
_Matrix<Rows, Cols1, Base> _Matrix< Rows, Cols, Base >::operator* ( const _Matrix< Rows1, Cols1, Base > &  m) const
template<int Rows, int Cols, typename Base>
template<int Rows1, int Cols1>
_Matrix< Rows, Cols1, Base > _Matrix< Rows, Cols, Base >::operator* ( const _Matrix< Rows1, Cols1, Base > &  m) const

Definition at line 141 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base = double>
_Vector<Rows, Base> _Matrix< Rows, Cols, Base >::operator* ( const _Vector< Cols, Base > &  v) const
template<int Rows, int Cols, typename Base>
_Vector< Rows, Base > _Matrix< Rows, Cols, Base >::operator* ( const _Vector< Cols, Base > &  v) const

Definition at line 388 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base>
_Matrix< Rows, Cols, Base > & _Matrix< Rows, Cols, Base >::operator*= ( const _Matrix< Rows, Cols, Base > &  m)

Definition at line 156 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base = double>
_Matrix<Rows, Cols, Base>& _Matrix< Rows, Cols, Base >::operator*= ( const _Matrix< Rows, Cols, Base > &  m)
template<int Rows, int Cols, typename Base = double>
_Matrix<Rows, Cols, Base>& _Matrix< Rows, Cols, Base >::operator*= ( Base  c)
template<int Rows, int Cols, typename Base>
_Matrix< Rows, Cols, Base > & _Matrix< Rows, Cols, Base >::operator*= ( Base  c)

Definition at line 49 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base = double>
_Matrix<Rows, Cols, Base> _Matrix< Rows, Cols, Base >::operator+ ( const _Matrix< Rows, Cols, Base > &  v) const
template<int Rows, int Cols, typename Base>
_Matrix< Rows, Cols, Base > _Matrix< Rows, Cols, Base >::operator+ ( const _Matrix< Rows, Cols, Base > &  v) const

Definition at line 42 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base = double>
_Matrix<Rows, Cols, Base>& _Matrix< Rows, Cols, Base >::operator+= ( const _Matrix< Rows, Cols, Base > &  v)
template<int Rows, int Cols, typename Base>
_Matrix< Rows, Cols, Base > & _Matrix< Rows, Cols, Base >::operator+= ( const _Matrix< Rows, Cols, Base > &  v)

Definition at line 19 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base>
_Matrix< Rows, Cols, Base > _Matrix< Rows, Cols, Base >::operator- ( const _Matrix< Rows, Cols, Base > &  v) const

Definition at line 35 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base = double>
_Matrix<Rows, Cols, Base> _Matrix< Rows, Cols, Base >::operator- ( const _Matrix< Rows, Cols, Base > &  v) const
template<int Rows, int Cols, typename Base = double>
_Matrix<Rows, Cols, Base>& _Matrix< Rows, Cols, Base >::operator-= ( const _Matrix< Rows, Cols, Base > &  v)
template<int Rows, int Cols, typename Base>
_Matrix< Rows, Cols, Base > & _Matrix< Rows, Cols, Base >::operator-= ( const _Matrix< Rows, Cols, Base > &  v)

Definition at line 27 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base = double>
const Base* _Matrix< Rows, Cols, Base >::operator[] ( int  row) const [inline]

Definition at line 43 of file src/math/matrix_n.h.

template<int Rows, int Cols, typename Base = double>
const Base* _Matrix< Rows, Cols, Base >::operator[] ( int  row) const [inline]

Definition at line 43 of file include/hogman_minimal/math/matrix_n.h.

template<int Rows, int Cols, typename Base = double>
Base* _Matrix< Rows, Cols, Base >::operator[] ( int  row) [inline]

Definition at line 44 of file src/math/matrix_n.h.

template<int Rows, int Cols, typename Base = double>
Base* _Matrix< Rows, Cols, Base >::operator[] ( int  row) [inline]

Definition at line 44 of file include/hogman_minimal/math/matrix_n.h.

template<int Rows, int Cols, typename Base>
_Matrix< Rows, Rows, Base > _Matrix< Rows, Cols, Base >::outerProduct ( const _Vector< Rows, Base > &  v1,
const _Vector< Rows, Base > &  v2 
) [static]

Definition at line 128 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base = double>
static _Matrix<Rows, Rows, Base> _Matrix< Rows, Cols, Base >::outerProduct ( const _Vector< Rows, Base > &  v1,
const _Vector< Rows, Base > &  v2 
) [static]
template<int Rows, int Cols, typename Base = double>
static _Matrix<Rows, Rows, Base> _Matrix< Rows, Cols, Base >::permutation ( const _Vector< Rows, int > &  p) [static]
template<int Rows, int Cols, typename Base >
_Matrix< Rows, Rows, Base > _Matrix< Rows, Cols, Base >::permutation ( const _Vector< Rows, int > &  p) [static]

Definition at line 116 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base = double>
int _Matrix< Rows, Cols, Base >::rows ( ) const [inline]

Definition at line 46 of file src/math/matrix_n.h.

template<int Rows, int Cols, typename Base = double>
int _Matrix< Rows, Cols, Base >::rows ( ) const [inline]

Definition at line 46 of file include/hogman_minimal/math/matrix_n.h.

template<int Rows, int Cols, typename Base>
void _Matrix< Rows, Cols, Base >::sumRow ( int  dest,
Base  destFactor,
int  src,
Base  srcFactor 
)

Definition at line 174 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base = double>
void _Matrix< Rows, Cols, Base >::sumRow ( int  dest,
Base  destFactor,
int  src,
Base  srcFactor 
)
template<int Rows, int Cols, typename Base = double>
void _Matrix< Rows, Cols, Base >::swapRows ( int  r1,
int  r2 
)
template<int Rows, int Cols, typename Base >
void _Matrix< Rows, Cols, Base >::swapRows ( int  r1,
int  r2 
)

Definition at line 165 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base = double>
_Matrix<Cols, Rows, Base> _Matrix< Rows, Cols, Base >::transpose ( ) const
template<int Rows, int Cols, typename Base >
_Matrix< Cols, Rows, Base > _Matrix< Rows, Cols, Base >::transpose ( ) const

Definition at line 65 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base >
_Matrix< Cols, Rows, Base > & _Matrix< Rows, Cols, Base >::transposeInPlace ( )

Definition at line 74 of file include/hogman_minimal/math/matrix_n.hpp.

template<int Rows, int Cols, typename Base = double>
_Matrix<Cols, Rows, Base>& _Matrix< Rows, Cols, Base >::transposeInPlace ( )

Member Data Documentation

template<int Rows, int Cols, typename Base = double>
_Array2DAllocator< Rows, Cols, Base > _Matrix< Rows, Cols, Base >::_allocator

Definition at line 75 of file include/hogman_minimal/math/matrix_n.h.


The documentation for this struct was generated from the following files:


hogman_minimal
Author(s): Maintained by Juergen Sturm
autogenerated on Mon Oct 6 2014 00:06:59