Overview     Modules     Class Hierarchy     Classes     Members  
tlp::Matrix< Obj, SIZE > Class Template Reference

class for mathematical square matrix More...

#include <Matrix.h>

Inheritance diagram for tlp::Matrix< Obj, SIZE >:
Collaboration diagram for tlp::Matrix< Obj, SIZE >:

List of all members.

Public Member Functions

 Matrix ()
 Matrix (const Array< Vector< Obj, SIZE >, SIZE > &a)
 Matrix (const std::vector< std::vector< Obj > > &covarianceMatrix)
MATRIXfill (Obj obj)
Obj determinant () const
MATRIXtranspose ()
MATRIXinverse ()
MATRIXoperator+ (const MATRIX &mat) const
MATRIXoperator+= (const MATRIX &mat)
MATRIXoperator- (const MATRIX &mat) const
MATRIXoperator-= (const MATRIX &mat)
bool operator== (const MATRIX &) const
bool operator!= (const MATRIX &) const
MATRIXoperator*= (const MATRIX &mat)
MATRIXoperator*= (const Obj &obj)
MATRIXoperator/= (const MATRIX &mat)
MATRIXoperator/= (const Obj &obj)
MATRIX cofactor () const
MATRIX operator/ (const MATRIX &mat2) const
MATRIX operator/ (const Obj &obj) const
Vector< Obj, SIZE > powerIteration (const unsigned int nIterations) const
- Public Member Functions inherited from tlp::Array< Vector< Obj, SIZE >, SIZE >
Vector< Obj, SIZE > operator[] (const unsigned int i) const
Vector< Obj, SIZE > & operator[] (const unsigned int i)

Additional Inherited Members

- Public Attributes inherited from tlp::Array< Vector< Obj, SIZE >, SIZE >
Vector< Obj, SIZE > array [SIZE]

Detailed Description

template<typename Obj, unsigned int SIZE>
class tlp::Matrix< Obj, SIZE >

class for mathematical square matrix

Enables to create a Square Matrix of Obj with a limited size and provides Mathematical operation. Mathematical operators must be defined for Obj. Out of bound accesses are only checked in debug mode.

Author:
: David Auber auber.nosp@m.@tul.nosp@m.ip-so.nosp@m.ftwa.nosp@m.re.or.nosp@m.g
Contributor : Maxime Delorme
Version:
0.0.2 27/04/2005

Constructor & Destructor Documentation

template<typename Obj , unsigned int SIZE>
tlp::Matrix< Obj, SIZE >::Matrix ( )
inline
template<typename Obj , unsigned int SIZE>
tlp::Matrix< Obj, SIZE >::Matrix ( const Array< Vector< Obj, SIZE >, SIZE > &  a)
inline
template<typename Obj , unsigned int SIZE>
tlp::Matrix< Obj, SIZE >::Matrix ( const std::vector< std::vector< Obj > > &  covarianceMatrix)

Member Function Documentation

template<typename Obj , unsigned int SIZE>
MATRIX tlp::Matrix< Obj, SIZE >::cofactor ( ) const

Returns the cofactor Matrix of this

template<typename Obj , unsigned int SIZE>
Obj tlp::Matrix< Obj, SIZE >::determinant ( ) const

Compute the determinant of the matrix,

template<typename Obj , unsigned int SIZE>
MATRIX& tlp::Matrix< Obj, SIZE >::fill ( Obj  obj)
inline

Fill the matrix with the value of obj

template<typename Obj , unsigned int SIZE>
MATRIX& tlp::Matrix< Obj, SIZE >::inverse ( )

Inverse the matrix and return "&(*this)"

template<typename Obj , unsigned int SIZE>
bool tlp::Matrix< Obj, SIZE >::operator!= ( const MATRIX ) const
inline

Check non equality of two Matrices

template<typename Obj , unsigned int SIZE>
MATRIX& tlp::Matrix< Obj, SIZE >::operator*= ( const MATRIX mat)
inline

Multiply the matrix by another matrix and return "&(*this)"

template<typename Obj , unsigned int SIZE>
MATRIX& tlp::Matrix< Obj, SIZE >::operator*= ( const Obj &  obj)
inline

Multiply all elements of the matrix by obj, return "&(*this)"

template<typename Obj , unsigned int SIZE>
MATRIX& tlp::Matrix< Obj, SIZE >::operator+ ( const MATRIX mat) const
inline

return the sum of two matrices

template<typename Obj , unsigned int SIZE>
MATRIX& tlp::Matrix< Obj, SIZE >::operator+= ( const MATRIX mat)
inline

add another matrix to the current one and return "&(*this)"

template<typename Obj , unsigned int SIZE>
MATRIX& tlp::Matrix< Obj, SIZE >::operator- ( const MATRIX mat) const
inline

return the difference of two matrices

template<typename Obj , unsigned int SIZE>
MATRIX& tlp::Matrix< Obj, SIZE >::operator-= ( const MATRIX mat)
inline

substract another matrix from the current and return "&(*this)"

template<typename Obj , unsigned int SIZE>
MATRIX tlp::Matrix< Obj, SIZE >::operator/ ( const MATRIX mat2) const

Returns a new matrix equal to the division of the matrix by another matrix"

template<typename Obj , unsigned int SIZE>
MATRIX tlp::Matrix< Obj, SIZE >::operator/ ( const Obj &  obj) const

Returns a new matrix equal to the division of the matrix by obj"

template<typename Obj , unsigned int SIZE>
MATRIX& tlp::Matrix< Obj, SIZE >::operator/= ( const MATRIX mat)
inline

Divide the matrix by another one return "&(*this)"

template<typename Obj , unsigned int SIZE>
MATRIX& tlp::Matrix< Obj, SIZE >::operator/= ( const Obj &  obj)
inline

Divide all elements of the matrix by obj, return "&(*this)"

template<typename Obj , unsigned int SIZE>
bool tlp::Matrix< Obj, SIZE >::operator== ( const MATRIX ) const
inline

Check equality of two Matrices

template<typename Obj , unsigned int SIZE>
Vector<Obj,SIZE> tlp::Matrix< Obj, SIZE >::powerIteration ( const unsigned int  nIterations) const
inline

Returns a new vector equal to the most influent eigenvector of the matrix

template<typename Obj , unsigned int SIZE>
MATRIX& tlp::Matrix< Obj, SIZE >::transpose ( )

Transpose the matrix and return "&(*this)".



Tulip Software by LaBRI Visualization Team    2001 - 2012