|
|
| 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 ©) |
| Build a new internal vector from existing boost vector object by copying the data. More...
|
|
virtual | ~Matrix (void) |
|
InternalMatrix & | accessToMotherLib (void) |
| Access to the boost internal vector. More...
|
|
const InternalMatrix & | accessToMotherLib (void) const |
| Access to the boost internal vector. More...
|
|
Matrix & | initFromMotherLib (const InternalMatrix &bv) |
| Copy the values and data of an existing boost vector. More...
|
|
|
Matrix & | resize (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...
|
|
Matrix & | setZero (void) |
|
Matrix & | setIdentity (void) |
|
Matrix & | fill (const FloatType value) |
|
|
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...
|
|
|
Matrix & | transpose (Matrix &At) const |
|
Matrix | transpose (void) const |
|
Matrix & | inverse (Matrix &invMatrix) const |
| Compute the inverse of the matrix. More...
|
|
Matrix | inverse (void) const |
|
virtual Matrix & | pseudoInverse (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 Matrix & | dampedInverse (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 |
|
Matrix & | opposite (Matrix &res) const |
| Compute the opposite of the matrix -M. More...
|
|
Matrix | opposite (void) const |
| Compute the opposite of the matrix -M. More...
|
|
|
Access to an element, a block of element or the hidden double-array matrix.
|
FloatType * | datablock (void) |
|
const FloatType * | datablock (void) const |
|
Matrix & | extract (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 FloatType & | elementAt (const int row, const int col) const |
|
FloatType & | elementAt (const int row, const int col) |
|
const FloatType & | elementAt (const int elmt) const |
|
FloatType & | elementAt (const int elmt) |
|
|
Additional functions, not implemented yet.
|
Vector | getDiagonal (void) const |
|
Vector & | getDiagonal (Vector &vector) const |
|
Matrix & | setDiagonal (const Vector &vector) |
|
Matrix & | stackMatrix (const Matrix &, Matrix &C) const |
|
Matrix | stackMatrix (const Matrix &B) const |
|
Matrix & | juxtaposeMatrix (const Matrix &, Matrix &C) const |
|
Matrix | juxtaposeMatrix (const Matrix &B) const |
|
|
Each C-style function is implemented as a C++ operator.
|
Matrix & | multiply (const Matrix &A, const Matrix &B, Matrix &C) |
|
Vector & | multiply (const Matrix &M, const Vector &v, Vector &res) |
|
Matrix & | addition (const Matrix &A, const Matrix &B, Matrix &C) |
|
Matrix & | substraction (const Matrix &A, const Matrix &B, Matrix &C) |
|
Matrix & | multiply (const Matrix &A, const FloatType x, Matrix &C) |
|
Matrix & | addition (const Matrix &A, const FloatType x, Matrix &C) |
|
Matrix & | substraction (const Matrix &A, const FloatType x, Matrix &C) |
|
Matrix & | division (const Matrix &A, const FloatType x, Matrix &C) |
|
Matrix | multiply (const Matrix &B) const |
|
Matrix & | multiply (const Matrix &B, Matrix &C) const |
|
Vector | multiply (const Vector &v) const |
|
Vector & | multiply (const Vector &v, Vector &res) const |
|
Matrix | addition (const Matrix &B) const |
|
Matrix & | addition (const Matrix &B, Matrix &C) const |
|
Matrix | substraction (const Matrix &B) const |
|
Matrix & | substraction (const Matrix &B, Matrix &C) const |
|
Matrix | multiply (const FloatType x) const |
|
Matrix & | multiply (const FloatType x, Matrix &C) const |
|
Matrix | addition (const FloatType x) const |
|
Matrix & | addition (const FloatType x, Matrix &C) const |
|
Matrix | substraction (const FloatType x) const |
|
Matrix & | substraction (const FloatType x, Matrix &C) const |
|
Matrix | division (const FloatType x) const |
|
Matrix & | division (const FloatType x, Matrix &C) const |
|
|
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) |
|
Matrix & | operator+= (const Matrix &m1) |
|
Matrix & | operator-= (const Matrix &m1) |
|
Matrix & | operator*= (const Matrix &m1) |
|
Matrix & | operator*= (const FloatType x) |
|
const FloatType & | operator() (const int i, const int j) const |
|
FloatType & | operator() (const int i, const int j) |
|
const FloatType & | operator() (const int n) const |
|
FloatType & | operator() (const int n) |
|
Matrix & | operator= (const Matrix &m1) |
|
|
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) |
|
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.