maal::boost::Matrix Class Reference

Matrix class that include the boost::ublas::matrix. More...

#include <jrl/mal/boostmatrix.hh>

Inheritance diagram for maal::boost::Matrix:
[legend]

Public Types

typedef ::boost::numeric::ublas::matrix< FloatTypeInternalMatrix
 

Public Member Functions

Constructors
 Matrix (const unsigned int rows=0, const unsigned int cols=0)
 Classical constructor. More...
 
 Matrix (InternalMatrix *clone, const bool proprio=false)
 Build only the capsule around a already existing boost vector object. More...
 
 Matrix (const Matrix &copy)
 Build a new internal vector from existing boost vector object by copying the data. More...
 
virtual ~Matrix (void)
 
InternalMatrixaccessToMotherLib (void)
 Access to the boost internal vector. More...
 
const InternalMatrixaccessToMotherLib (void) const
 Access to the boost internal vector. More...
 
MatrixinitFromMotherLib (const InternalMatrix &bv)
 Copy the values and data of an existing boost vector. More...
 
Modifiors
Matrixresize (const unsigned int nbRows, const unsigned int nbCols, const bool setZero=true)
 
unsigned int nbRows (void) const
 Get the number of rows. More...
 
unsigned int nbCols (void) const
 Get the number of columns. More...
 
MatrixsetZero (void)
 
MatrixsetIdentity (void)
 
Matrixfill (const FloatType value)
 
Scalar Operator E->R
FloatType determinant (void) const
 
FloatType trace (void) const
 Not implemented yet. More...
 
FloatType norm (void) const
 Not implemented yet. More...
 
FloatType norm1 (void) const
 Norm 1 sum( |xi| ) More...
 
FloatType normInfty (void) const
 
FloatType max (void) const
 Not implemented yet. More...
 
FloatType min (void) const
 Not implemented yet. More...
 
FloatType sumSquare (void) const
 Not implemented yet. More...
 
Inverse
Matrixtranspose (Matrix &At) const
 
Matrix transpose (void) const
 
Matrixinverse (Matrix &invMatrix) const
 Compute the inverse of the matrix. More...
 
Matrix inverse (void) const
 
virtual MatrixpseudoInverse (Matrix &invMatrix, const FloatType threshold=1e-6, Matrix *Uref=NULL, Vector *Sref=NULL, Matrix *Vref=NULL) const
 Compute the pseudo-inverse of the matrix. More...
 
Matrix pseudoInverse (const FloatType threshold=1e-6, Matrix *U=NULL, Vector *S=NULL, Matrix *V=NULL) const
 
virtual MatrixdampedInverse (Matrix &invMatrix, const FloatType threshold=1e-6, Matrix *Uref=NULL, Vector *Sref=NULL, Matrix *Vref=NULL) const
 Compute the pseudo-inverse of the matrix. More...
 
Matrix dampedInverse (const FloatType threshold=1e-6, Matrix *U=NULL, Vector *S=NULL, Matrix *V=NULL) const
 
Matrixopposite (Matrix &res) const
 Compute the opposite of the matrix -M. More...
 
Matrix opposite (void) const
 Compute the opposite of the matrix -M. More...
 
Accessors

Access to an element, a block of element or the hidden double-array matrix.

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 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)
 
Bonus

Additional functions, not implemented yet.

Vector getDiagonal (void) const
 
VectorgetDiagonal (Vector &vector) const
 
MatrixsetDiagonal (const Vector &vector)
 
MatrixstackMatrix (const Matrix &, Matrix &C) const
 
Matrix stackMatrix (const Matrix &B) const
 
MatrixjuxtaposeMatrix (const Matrix &, Matrix &C) const
 
Matrix juxtaposeMatrix (const Matrix &B) const
 

Public Attributes

InternalMatrix staticMatrix
 
InternalMatrixdynamicMatrix
 
InternalMatrixmatrix
 
bool proprio
 

Static Public Attributes

static const bool AUTORESIZE = true
 
static const bool CHECKRESIZE = true
 

Friends

class Vector
 

Operator Functions ExE->E

Each C-style function is implemented as a C++ operator.

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

Operators

Classical operators: use v1 + v2 for addition, v1(i) for i-th element...

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

Autoresize internal

bool autoresize (void)
 
static void _resize (InternalMatrix &mat1, const InternalMatrix &mat2)
 
static bool _checksize (const InternalMatrix &mat1, const InternalMatrix &mat2)
 
static bool _checksizeVerb (const InternalMatrix &mat1, const InternalMatrix &mat2)
 
static bool _checksize (const InternalMatrix &mat1, const unsigned int s1, const unsigned int s2)
 
static bool _checksizeVerb (const InternalMatrix &mat1, const unsigned int s1, const unsigned int s2)
 
static bool _checksizeProd (const InternalMatrix &mat1, const InternalMatrix &mat2)
 
static bool _checksizeProdVerb (const InternalMatrix &mat1, const InternalMatrix &mat2)
 
static void _resizeProd (InternalMatrix &res, const InternalMatrix &mat1, const InternalMatrix &mat2)
 
static bool _checksizeProd (const InternalMatrix &mat1, const Vector::InternalVector &vct)
 
static bool _checksizeProdVerb (const InternalMatrix &mat1, const Vector::InternalVector &vct)
 
static void _resizeProd (Vector::InternalVector &res, const InternalMatrix &mat1)
 
static void _resizeInv (InternalMatrix &res, const InternalMatrix &mat2)
 
static bool _checksizeSquare (const InternalMatrix &mat1)
 
static bool _checksizeSquareVerb (const InternalMatrix &mat1)
 

Detailed Description

Matrix class that include the boost::ublas::matrix.

The class encapsulates the ublas::matrix object, and implement a set of standard functions. When the maal::boost::Matrix object is constructed, it automatically builds the internal ublas::matrix object. The internal object can be access through accessToMotherLib. Finally, it is possible to build the capsule around an existing boost ublas::matrix through the appropriate constructor.

Member Typedef Documentation

◆ InternalMatrix

typedef ::boost::numeric::ublas::matrix<FloatType> maal::boost::Matrix::InternalMatrix

Constructor & Destructor Documentation

◆ Matrix() [1/3]

maal::boost::Matrix::Matrix ( const unsigned int  rows = 0,
const unsigned int  cols = 0 
)
inline

Classical constructor.

Build the internal matrix from the demanded size.

References staticMatrix.

◆ Matrix() [2/3]

maal::boost::Matrix::Matrix ( InternalMatrix clone,
const bool  proprio = false 
)
inline

Build only the capsule around a already existing boost vector object.

◆ Matrix() [3/3]

maal::boost::Matrix::Matrix ( const Matrix copy)
inline

Build a new internal vector from existing boost vector object by copying the data.

◆ ~Matrix()

virtual maal::boost::Matrix::~Matrix ( void  )
inlinevirtual

References dynamicMatrix, and proprio.

Member Function Documentation

◆ _checksize() [1/2]

static bool maal::boost::Matrix::_checksize ( const InternalMatrix mat1,
const InternalMatrix mat2 
)
inlinestaticprotected

References CHECKRESIZE.

Referenced by addition(), elementAt(), extract(), and substraction().

◆ _checksize() [2/2]

static bool maal::boost::Matrix::_checksize ( const InternalMatrix mat1,
const unsigned int  s1,
const unsigned int  s2 
)
inlinestaticprotected

References CHECKRESIZE.

◆ _checksizeProd() [1/2]

static bool maal::boost::Matrix::_checksizeProd ( const InternalMatrix mat1,
const InternalMatrix mat2 
)
inlinestaticprotected

References CHECKRESIZE.

Referenced by multiply().

◆ _checksizeProd() [2/2]

static bool maal::boost::Matrix::_checksizeProd ( const InternalMatrix mat1,
const Vector::InternalVector &  vct 
)
inlinestaticprotected

References CHECKRESIZE.

◆ _checksizeProdVerb() [1/2]

static bool maal::boost::Matrix::_checksizeProdVerb ( const InternalMatrix mat1,
const InternalMatrix mat2 
)
inlinestaticprotected

References CHECKRESIZE.

◆ _checksizeProdVerb() [2/2]

static bool maal::boost::Matrix::_checksizeProdVerb ( const InternalMatrix mat1,
const Vector::InternalVector &  vct 
)
inlinestaticprotected

References CHECKRESIZE.

◆ _checksizeSquare()

static bool maal::boost::Matrix::_checksizeSquare ( const InternalMatrix mat1)
inlinestaticprotected

References CHECKRESIZE.

◆ _checksizeSquareVerb()

static bool maal::boost::Matrix::_checksizeSquareVerb ( const InternalMatrix mat1)
inlinestaticprotected

References CHECKRESIZE.

Referenced by determinant().

◆ _checksizeVerb() [1/2]

static bool maal::boost::Matrix::_checksizeVerb ( const InternalMatrix mat1,
const InternalMatrix mat2 
)
inlinestaticprotected

References CHECKRESIZE.

◆ _checksizeVerb() [2/2]

static bool maal::boost::Matrix::_checksizeVerb ( const InternalMatrix mat1,
const unsigned int  s1,
const unsigned int  s2 
)
inlinestaticprotected

References CHECKRESIZE.

◆ _resize()

static void maal::boost::Matrix::_resize ( InternalMatrix mat1,
const InternalMatrix mat2 
)
inlinestaticprotected

References AUTORESIZE.

Referenced by dampedInverse().

◆ _resizeInv()

static void maal::boost::Matrix::_resizeInv ( InternalMatrix res,
const InternalMatrix mat2 
)
inlinestaticprotected

◆ _resizeProd() [1/2]

static void maal::boost::Matrix::_resizeProd ( InternalMatrix res,
const InternalMatrix mat1,
const InternalMatrix mat2 
)
inlinestaticprotected

References AUTORESIZE.

Referenced by multiply().

◆ _resizeProd() [2/2]

static void maal::boost::Matrix::_resizeProd ( Vector::InternalVector &  res,
const InternalMatrix mat1 
)
inlinestaticprotected

References AUTORESIZE.

◆ accessToMotherLib() [1/2]

InternalMatrix& maal::boost::Matrix::accessToMotherLib ( void  )
inline

Access to the boost internal vector.

References matrix.

◆ accessToMotherLib() [2/2]

const InternalMatrix& maal::boost::Matrix::accessToMotherLib ( void  ) const
inline

Access to the boost internal vector.

References matrix.

◆ addition() [1/4]

Matrix maal::boost::Matrix::addition ( const Matrix B) const
inline

References addition, nbCols(), and nbRows().

◆ addition() [2/4]

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

◆ addition() [3/4]

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

References addition, nbCols(), and nbRows().

◆ addition() [4/4]

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

References matrix, nbCols(), and nbRows().

◆ autoresize()

bool maal::boost::Matrix::autoresize ( void  )
inline

References AUTORESIZE.

◆ dampedInverse() [1/2]

virtual Matrix& maal::boost::Matrix::dampedInverse ( Matrix invMatrix,
const FloatType  threshold = 1e-6,
Matrix Uref = NULL,
Vector Sref = NULL,
Matrix Vref = NULL 
) const
inlinevirtual

Compute the pseudo-inverse of the matrix.

By default, the function uses the dgesvd_ fortran routine. It should be provided by the host software.

Reimplemented in maal::boost::MatrixSvd.

References _resize(), _resizeInv(), dgesvd_(), matrix, MRAWDATA, nbCols(), nbRows(), and VRAWDATA.

Referenced by dampedInverse().

◆ dampedInverse() [2/2]

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

References dampedInverse(), nbCols(), and nbRows().

◆ datablock() [1/2]

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

References matrix, and MRAWDATA.

◆ datablock() [2/2]

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

References matrix, and MRAWDATA.

◆ determinant()

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

References _checksizeSquareVerb(), and matrix.

◆ division() [1/2]

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

References division, nbCols(), and nbRows().

◆ division() [2/2]

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

References matrix, nbCols(), and nbRows().

◆ elementAt() [1/4]

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

References _checksize(), MAAL_CHECKVERBOSE, and matrix.

Referenced by elementAt(), and operator()().

◆ elementAt() [2/4]

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

◆ elementAt() [3/4]

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

References elementAt(), and nbRows().

◆ elementAt() [4/4]

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

References elementAt(), and nbRows().

◆ extract() [1/2]

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

References _checksize(), MAAL_CHECKVERBOSE, and matrix.

Referenced by extract().

◆ extract() [2/2]

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

References extract().

◆ fill()

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

References matrix.

Referenced by setDiagonal().

◆ getDiagonal() [1/2]

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

◆ getDiagonal() [2/2]

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

◆ initFromMotherLib()

Matrix& maal::boost::Matrix::initFromMotherLib ( const InternalMatrix bv)
inline

Copy the values and data of an existing boost vector.

References matrix.

◆ inverse() [1/2]

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

Compute the inverse of the matrix.

The matrix has to be invertible. By default, the function uses the dgesvd_ fortran routine. It should be provided by the host software (i.e. lapack).

References _resizeInv(), and matrix.

◆ inverse() [2/2]

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

References nbCols(), and nbRows().

◆ juxtaposeMatrix() [1/2]

Matrix& maal::boost::Matrix::juxtaposeMatrix ( const Matrix ,
Matrix C 
) const
inline

References ML_NOT_IMPLEMENTED.

Referenced by juxtaposeMatrix().

◆ juxtaposeMatrix() [2/2]

Matrix maal::boost::Matrix::juxtaposeMatrix ( const Matrix B) const
inline

References juxtaposeMatrix().

◆ max()

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

Not implemented yet.

References ML_NOT_IMPLEMENTED.

◆ min()

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

Not implemented yet.

References ML_NOT_IMPLEMENTED.

◆ multiply() [1/6]

Matrix maal::boost::Matrix::multiply ( const Matrix B) const
inline

References multiply, nbCols(), and nbRows().

◆ multiply() [2/6]

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

◆ multiply() [3/6]

Vector maal::boost::Matrix::multiply ( const Vector v) const
inline

References multiply, and nbRows().

◆ multiply() [4/6]

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

◆ multiply() [5/6]

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

References multiply, nbCols(), and nbRows().

◆ multiply() [6/6]

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

References matrix.

◆ nbCols()

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

◆ nbRows()

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

◆ norm()

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

Not implemented yet.

References ML_NOT_IMPLEMENTED.

◆ norm1()

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

Norm 1 sum( |xi| )

References matrix.

◆ normInfty()

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

References matrix.

◆ operator()() [1/4]

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

References matrix.

◆ operator()() [2/4]

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

References matrix.

◆ operator()() [3/4]

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

References elementAt().

◆ operator()() [4/4]

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

References elementAt().

◆ operator*=() [1/2]

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

References multiply.

◆ operator*=() [2/2]

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

References matrix.

◆ operator+=()

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

References matrix.

◆ operator-=()

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

References matrix.

◆ operator=()

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

References matrix.

◆ opposite() [1/2]

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

Compute the opposite of the matrix -M.

References matrix.

◆ opposite() [2/2]

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

Compute the opposite of the matrix -M.

◆ pseudoInverse() [1/2]

virtual Matrix& maal::boost::Matrix::pseudoInverse ( Matrix invMatrix,
const FloatType  threshold = 1e-6,
Matrix Uref = NULL,
Vector Sref = NULL,
Matrix Vref = NULL 
) const
inlinevirtual

Compute the pseudo-inverse of the matrix.

By default, the function uses the dgesvd_ fortran routine. It should be provided by the host software.

Reimplemented in maal::boost::MatrixSvd.

References _resizeInv(), dgesvd_(), matrix, MRAWDATA, nbCols(), nbRows(), and VRAWDATA.

Referenced by pseudoInverse().

◆ pseudoInverse() [2/2]

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

References nbCols(), nbRows(), and pseudoInverse().

◆ resize()

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

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

◆ setDiagonal()

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

◆ setIdentity()

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

References matrix.

◆ setZero()

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

References matrix.

Referenced by resize().

◆ stackMatrix() [1/2]

Matrix& maal::boost::Matrix::stackMatrix ( const Matrix ,
Matrix C 
) const
inline

References ML_NOT_IMPLEMENTED.

Referenced by stackMatrix().

◆ stackMatrix() [2/2]

Matrix maal::boost::Matrix::stackMatrix ( const Matrix B) const
inline

References stackMatrix().

◆ substraction() [1/4]

Matrix maal::boost::Matrix::substraction ( const Matrix B) const
inline

References nbCols(), nbRows(), and substraction.

◆ substraction() [2/4]

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

◆ substraction() [3/4]

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

References nbCols(), nbRows(), and substraction.

◆ substraction() [4/4]

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

References matrix, nbCols(), and nbRows().

◆ sumSquare()

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

Not implemented yet.

References ML_NOT_IMPLEMENTED.

◆ trace()

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

Not implemented yet.

◆ transpose() [1/2]

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

References matrix.

◆ transpose() [2/2]

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

References nbCols(), and nbRows().

Friends And Related Function Documentation

◆ addition [1/2]

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

Referenced by addition().

◆ addition [2/2]

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

◆ division

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

Referenced by division().

◆ multiply [1/3]

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

Referenced by multiply(), and operator*=().

◆ multiply [2/3]

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

◆ multiply [3/3]

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

◆ operator* [1/5]

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

◆ operator* [2/5]

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

◆ operator* [3/5]

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

◆ operator* [4/5]

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

◆ operator* [5/5]

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

◆ operator+ [1/3]

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

◆ operator+ [2/3]

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

◆ operator+ [3/3]

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

◆ operator- [1/4]

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

◆ operator- [2/4]

Matrix operator- ( const Matrix m)
friend

◆ operator- [3/4]

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

◆ operator- [4/4]

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

◆ operator/ [1/2]

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

◆ operator/ [2/2]

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

◆ operator<<

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

◆ operator>>

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

◆ substraction [1/2]

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

Referenced by substraction().

◆ substraction [2/2]

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

◆ Vector

friend class Vector
friend

Member Data Documentation

◆ AUTORESIZE

const bool maal::boost::Matrix::AUTORESIZE = true
static

◆ CHECKRESIZE

const bool maal::boost::Matrix::CHECKRESIZE = true
static

◆ dynamicMatrix

InternalMatrix* maal::boost::Matrix::dynamicMatrix

Referenced by ~Matrix().

◆ matrix

◆ proprio

bool maal::boost::Matrix::proprio

Referenced by ~Matrix().

◆ staticMatrix

InternalMatrix maal::boost::Matrix::staticMatrix

Referenced by Matrix().