Public Member Functions

zeus::IMatrix Class Reference

#include <IMatrix.hpp>

Inheritance diagram for zeus::IMatrix:
zeus::ISquareMatrix< m > zeus::ISquareMatrix3 zeus::TMatrix zeus::TSquareMatrix3

List of all members.

Public Member Functions

virtual void MQUALIFIER assign (const IMatrix &rMatrix)=0
virtual Float MQUALIFIER calcDeterminant () const =0
virtual bool MQUALIFIER calcInverse (IMatrix &rInverseMatrix) const =0
virtual void MQUALIFIER calcTransposed (IMatrix &rTransposedMatrix) const =0
virtual bool MQUALIFIER equals (const IMatrix &rMatrix, Float fPrecision=FLOAT_PRECISION) const =0
virtual Float MQUALIFIER getCell (Int iRow, Int iColumn, bool *pbError=NULL) const =0
virtual bool MQUALIFIER getRow (Int iRow, IVector &rVector) const =0
virtual bool MQUALIFIER getColumn (Int iColumn, IVector &rVector) const =0
virtual bool MQUALIFIER getDiagonalVector (IVector &rDiagVector) const =0
virtual Int MQUALIFIER getRowCount () const =0
virtual Int MQUALIFIER getColumnCount () const =0
virtual void MQUALIFIER initAsIdentityMatrix ()=0
virtual void MQUALIFIER initAsZeroMatrix ()=0
virtual bool MQUALIFIER invert ()=0
virtual bool MQUALIFIER isIdentityMatrix () const =0
virtual bool MQUALIFIER isInvertible () const =0
virtual bool MQUALIFIER isSquaredMatrix () const =0
virtual bool MQUALIFIER isZeroMatrix () const =0
virtual bool MQUALIFIER setCell (Int iRow, Int iColumn, const Float &rValue)=0
virtual bool MQUALIFIER setRow (Int iRow, const IVector &rVector)=0
virtual bool MQUALIFIER setColumn (Int iColumn, const IVector &rVector)=0
virtual void MQUALIFIER setDiagonalValue (const Float &fValue)=0
virtual void MQUALIFIER setDiagonalVector (const IVector &rDiagVector)=0
virtual Retval MQUALIFIER setDimensions (Int iRows, Int iColumns)=0
virtual bool MQUALIFIER swapCells (Int iRow1, Int iColumn1, Int iRow2, Int iColumn2)=0
virtual void MQUALIFIER transpose ()=0
virtual Float MQUALIFIER getEntropy () const =0
virtual void MQUALIFIER addConstant (Float fConstant)=0
virtual void MQUALIFIER multiplyConstant (Float fConstant)=0

Detailed Description

A generic matrix interface for n x m matrices.


Member Function Documentation

virtual void MQUALIFIER zeus::IMatrix::addConstant ( Float  fConstant ) [pure virtual]

adds a constant value to each value of the matrix cells

Parameters:
fConstant: Constant

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual void MQUALIFIER zeus::IMatrix::assign ( const IMatrix rMatrix ) [pure virtual]

Assigns a matrix to this instance.

Parameters:
rMatrix[IN]: Reference to interface type object to be assigned to this object.

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual Float MQUALIFIER zeus::IMatrix::calcDeterminant (  ) const [pure virtual]

Calculate the determinant. This works only for squared matrices

Returns:
value of the determinant.

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual bool MQUALIFIER zeus::IMatrix::calcInverse ( IMatrix rInverseMatrix ) const [pure virtual]

Calculate the inverse matrix of this matrix. This method works only on squared matrices

Parameters:
rInverseMatrix[OUT]: The inverse matrix.
Return values:
true: This matrix is invertible.
false,:This matrix is not invertible.

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual void MQUALIFIER zeus::IMatrix::calcTransposed ( IMatrix rTransposedMatrix ) const [pure virtual]

Calculate the transposed matrix of this matrix.

Parameters:
rTransposedMatrix[OUT]: The transposed matrix.

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual bool MQUALIFIER zeus::IMatrix::equals ( const IMatrix rMatrix,
Float  fPrecision = FLOAT_PRECISION 
) const [pure virtual]

Checks if two matrices are equal.

Parameters:
rMatrix[IN]: Matrix to be compared to this matrix.
fPrecision: Precision of the float comparing
Return values:
true: Matrices are equal.
false,:Matrices are not equal

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual Float MQUALIFIER zeus::IMatrix::getCell ( Int  iRow,
Int  iColumn,
bool *  pbError = NULL 
) const [pure virtual]

Reading the value of a specific cell.

Parameters:
iRow[IN] : Row.
iColumn[IN] : Column.
pbError[OUT]: Optional error flag
Returns:
Float value of the specified cell.

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual bool MQUALIFIER zeus::IMatrix::getColumn ( Int  iColumn,
IVector rVector 
) const [pure virtual]

Reads a column of values and returns them as a vector

Parameters:
iColumn[IN] : Column
rVector[OUT] : Vector
Return values:
true: row returned
false,:iColumn out of bounds

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual Int MQUALIFIER zeus::IMatrix::getColumnCount (  ) const [pure virtual]

Returns the number of columns

Returns:
: Number of columns

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual bool MQUALIFIER zeus::IMatrix::getDiagonalVector ( IVector rDiagVector ) const [pure virtual]

Set a specific vector as diagonal

Parameters:
rDiagVector: return value. Vector containing the diagonal values
Return values:
true: Vector set
false,:vector is not of correct size

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual Float MQUALIFIER zeus::IMatrix::getEntropy (  ) const [pure virtual]

Returns the entropy of the whole matrix. The entropy scaling is logarithm naturalis. For computer science purposes you might need bits. entropy_bits = getEntropy()/ TMath::ln(2);

Returns:
entropy rate

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual bool MQUALIFIER zeus::IMatrix::getRow ( Int  iRow,
IVector rVector 
) const [pure virtual]

Reads a row of values and returns them as a vector

Parameters:
iRow[IN] : Row
rVector[OUT] : Vector
Return values:
true: row returned
false,:iRow out of bounds

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual Int MQUALIFIER zeus::IMatrix::getRowCount (  ) const [pure virtual]

Returns the number of rows

Returns:
: Number of rows

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual void MQUALIFIER zeus::IMatrix::initAsIdentityMatrix (  ) [pure virtual]

Initialize as unit/identity matrix. This method works only on squared matrices

Implemented in zeus::ISquareMatrix< m >, zeus::TMatrix, and zeus::TSquareMatrix3.

virtual void MQUALIFIER zeus::IMatrix::initAsZeroMatrix (  ) [pure virtual]

Initialize as zero matrix.

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual bool MQUALIFIER zeus::IMatrix::invert (  ) [pure virtual]

Inverts this matrix. The matrix must be a squared matrix.

Return values:
true: This matrix is invertible.
false,:This matrix is not invertible.

Implemented in zeus::ISquareMatrix< m >, zeus::TMatrix, and zeus::TSquareMatrix3.

virtual bool MQUALIFIER zeus::IMatrix::isIdentityMatrix (  ) const [pure virtual]

Check if this matrix is the identity matrix.

Return values:
true: This matrix is the identity matrix.
false,:Not a identity matrix

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual bool MQUALIFIER zeus::IMatrix::isInvertible (  ) const [pure virtual]

Is this matrix invertible?

Return values:
true: Invertible.
false,:Not invertible

Implemented in zeus::ISquareMatrix< m >, zeus::TMatrix, and zeus::TSquareMatrix3.

virtual bool MQUALIFIER zeus::IMatrix::isSquaredMatrix (  ) const [pure virtual]

Checks if the matrix is squared

Return values:
true: Matrix is squared
false,:Matrix is not squared

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual bool MQUALIFIER zeus::IMatrix::isZeroMatrix (  ) const [pure virtual]

Check if this matrix is the zero matrix.

Return values:
true: This matrix is the zero matrix.
false,:Not a zero matrix

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual void MQUALIFIER zeus::IMatrix::multiplyConstant ( Float  fConstant ) [pure virtual]

multiplies the matrix with a constant value. Each cell will be multiplied by fConstant

Parameters:
fConstant: Constant

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual bool MQUALIFIER zeus::IMatrix::setCell ( Int  iRow,
Int  iColumn,
const Float &  rValue 
) [pure virtual]

Setting the value of a specific cell.

Parameters:
iRow[IN]: Row , 1..MATRIX_DIMENSIONS.
iColumn[IN]: Column, 1..MATRIX_DIMENSIONS.
rValue[IN]: Float value to be set to specified cell.
Return values:
true: value set
false,:Could not set value. iRow or iColumn out of range

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual bool MQUALIFIER zeus::IMatrix::setColumn ( Int  iColumn,
const IVector rVector 
) [pure virtual]

Set a specific column as a vector.

Parameters:
iColumn[IN]: Column, 1..MATRIX_DIMENSIONS.
rVector[IN]: Column as a vector.
Return values:
true: Vector set
false,:iRow out of bounds or vector is not of correct size

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual void MQUALIFIER zeus::IMatrix::setDiagonalValue ( const Float &  fValue ) [pure virtual]

Set all values on the diagonal to the same value.

Parameters:
fValue[IN]: Value to set.

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual void MQUALIFIER zeus::IMatrix::setDiagonalVector ( const IVector rDiagVector ) [pure virtual]

Set a specific vector as diagonal

Parameters:
rDiagVector: Vector containing the diagonal values

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual Retval MQUALIFIER zeus::IMatrix::setDimensions ( Int  iRows,
Int  iColumns 
) [pure virtual]

sets the dimension of the matrix. Note that the actual data of the matrix will be ereased calling this method. Therefore use this method before filling the matrix

Parameters:
iRows: New row count
iColumns: Column count
Return values:
RET_NOERROR: Matrix redimensioned
RET_REQUEST_FAILED: Could not redimension the matrix, the values are not erased.

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual bool MQUALIFIER zeus::IMatrix::setRow ( Int  iRow,
const IVector rVector 
) [pure virtual]

Set a specific row as a vector.

Parameters:
iRow[IN]: Row, 1..MATRIX_DIMENSIONS.
rVector[IN]: Row as a vector.
Return values:
true: Vector set
false,:iRow out of bounds or vector is not of correct size

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual bool MQUALIFIER zeus::IMatrix::swapCells ( Int  iRow1,
Int  iColumn1,
Int  iRow2,
Int  iColumn2 
) [pure virtual]

Switch the values of 2 cells.

Parameters:
iRow1[IN]: Row of the 1st cell.
iColumn1[IN]: Columns of the 1st cell.
iRow2[IN]: Row of the 2nd cell
iColumn2[IN]: Row of the 2nd cell
Return values:
true: Values swapped.
false,:Row or column index is out of bound

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.

virtual void MQUALIFIER zeus::IMatrix::transpose (  ) [pure virtual]

Transpose this matrix.

Implemented in zeus::TMatrix, and zeus::TSquareMatrix3.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Sun Jan 22 2012 15:32:27