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


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
 

Returns the number of columns in this matrix.

Returns:
int The number of columns in this matrix.
See also:
CSIBCMatrixMNd::GetNbRow , CSIBCMatrixMNd::SetDimensions

int CSIBCMatrixMNd::GetNbRow void    const
 

Returns the number of rows in this matrix.

Returns:
int The number of rows in this matrix.
See also:
CSIBCMatrixMNd::GetNbCol , CSIBCMatrixMNd::SetDimensions

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
 

Sets this matrix to be a duplicate of in_mat.

Parameters:
in_mat  The matrix to copy data from.
Returns:
bool Always true.
See also:
CSIBCMatrixMNd::SetDimensions , CSIBCMatrixMNd::Copy

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: © Copyright 2001-2003 Avid Technology, Inc. All rights reserved.

© Copyright 2001-2003 Avid Technology, Inc. All rights reserved.