Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members

plFloatMatrix Class Reference

A {plFloatMatrix} is an {m} x {n} matrix of elements of type {plFloat}. More...

#include <plFloatMatrix.h>

Inheritance diagram for plFloatMatrix:

Inheritance graph
[legend]
Collaboration diagram for plFloatMatrix:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 plFloatMatrix ()
 Default void constructor.
 plFloatMatrix (unsigned int r, unsigned int c, bool init_to_zero=false)
 Constructs a matrix having {r x c} elements.
 plFloatMatrix (unsigned int d, bool init_to_zero=false)
 Constructs a matrix having {d x d} elements.
 plFloatMatrix (unsigned int d, const float *float_vector)
 Constructs a matrix having {d x d} elements and fills it using the {float_vector} C array of {float} values so that {m[i][j] = float_vector[i*d+j] } for i, j = 0...d-1.
 plFloatMatrix (unsigned int d, const double *double_vector)
 Constructs a matrix having {d x d} elements and fills it using the {double_vector} C array of {double} values so that {m[i][j] = double_vector[i*d+j] } for i, j = 0...d-1.
 plFloatMatrix (unsigned int d, const long double *long_double_vector)
 Constructs a matrix having {d x d} elements and fills it using the {long_double_vector} C array of {long double} values so that {m[i][j] = long_double_vector[i*d+j] } for i, j = 0...d-1.
 plFloatMatrix (const vector< float > &float_vector)
 Constructs a matrix having {d x d} elements and fills it using the {float_vector} STL vector of {float} values so that {m[i][j] = float_vector[i*d+j] } for i, j = 0...d-1.
 plFloatMatrix (const vector< double > &double_vector)
 Constructs a matrix having {d x d} elements and fills it using the {double_vector} STL vector of {double} values so that {m[i][j] = double_vector[i*d+j] } for i, j = 0...d-1.
 plFloatMatrix (const vector< long double > &long_double_vector)
 Constructs a matrix having {d x d} elements and fills it using the {long_double_vector} STL vector of {long double} values so that {m[i][j] = long_double_vector[i*d+j] } for i, j = 0...d-1.
 plFloatMatrix (const vector< vector< float > > &stl_matrix)
 Conversion from an STL float matrix.
 plFloatMatrix (const vector< vector< double > > &stl_matrix)
 Conversion from an STL double matrix.
 plFloatMatrix (const vector< vector< long double > > &stl_matrix)
 Conversion from an STL floatlong double matrix.
 plFloatMatrix (const plFloatMatrix &)
 Copy constructor.
 plFloatMatrix (const plFloatVector &diag_vector)
 Constructs a diagonal square matrix having {diag_vector} as diagonal.
void resize (unsigned int nr, unsigned int nc, bool init_to_zero=false)
 Sets the size of the matrix to {nr x nc}.
void resize (unsigned int nr, bool init_to_zero=false)
 Sets the size of the matrix to {nr x nr}.
virtual ~plFloatMatrix ()
 Destructor.
unsigned int rows () const
 Returns the number of rows.
unsigned int cols () const
 Returns the number of columns.
plFloat operator() (unsigned int r, unsigned int c) const
 Returns the (r, c) element of the matrix if {r} and {c} are not out of range.
plFloat & operator() (unsigned int r, unsigned int c)
 Returns a reference to the (r, c) element of the matrix if {r} and {c} are not out of range.
plFloat * operator[] (unsigned int i) const
 Returns a C array containing the ith row of the matrix.
plFloat * operator[] (unsigned int i)
 Returns a C array containing the ith row of the matrix.
plFloatVector row (unsigned int i) const
 Returns a plFloatVector containing the ith row of the matrix.
plFloatVector column (unsigned int j) const
 Returns a plFloatVector containing the jth column of the matrix.
plFloatMatrixoperator= (const plFloatMatrix &)
 Assignment operator.
plFloatMatrix operator+ (const plFloatMatrix &) const
 Addition operator.
plFloatMatrixoperator+= (const plFloatMatrix &)
 Addition operator.
plFloatMatrix operator- (const plFloatMatrix &) const
 Subtraction operator.
plFloatMatrixoperator-= (const plFloatMatrix &)
 Subtraction operator.
plFloatMatrix operator * (const plFloatMatrix &) const
 Multiplication with an other matrix operator.
plFloatVector operator * (const plFloatVector &) const
 Multiplication with a vector operator.
bool operator== (const plFloatMatrix &) const
 Equality test operator.
plFloatMatrix transpose () const
 Returns the transpose of the matrix.
void transpose (plFloatMatrix &result) const
 Returns the transpose of the matrix in the {result} matrix.
plFloat trace () const
 Returns the trace of the matrix.
plFloat inverse (plFloatMatrix &inverse, plFloat threshold=PL_ONE) const
 Inverses the matrix (returns the pseudo-inverse if the matrix is not a square one), returns the result in the {inverse} matrix and returns the determinant of the matrix.
void diagonalize (plFloatMatrix &Eigen_Matrix, plFloatVector &Eigen_Vector) const
 Digonalizes the matrix and returns:
- Eigen vectors in the result matrix {Eigen_Matrix}
- Eigen values in the result vector {Eigen_Vector}
IMPORTANT: The algorithm used for diagonalization is ONLY valid for SYMMETRIC matrices (such as variance/covariance matrices for Normal distributions).
void reset ()
 Resets the matrix to 0.
void reset (float val)
 Resets the matrix to val.
void reset (double val)
 Resets the matrix to val.
void reset (long double val)
 Resets the matrix to val.

Protected Member Functions

void Output (ostream &out) const
 Output.

Friends

plFloatMatrix operator * (const long double &, const plFloatMatrix &)
 Multiplication with a scalar operator.
plFloatMatrix operator * (const double &, const plFloatMatrix &)
 Multiplication with a scalar operator.
plFloatMatrix operator * (const float &, const plFloatMatrix &)
 Multiplication with a scalar operator.
plFloatMatrix operator * (const int &, const plFloatMatrix &)
 Multiplication with a scalar operator.
plFloatMatrix operator * (const unsigned int &, const plFloatMatrix &)
 Multiplication with a scalar operator.

Detailed Description

A {plFloatMatrix} is an {m} x {n} matrix of elements of type {plFloat}.

Definition at line 36 of file plFloatMatrix.h.


Member Function Documentation

plFloat plFloatMatrix::inverse plFloatMatrix inverse,
plFloat  threshold = PL_ONE
const
 

Inverses the matrix (returns the pseudo-inverse if the matrix is not a square one), returns the result in the {inverse} matrix and returns the determinant of the matrix.

The optional parameter {threshold} is used for Greville's algorithm we use for inversion.


The documentation for this class was generated from the following file:
Generated on Fri Apr 1 10:58:52 2005 for ProBT by  doxygen 1.4.1