---
name: "tlp_Matrix"
section: "3tulip"
platform: "linux"
package: "tulip-doc"
version: "3.1.2-2.3"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/tlp_Matrix"
---

# tlp\_Matrix(3tulip)

class for mathematical square matrix

## NAME

tlp::Matrix -

class for mathematical square matrix

## SYNOPSIS

`#include <Matrix.h>`

Inherits **Vector\< Vector\< Obj, SIZE \>, SIZE \>**.

### Public Member Functions

**Matrix** ()\
 **Matrix** (const **Vector**\< **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 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 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 Vector\< 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\> MATRIX& tlp::Matrix\< Obj, SIZE \>::operator\*= (const Obj & obj)` [inline]` Multiply all elements of the matrix by obj, return '&(\*this)'

Reimplemented from **tlp::Vector\< Vector\< Obj, SIZE \>, SIZE \>**.

### 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) const Returns a new matrix equal to the division of the matrix by obj"

Reimplemented from **tlp::Vector\< Vector\< Obj, SIZE \>, SIZE \>**.

### 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)` [inline]` Divide all elements of the matrix by obj, return '&(\*this)'

Reimplemented from **tlp::Vector\< Vector\< Obj, SIZE \>, SIZE \>**.

### 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\> Vector\<Obj,SIZE\> tlp::Matrix\< Obj, SIZE \>::powerIteration (const 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)'.

## Author

Generated automatically by Doxygen for Tulip Graph Library from the source code.
