Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Tools/Math/Matrix_nxn.h File Reference

Contains class Matrix_nxn. More...

#include "MVTools.h"
#include "Vector_n.h"

Include dependency graph for Matrix_nxn.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Classes

class  Matrix_nxn
 Represents a nxn matrix of type T. More...


Defines

#define MATRIX_NXN_HEAP

Functions

template<class T, size_t N> Matrix_nxn< T, N > operator * (const Matrix_nxn< T, N > &m1, const Matrix_nxn< T, N > &m2)
 Operator * for matrix-matrix multiplication.

template<class T, size_t N> Matrix_nxn< T, N > invert (const Matrix_nxn< T, N > &m)
 Inverts the passed matrix.

template<class T, size_t N> Matrix_nxn< T, N > operator+ (const Matrix_nxn< T, N > &m1, const Matrix_nxn< T, N > &m2)
 Operator + for matrix additions.

template<class T, size_t N> Matrix_nxn< T, N > operator- (const Matrix_nxn< T, N > &m1, const Matrix_nxn< T, N > &m2)
 Operator - for matrix subtractions.

template<class T, size_t N> Vector_n< T, N > operator * (const Matrix_nxn< T, N > &m, const Vector_n< T, N > &v)
 Operator * for matrix-vector multiplication.

template<class T, size_t N> Matrix_nxn< T, N > transpose (const Matrix_nxn< T, N > &m)
 Transposes a matrix.

template<class T, size_t N> Matrix_nxn< T, N > eye_nxn ()
 Creates an identity matrix.

template<class T, size_t N> Matrix_nxn< T, N > invert2 (const Matrix_nxn< T, N > &m)
 Inverts the passed matrix.

template<class T, size_t N> Matrix_nxn< T, N > operator/ (const Matrix_nxn< T, N > &m1, const Matrix_nxn< T, N > &m2)
 Divides first matrix by second matrix (multiplicates with inverse of second matrix).

template<class T, size_t N> T det (const Matrix_nxn< T, N > &m)
 Returns determinant of the passed matrix.


Detailed Description

Contains class Matrix_nxn.

Author:
Stefan Uhrig

Definition in file Matrix_nxn.h.


Define Documentation

#define MATRIX_NXN_HEAP
 

Definition at line 11 of file Matrix_nxn.h.


Function Documentation

template<class T, size_t N>
Matrix_nxn< T, N > operator * const Matrix_nxn< T, N > &  m1,
const Matrix_nxn< T, N > &  m2
 

Operator * for matrix-matrix multiplication.

Parameters:
m1 First matrix
m2 Second matrix
Returns:
m1*m2
Complexity: n^3

Definition at line 579 of file Matrix_nxn.h.

References MVTools::isNearInf(), and MVTools::isNearPosInf().

Here is the call graph for this function:

template<class T, size_t N>
Matrix_nxn< T, N > invert const Matrix_nxn< T, N > &  m  ) 
 

Inverts the passed matrix.

Matrix must not be singular

Parameters:
m Matrix to be inverted
Returns:
Inverted matrix
Complexity: n^3

Definition at line 674 of file Matrix_nxn.h.

References MVTools::isNearInf(), MVTools::isNearNegZero(), MVTools::isNearPosInf(), and MVTools::isNearZero().

Referenced by operator/(), KalmanFixedPositionModel::update(), and KalmanConstantSpeedModel::update().

Here is the call graph for this function:

template<class T, size_t N>
Matrix_nxn<T, N> operator+ const Matrix_nxn< T, N > &  m1,
const Matrix_nxn< T, N > &  m2
 

Operator + for matrix additions.

Parameters:
m1 First matrix
m2 Second matrix
Returns:
m1+m2
Complexity: n^2

Definition at line 545 of file Matrix_nxn.h.

template<class T, size_t N>
Matrix_nxn<T, N> operator- const Matrix_nxn< T, N > &  m1,
const Matrix_nxn< T, N > &  m2
 

Operator - for matrix subtractions.

Parameters:
m1 First matrix
m2 Second matrix
Returns:
m1-m2
Complexity: n^2

Definition at line 562 of file Matrix_nxn.h.

template<class T, size_t N>
Vector_n<T, N> operator * const Matrix_nxn< T, N > &  m,
const Vector_n< T, N > &  v
 

Operator * for matrix-vector multiplication.

Parameters:
m Matrix
v Vector
Returns:
m*v
Complexity: n^2

Definition at line 613 of file Matrix_nxn.h.

References MVTools::isNearInf(), and MVTools::isNearPosInf().

Here is the call graph for this function:

template<class T, size_t N>
Matrix_nxn<T, N> transpose const Matrix_nxn< T, N > &  m  ) 
 

Transposes a matrix.

Parameters:
m Matrix to be transposed
Returns:
Transposed matrix
Complexity: n^2

Definition at line 642 of file Matrix_nxn.h.

Referenced by invert2(), KalmanFixedPositionModel::update(), and KalmanConstantSpeedModel::update().

template<class T, size_t N>
Matrix_nxn<T, N> eye_nxn  ) 
 

Creates an identity matrix.

Returns:
nxn identity matrix
Complexity: n^2

Definition at line 658 of file Matrix_nxn.h.

template<class T, size_t N>
Matrix_nxn<T, N> invert2 const Matrix_nxn< T, N > &  m  ) 
 

Inverts the passed matrix.

Matrix must not be singular

Parameters:
m Matrix to be inverted
Returns:
Inverted matrix
Complexity: n^3

Definition at line 795 of file Matrix_nxn.h.

References e, Matrix_nxn< T, N >::solve(), and transpose().

Here is the call graph for this function:

template<class T, size_t N>
Matrix_nxn<T, N> operator/ const Matrix_nxn< T, N > &  m1,
const Matrix_nxn< T, N > &  m2
 

Divides first matrix by second matrix (multiplicates with inverse of second matrix).

Parameters:
m1 First matrix
m2 Second matrix
Returns:
m1 & m2
Complexity: n^3

Definition at line 817 of file Matrix_nxn.h.

References invert().

Here is the call graph for this function:

template<class T, size_t N>
T det const Matrix_nxn< T, N > &  m  ) 
 

Returns determinant of the passed matrix.

Parameters:
m Matrix the determinant is to be calculated of
Returns:
det(m)
Complexity: n^3

Definition at line 831 of file Matrix_nxn.h.

References Matrix_nxn< T, N >::det().

Referenced by KalmanFixedPositionModel::update(), and KalmanConstantSpeedModel::update().

Here is the call graph for this function:


Generated on Thu Sep 23 20:02:27 2004 for GT2004 by doxygen 1.3.6