Main Page Modules Class Hierarchy Alphabetical List Compound List Compound Members
CSIBCMatrixMNd Class Reference
Class representing matricies with M rows, and N columns.
More...
#include <SIBCMatrixMNd.h>
List of all members.
Public Methods
- CSIBCMatrixMNd ()
- bool SetDimensions (const int in_M, const int in_N)
- bool Set (const CSIBCMatrixMNd &in_mat)
- void Copy (const CSIBCMatrixMNd &in_mat)
- CSIBCMatrixMNd & Transpose (const CSIBCMatrixMNd &in_mat)
- int GetNbRow (void) const
- int GetNbCol (void) const
- double Get (const int in_nRow, const int in_nCol) const
- void Set (int in_nRow, int in_nCol, const double in_dVal)
- void SetIdentity (void)
- CSIBCMatrixMNd & Mul (const CSIBCMatrixMNd &in_mat1, const CSIBCMatrixMNd &in_mat2)
- bool Mul (const CSIBCMatrixMNd &in_mat)
- bool LeftMul (const CSIBCMatrixMNd &in_mat)
- bool GrevilleInverse (const CSIBCMatrixMNd &in_mat)
- bool GrevilleInverse (const CSIBCMatrixMNd &in_mat, const unsigned long in_NbRow, const unsigned long in_NbCol)
- CSIBCMatrixMNd & Add (const CSIBCMatrixMNd &in_mat1, const CSIBCMatrixMNd &in_mat2)
- CSIBCMatrixMNd & Sub (const CSIBCMatrixMNd &in_mat1, const CSIBCMatrixMNd &in_mat2)
- CSIBCMatrixMNd & Add (const CSIBCMatrixMNd &in_mat)
- CSIBCMatrixMNd & Sub (const CSIBCMatrixMNd &in_mat)
Detailed Description
Class representing matricies with M rows, and N columns.
CSIBCMatrixMNd objects represent matricies of arbitrary size, which are not necessarily square (as with other matrix classes). Because the matricies represented by CSIBCMatrixMNd are of arbitrary size, there are considerably less operations that are available through this class, as compared to other matrix classes.
This class uses double precision floating point numbers to store element values. There exists three other matrix classes, CSIBCMatrix44d, CSIBCMatrix33d and CSIBCMatrixMNd. They are used to represent 4x4 matricies with double precision floating-point numbers, 3x3 matricies with double precision floating-point numbers, and MxN matricies with double precision floating-point numbers, respectively.
Constructor & Destructor Documentation
CSIBCMatrixMNd::CSIBCMatrixMNd |
( |
|
) |
|
|
|
Default Constructor. Sets this matrix to be a zero row, zero column matrix (null). |
Member Function Documentation
CSIBCMatrixMNd & CSIBCMatrixMNd::Add |
( |
const CSIBCMatrixMNd & |
in_mat |
) |
|
|
|
Computes the matrix-addition of this matrix and in_mat . The result is stored in this matrix. Note that this matrix and in_mat should both be of the same dimensions. -
Parameters:
-
in_mat |
The matrix to add to this matrix. |
-
Returns:
-
CSIBCMatrixMNd& Reference to this matrix.
-
See also:
-
CSIBCMatrixMNd::Add , CSIBCMatrixMNd::Sub
|
CSIBCMatrixMNd & CSIBCMatrixMNd::Add |
( |
const CSIBCMatrixMNd & |
in_mat1, |
|
|
const CSIBCMatrixMNd & |
in_mat2 |
|
) |
|
|
|
Computes the matrix-addition of in_mat1 and in_mat2 . The result is stored in this matrix. Note that this matrix, in_mat1 and in_mat2 should all be of the same dimensions. -
Parameters:
-
in_mat1 |
The first matrix in the addition. |
in_mat2 |
The second matrix in the addition. |
-
Returns:
-
CSIBCMatrixMNd& Reference to this matrix.
-
See also:
-
CSIBCMatrixMNd::Add , CSIBCMatrixMNd::Sub
|
void CSIBCMatrixMNd::Copy |
( |
const CSIBCMatrixMNd & |
in_mat |
) |
|
|
|
Sets this matrix's elements equal to the corresponding elements in in_mat . This function should only be used if this matrix and in_mat have the same dimensions. -
Parameters:
-
in_mat |
Matrix to copy element values from. |
-
See also:
-
CSIBCMatrixMNd::Set
|
double CSIBCMatrixMNd::Get |
( |
const int |
in_nRow, |
|
|
const int |
in_nCol |
|
) |
const |
|
|
Returns the element value at row in_nRow , column in_nCol . -
Parameters:
-
in_nRow |
The index of the row of the element to retrieve (zero-indexed). |
in_nCol |
The index of the column of the element to retrieve (zero-indexed). |
-
Returns:
-
double The value of the element at row
in_nRow , column in_nCol .
-
See also:
-
CSIBCMatrixMNd::Set
|
int CSIBCMatrixMNd::GetNbCol |
( |
void |
|
) |
const |
|
int CSIBCMatrixMNd::GetNbRow |
( |
void |
|
) |
const |
|
bool CSIBCMatrixMNd::GrevilleInverse |
( |
const CSIBCMatrixMNd & |
in_mat, |
|
|
const unsigned long |
in_NbRow, |
|
|
const unsigned long |
in_NbCol |
|
) |
|
|
|
Sets this matrix to the Moore-Penrose pseudo-inverse using Greville's method, using only the first in_NbRow rows, and the first in_NbCol columns of of in_mat . -
Parameters:
-
in_mat |
Matrix containing the matrix to take the Moore-Penrose pseudo-inverse of. |
in_NbRow |
Number of rows to use from the beginning in_mat . |
in_NbCol |
Number of columns to use from the beginning of in_mat . |
-
Returns:
-
bool Always true.
-
See also:
-
CSIBCMatrixMNd::GrevilleInverse
|
bool CSIBCMatrixMNd::GrevilleInverse |
( |
const CSIBCMatrixMNd & |
in_mat |
) |
|
|
|
Sets this matrix to the Moore-Penrose pseudo-inverse using Greville's method. -
Parameters:
-
in_mat |
Matrix containing the matrix to take the Moore-Penrose pseudo-inverse of. |
-
Returns:
-
bool Always true.
-
See also:
-
CSIBCMatrixMNd::GrevilleInverse
|
bool CSIBCMatrixMNd::LeftMul |
( |
const CSIBCMatrixMNd & |
in_mat |
) |
|
|
|
Computes the matrix-multiplication of in_mat and this matrix, (in_mat * this), and stores the result in this matrix. It is up to the user to ensure that matrix multiplication can be performed (in_mat's number of columns is equal to this matrix's number of rows). -
Parameters:
-
in_mat |
The matrix to left-multiply this matrix by. |
-
Returns:
-
bool Always true.
-
See also:
-
CSIBCMatrixMNd::Mul
|
bool CSIBCMatrixMNd::Mul |
( |
const CSIBCMatrixMNd & |
in_mat |
) |
|
|
|
Computes the matrix-multiplication of this matrix and in_mat , (this * in_mat) , and stores the result in this matrix. It is up to the user to ensure that matrix multiplication can be performed (this matrix's number of columns is equal to in_mat's number of rows). -
Parameters:
-
in_mat |
The matrix to right-multiply this matrix by. |
-
Returns:
-
bool Always true.
-
See also:
-
CSIBCMatrixMNd::Mul , CSIBCMatrixMNd::LeftMul
|
CSIBCMatrixMNd & CSIBCMatrixMNd::Mul |
( |
const CSIBCMatrixMNd & |
in_mat1, |
|
|
const CSIBCMatrixMNd & |
in_mat2 |
|
) |
|
|
|
Computes the matrix-multiplication of in_mat1 and in_mat2 , (in_mat1 * in_mat2) and stores the result in this matrix. It is up to the user to ensure that matrix multiplication can be performed (in_mat1's number of columns is equal to in_mat2's number of rows). -
Parameters:
-
in_mat1 |
First matrix to multiply (on the left). |
in_mat2 |
Second matrix to multiply (on the right). |
-
Returns:
-
CSIBCMatrixMNd& Reference to this matrix.
-
See also:
-
CSIBCMatrixMNd::Mul , CSIBCMatrixMNd::LeftMul
|
void CSIBCMatrixMNd::Set |
( |
int |
in_nRow, |
|
|
int |
in_nCol, |
|
|
const double |
in_dVal |
|
) |
|
|
|
Sets the element at row in_nRow , column in_nCol to in_dVal . -
Parameters:
-
in_nRow |
The index of the row of the element to set (zero-indexed). |
in_nCol |
The index of the column of the element to set (zero-indexed). |
in_dVal |
The value to set. |
-
See also:
-
CSIBCMatrixMNd::Get , CSIBCMatrixMNd::SetIdentity
|
bool CSIBCMatrixMNd::Set |
( |
const CSIBCMatrixMNd & |
in_mat |
) |
|
|
bool CSIBCMatrixMNd::SetDimensions |
( |
const int |
in_M, |
|
|
const int |
in_N |
|
) |
|
|
|
Sets the dimensions of this matrix to in_M rows, and in_N columns. If the dimensions of the matrix are the same as they previously were, nothing is done. Otherwise, the matrix is resized, and all element values are lost. -
Parameters:
-
in_M |
The number of rows to resize the matrix to. |
in_N |
The number of columns to resize the matrix to. |
-
Returns:
-
bool Always true.
-
See also:
-
CSIBCMatrixMNd::Set , CSIBCMatrixMNd::GetNbRow , CSIBCMatrixMNd::GetNbCol
|
void CSIBCMatrixMNd::SetIdentity |
( |
void |
|
) |
|
|
|
Sets this matrix to the identity matrix, if it is a square matrix. -
See also:
-
CSIBCMatrixMNd::Set
|
CSIBCMatrixMNd & CSIBCMatrixMNd::Sub |
( |
const CSIBCMatrixMNd & |
in_mat |
) |
|
|
|
Computes the matrix-subtraction of this matrix - in_mat . The result is stored in this matrix. Note that this matrix and in_mat should both be of the same dimensions. -
Parameters:
-
in_mat |
The matrix to subtract from this matrix. |
-
Returns:
-
CSIBCMatrixMNd& Reference to this matrix.
-
See also:
-
CSIBCMatrixMNd::Add , CSIBCMatrixMNd::Sub
|
CSIBCMatrixMNd & CSIBCMatrixMNd::Sub |
( |
const CSIBCMatrixMNd & |
in_mat1, |
|
|
const CSIBCMatrixMNd & |
in_mat2 |
|
) |
|
|
|
Computes the matrix-subtraction of in_mat1 - in_mat2 . The result is stored in this matrix. Note that this matrix, in_mat1 and in_mat2 should all be of the same dimensions. -
Parameters:
-
in_mat1 |
The first matrix in the subtraction. |
in_mat2 |
The second matrix in the subtraction. |
-
Returns:
-
CSIBCMatrixMNd& Reference to this matrix.
-
See also:
-
CSIBCMatrixMNd::Add , CSIBCMatrixMNd::Sub
|
CSIBCMatrixMNd & CSIBCMatrixMNd::Transpose |
( |
const CSIBCMatrixMNd & |
in_mat |
) |
|
|
|
Sets this matrix to be the transpose of in_mat . -
Parameters:
-
in_mat |
Matrix containing the desired matrix to transpose. |
-
Returns:
-
CSIBCMatrixMNd& Reference to this matrix.
|
The documentation for this class was generated from the following files:
- SIBCMatrixMNd.h
- SIBCMatrixMNd.cpp
© Copyright 2001-2003 Avid Technology, Inc. All rights reserved.
© Copyright 2001-2003 Avid Technology, Inc. All rights reserved.