Overview | Modules | Class Hierarchy | Classes | Members

Public Member Functions
tlp::Matrix< Obj, SIZE > Class Template Reference
Basic

class for mathematical square matrix More...

`#include <Matrix.h>`

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

List of all members.

## Public Member Functions

- Matrix ()
- Matrix (const Array< Vector< Obj, SIZE >, SIZE > &a)
- Matrix (const std::vector< std::vector< Obj > > &covarianceMatrix)
- MATRIX & fill (Obj obj)
- Obj determinant () const
- MATRIX & transpose ()
- MATRIX & inverse ()
- MATRIX & operator+= (const MATRIX &mat)
- MATRIX & operator-= (const MATRIX &mat)
- bool operator== (const MATRIX &) const
- bool operator!= (const MATRIX &) const
- MATRIX & operator*= (const MATRIX &mat)
- MATRIX & operator*= (const Obj &obj)
- MATRIX & operator/= (const MATRIX &mat)
- MATRIX & operator/= (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

## 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@tulip-software.org
  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 | ) | `[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 | ) | `[inline]`

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

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