Loading...
Searching...
No Matches
maal::abstract::Matrix Class Reference

Abstract Matrix class. More...

#include <jrl/mal/abstractmatrix.hh>

Public Member Functions

 Matrix (const unsigned int rows=0, const unsigned int cols=0)
 Matrix (InternalMatrix *clone, const bool proprio=false)
 Matrix (const Matrix &copy)
virtual ~Matrix (void)
InternalMatrix & accessToMotherLib (void)
const InternalMatrix & accessToMotherLib (void) const
MatrixinitFromMotherLib (const InternalMatrix &bv)
Matrixresize (const unsigned int nbRows, const unsigned int nbCols, const bool setZero=true)
unsigned int nbRows (void) const
unsigned int nbCols (void) const
MatrixsetZero (void)
MatrixsetIdentity (void)
Matrixfill (const FloatType value)
FloatType determinant (void) const
FloatType trace (void) const
FloatType norm (void) const
FloatType norm1 (void) const
FloatType normInfty (void) const
FloatType max (void) const
FloatType min (void) const
FloatType sumSquare (void) const
Matrixtranspose (Matrix &At) const
Matrix transpose (void) const
Matrixinverse (Matrix &invMatrix) const
Matrix inverse (void) const
MatrixpseudoInverse (Matrix &invMatrix, const FloatType threshold=1e-6, Matrix *Uref=NULL, Matrix *Sref=NULL, Matrix *Vref=NULL) const
Matrix pseudoInverse (const FloatType threshold=1e-6, Matrix *U=NULL, Matrix *S=NULL, Matrix *V=NULL) const
MatrixdampedInverse (Matrix &invMatrix, const FloatType threshold=1e-6, Matrix *U=NULL, Matrix *S=NULL, Matrix *V=NULL) const
Matrix dampedInverse (const FloatType threshold=1e-6, Matrix *U=NULL, Matrix *S=NULL, Matrix *V=NULL) const
Matrixopposite (Matrix &res) const
Matrix opposite (void) const
Matrix multiply (const Matrix &B) const
Matrixmultiply (const Matrix &B, Matrix &C) const
Vector multiply (const Vector &v) const
Vectormultiply (const Vector &v, Vector &res) const
Matrix addition (const Matrix &B) const
Matrixaddition (const Matrix &B, Matrix &C) const
Matrix substraction (const Matrix &B) const
Matrixsubstraction (const Matrix &B, Matrix &C) const
Matrix multiply (const FloatType x) const
Matrixmultiply (const FloatType x, Matrix &C) const
Matrix addition (const FloatType x) const
Matrixaddition (const FloatType x, Matrix &C) const
Matrix substraction (const FloatType x) const
Matrixsubstraction (const FloatType x, Matrix &C) const
Matrix division (const FloatType x) const
Matrixdivision (const FloatType x, Matrix &C) const
FloatTypedatablock (void)
const FloatTypedatablock (void) const
Matrixextract (const int top, const int left, const int nbrows, const int nbcols, Matrix &C) const
Matrix extract (const int top, const int left, const int nbrows, const int nbcols) const
const FloatTypeelementAt (const int row, const int col) const
FloatTypeelementAt (const int row, const int col)
const FloatTypeelementAt (const int elmt) const
FloatTypeelementAt (const int elmt)
Vector getDiagonal (void) const
VectorgetDiagonal (Vector &vector) const
MatrixsetDiagonal (const Vector &vector)
MatrixstackMatrix (const Matrix &B, Matrix &C) const
Matrix stackMatrix (const Matrix &B) const
MatrixjuxtaposeMatrix (const Matrix &B, Matrix &C) const
Matrix juxtaposeMatrix (const Matrix &B) const
Matrixoperator+= (const Matrix &m1)
Matrixoperator-= (const Matrix &m1)
Matrixoperator*= (const Matrix &m1)
Matrixoperator*= (const FloatType x)
const FloatTypeoperator() (const int i, const int j) const
FloatTypeoperator() (const int i, const int j)
const FloatTypeoperator() (const int n) const
FloatTypeoperator() (const int n)
Matrixoperator= (const Matrix &m1)

Friends

Matrixmultiply (const Matrix &A, const Matrix &B, Matrix &C)
Vectormultiply (const Matrix &M, const Vector &v, Vector &res)
Matrixaddition (const Matrix &A, const Matrix &B, Matrix &C)
Matrixsubstraction (const Matrix &A, const Matrix &B, Matrix &C)
Matrixmultiply (const Matrix &A, const FloatType x, Matrix &C)
Matrixaddition (const Matrix &A, const FloatType x, Matrix &C)
Matrixsubstraction (const Matrix &A, const FloatType x, Matrix &C)
Matrixdivision (const Matrix &A, const FloatType x, Matrix &C)
Matrix operator+ (const Matrix &m1, const Matrix &m2)
Matrix operator- (const Matrix &m1, const Matrix &m2)
Matrix operator* (const Matrix &m1, const Matrix &m2)
Matrix operator- (const Matrix &m)
Vector operator* (const Matrix &M, const Vector &v1)
Vector operator* (const Vector &v1, const Matrix &M)
Matrix operator+ (const FloatType x, const Matrix &m1)
Matrix operator- (const FloatType x, const Matrix &m1)
Matrix operator* (const FloatType x, const Matrix &m1)
Matrix operator/ (const FloatType x, const Matrix &m1)
Matrix operator+ (const Matrix &m1, const FloatType x)
Matrix operator- (const Matrix &m1, const FloatType x)
Matrix operator* (const Matrix &m1, const FloatType x)
Matrix operator/ (const Matrix &m1, const FloatType x)
std::ostream & operator<< (std::ostream &os, const Matrix &m1)
std::istream & operator>> (std::istream &is, Matrix &v1)

Detailed Description

Abstract Matrix class.

Constructor & Destructor Documentation

◆ Matrix() [1/3]

◆ Matrix() [2/3]

maal::abstract::Matrix::Matrix ( InternalMatrix * clone,
const bool proprio = false )

◆ Matrix() [3/3]

maal::abstract::Matrix::Matrix ( const Matrix & copy)

References Matrix().

◆ ~Matrix()

virtual maal::abstract::Matrix::~Matrix ( void )
virtual

Member Function Documentation

◆ accessToMotherLib() [1/2]

InternalMatrix & maal::abstract::Matrix::accessToMotherLib ( void )

◆ accessToMotherLib() [2/2]

const InternalMatrix & maal::abstract::Matrix::accessToMotherLib ( void ) const

◆ addition() [1/4]

Matrix maal::abstract::Matrix::addition ( const FloatType x) const
inline

References Matrix().

◆ addition() [2/4]

Matrix & maal::abstract::Matrix::addition ( const FloatType x,
Matrix & C ) const
inline

References Matrix().

◆ addition() [3/4]

Matrix maal::abstract::Matrix::addition ( const Matrix & B) const
inline

References Matrix().

◆ addition() [4/4]

Matrix & maal::abstract::Matrix::addition ( const Matrix & B,
Matrix & C ) const
inline

References Matrix().

◆ dampedInverse() [1/2]

Matrix maal::abstract::Matrix::dampedInverse ( const FloatType threshold = 1e-6,
Matrix * U = NULL,
Matrix * S = NULL,
Matrix * V = NULL ) const
inline

References Matrix().

◆ dampedInverse() [2/2]

Matrix & maal::abstract::Matrix::dampedInverse ( Matrix & invMatrix,
const FloatType threshold = 1e-6,
Matrix * U = NULL,
Matrix * S = NULL,
Matrix * V = NULL ) const
inline

References Matrix().

◆ datablock() [1/2]

FloatType * maal::abstract::Matrix::datablock ( void )
inline

◆ datablock() [2/2]

const FloatType * maal::abstract::Matrix::datablock ( void ) const
inline

◆ determinant()

FloatType maal::abstract::Matrix::determinant ( void ) const
inline

◆ division() [1/2]

Matrix maal::abstract::Matrix::division ( const FloatType x) const
inline

References Matrix().

◆ division() [2/2]

Matrix & maal::abstract::Matrix::division ( const FloatType x,
Matrix & C ) const
inline

References Matrix().

◆ elementAt() [1/4]

FloatType & maal::abstract::Matrix::elementAt ( const int elmt)
inline

◆ elementAt() [2/4]

const FloatType & maal::abstract::Matrix::elementAt ( const int elmt) const
inline

◆ elementAt() [3/4]

FloatType & maal::abstract::Matrix::elementAt ( const int row,
const int col )
inline

◆ elementAt() [4/4]

const FloatType & maal::abstract::Matrix::elementAt ( const int row,
const int col ) const
inline

◆ extract() [1/2]

Matrix maal::abstract::Matrix::extract ( const int top,
const int left,
const int nbrows,
const int nbcols ) const
inline

References Matrix().

◆ extract() [2/2]

Matrix & maal::abstract::Matrix::extract ( const int top,
const int left,
const int nbrows,
const int nbcols,
Matrix & C ) const
inline

References Matrix().

◆ fill()

Matrix & maal::abstract::Matrix::fill ( const FloatType value)
inline

References Matrix().

◆ getDiagonal() [1/2]

Vector & maal::abstract::Matrix::getDiagonal ( Vector & vector) const
inline

◆ getDiagonal() [2/2]

Vector maal::abstract::Matrix::getDiagonal ( void ) const
inline

◆ initFromMotherLib()

Matrix & maal::abstract::Matrix::initFromMotherLib ( const InternalMatrix & bv)

References Matrix().

◆ inverse() [1/2]

Matrix & maal::abstract::Matrix::inverse ( Matrix & invMatrix) const
inline

References Matrix().

◆ inverse() [2/2]

Matrix maal::abstract::Matrix::inverse ( void ) const
inline

References Matrix().

◆ juxtaposeMatrix() [1/2]

Matrix maal::abstract::Matrix::juxtaposeMatrix ( const Matrix & B) const
inline

References Matrix().

◆ juxtaposeMatrix() [2/2]

Matrix & maal::abstract::Matrix::juxtaposeMatrix ( const Matrix & B,
Matrix & C ) const
inline

References Matrix().

◆ max()

FloatType maal::abstract::Matrix::max ( void ) const
inline

◆ min()

FloatType maal::abstract::Matrix::min ( void ) const
inline

◆ multiply() [1/6]

Matrix maal::abstract::Matrix::multiply ( const FloatType x) const
inline

References Matrix().

◆ multiply() [2/6]

Matrix & maal::abstract::Matrix::multiply ( const FloatType x,
Matrix & C ) const
inline

References Matrix().

◆ multiply() [3/6]

Matrix maal::abstract::Matrix::multiply ( const Matrix & B) const
inline

References Matrix().

◆ multiply() [4/6]

Matrix & maal::abstract::Matrix::multiply ( const Matrix & B,
Matrix & C ) const
inline

References Matrix().

◆ multiply() [5/6]

Vector maal::abstract::Matrix::multiply ( const Vector & v) const
inline

◆ multiply() [6/6]

Vector & maal::abstract::Matrix::multiply ( const Vector & v,
Vector & res ) const
inline

◆ nbCols()

unsigned int maal::abstract::Matrix::nbCols ( void ) const
inline

Referenced by resize().

◆ nbRows()

unsigned int maal::abstract::Matrix::nbRows ( void ) const
inline

Referenced by resize().

◆ norm()

FloatType maal::abstract::Matrix::norm ( void ) const
inline

◆ norm1()

FloatType maal::abstract::Matrix::norm1 ( void ) const
inline

◆ normInfty()

FloatType maal::abstract::Matrix::normInfty ( void ) const
inline

◆ operator()() [1/4]

FloatType & maal::abstract::Matrix::operator() ( const int i,
const int j )
inline

◆ operator()() [2/4]

const FloatType & maal::abstract::Matrix::operator() ( const int i,
const int j ) const
inline

◆ operator()() [3/4]

FloatType & maal::abstract::Matrix::operator() ( const int n)
inline

◆ operator()() [4/4]

const FloatType & maal::abstract::Matrix::operator() ( const int n) const
inline

◆ operator*=() [1/2]

Matrix & maal::abstract::Matrix::operator*= ( const FloatType x)
inline

References Matrix().

◆ operator*=() [2/2]

Matrix & maal::abstract::Matrix::operator*= ( const Matrix & m1)
inline

References Matrix().

◆ operator+=()

Matrix & maal::abstract::Matrix::operator+= ( const Matrix & m1)
inline

References Matrix().

◆ operator-=()

Matrix & maal::abstract::Matrix::operator-= ( const Matrix & m1)
inline

References Matrix().

◆ operator=()

Matrix & maal::abstract::Matrix::operator= ( const Matrix & m1)
inline

References Matrix().

◆ opposite() [1/2]

Matrix & maal::abstract::Matrix::opposite ( Matrix & res) const
inline

References Matrix().

◆ opposite() [2/2]

Matrix maal::abstract::Matrix::opposite ( void ) const
inline

References Matrix().

◆ pseudoInverse() [1/2]

Matrix maal::abstract::Matrix::pseudoInverse ( const FloatType threshold = 1e-6,
Matrix * U = NULL,
Matrix * S = NULL,
Matrix * V = NULL ) const
inline

References Matrix().

◆ pseudoInverse() [2/2]

Matrix & maal::abstract::Matrix::pseudoInverse ( Matrix & invMatrix,
const FloatType threshold = 1e-6,
Matrix * Uref = NULL,
Matrix * Sref = NULL,
Matrix * Vref = NULL ) const

References Matrix().

◆ resize()

Matrix & maal::abstract::Matrix::resize ( const unsigned int nbRows,
const unsigned int nbCols,
const bool setZero = true )
inline

References Matrix(), nbCols(), nbRows(), and setZero().

◆ setDiagonal()

Matrix & maal::abstract::Matrix::setDiagonal ( const Vector & vector)
inline

References Matrix().

◆ setIdentity()

Matrix & maal::abstract::Matrix::setIdentity ( void )
inline

References Matrix().

◆ setZero()

Matrix & maal::abstract::Matrix::setZero ( void )
inline

References Matrix().

Referenced by resize().

◆ stackMatrix() [1/2]

Matrix maal::abstract::Matrix::stackMatrix ( const Matrix & B) const
inline

References Matrix().

◆ stackMatrix() [2/2]

Matrix & maal::abstract::Matrix::stackMatrix ( const Matrix & B,
Matrix & C ) const
inline

References Matrix().

◆ substraction() [1/4]

Matrix maal::abstract::Matrix::substraction ( const FloatType x) const
inline

References Matrix().

◆ substraction() [2/4]

Matrix & maal::abstract::Matrix::substraction ( const FloatType x,
Matrix & C ) const
inline

References Matrix().

◆ substraction() [3/4]

Matrix maal::abstract::Matrix::substraction ( const Matrix & B) const
inline

References Matrix().

◆ substraction() [4/4]

Matrix & maal::abstract::Matrix::substraction ( const Matrix & B,
Matrix & C ) const
inline

References Matrix().

◆ sumSquare()

FloatType maal::abstract::Matrix::sumSquare ( void ) const
inline

◆ trace()

FloatType maal::abstract::Matrix::trace ( void ) const
inline

◆ transpose() [1/2]

Matrix & maal::abstract::Matrix::transpose ( Matrix & At) const
inline

References Matrix().

◆ transpose() [2/2]

Matrix maal::abstract::Matrix::transpose ( void ) const
inline

References Matrix().

◆ addition [1/2]

Matrix & addition ( const Matrix & A,
const FloatType x,
Matrix & C )
friend

References Matrix().

◆ addition [2/2]

Matrix & addition ( const Matrix & A,
const Matrix & B,
Matrix & C )
friend

References Matrix().

◆ division

Matrix & division ( const Matrix & A,
const FloatType x,
Matrix & C )
friend

References Matrix().

◆ multiply [1/3]

Matrix & multiply ( const Matrix & A,
const FloatType x,
Matrix & C )
friend

References Matrix().

◆ multiply [2/3]

Matrix & multiply ( const Matrix & A,
const Matrix & B,
Matrix & C )
friend

References Matrix().

◆ multiply [3/3]

Vector & multiply ( const Matrix & M,
const Vector & v,
Vector & res )
friend

References Matrix().

◆ operator* [1/5]

Matrix operator* ( const FloatType x,
const Matrix & m1 )
friend

References Matrix().

◆ operator* [2/5]

Vector operator* ( const Matrix & M,
const Vector & v1 )
friend

References Matrix().

◆ operator* [3/5]

Matrix operator* ( const Matrix & m1,
const FloatType x )
friend

References Matrix().

◆ operator* [4/5]

Matrix operator* ( const Matrix & m1,
const Matrix & m2 )
friend

References Matrix().

◆ operator* [5/5]

Vector operator* ( const Vector & v1,
const Matrix & M )
friend

References Matrix().

◆ operator+ [1/3]

Matrix operator+ ( const FloatType x,
const Matrix & m1 )
friend

References Matrix().

◆ operator+ [2/3]

Matrix operator+ ( const Matrix & m1,
const FloatType x )
friend

References Matrix().

◆ operator+ [3/3]

Matrix operator+ ( const Matrix & m1,
const Matrix & m2 )
friend

References Matrix().

◆ operator- [1/4]

Matrix operator- ( const FloatType x,
const Matrix & m1 )
friend

References Matrix().

◆ operator- [2/4]

Matrix operator- ( const Matrix & m)
friend

References Matrix().

◆ operator- [3/4]

Matrix operator- ( const Matrix & m1,
const FloatType x )
friend

References Matrix().

◆ operator- [4/4]

Matrix operator- ( const Matrix & m1,
const Matrix & m2 )
friend

References Matrix().

◆ operator/ [1/2]

Matrix operator/ ( const FloatType x,
const Matrix & m1 )
friend

References Matrix().

◆ operator/ [2/2]

Matrix operator/ ( const Matrix & m1,
const FloatType x )
friend

References Matrix().

◆ operator<<

std::ostream & operator<< ( std::ostream & os,
const Matrix & m1 )
friend

References Matrix().

◆ operator>>

std::istream & operator>> ( std::istream & is,
Matrix & v1 )
friend

References Matrix().

◆ substraction [1/2]

Matrix & substraction ( const Matrix & A,
const FloatType x,
Matrix & C )
friend

References Matrix().

◆ substraction [2/2]

Matrix & substraction ( const Matrix & A,
const Matrix & B,
Matrix & C )
friend

References Matrix().