MFNKMatrix
[MFAtlas]

Collaboration diagram for MFNKMatrix:


Classes

class  MFNKMatrix
 An n by k matrix, mainly used to store a basis for the tangent space of a k-dimensional manifold embedded in an n- dimensional space. More...

Functions

MFNKMatrix MFCreateNKMatrix (int k, MFNVector *columns, MFErrorHandler e)
 Creates an MFNKMatrix which is stored as k MFNVectors.
MFNKMatrix MFCreateNKMatrixWithData (int n, int k, double *entries, MFErrorHandler e)
 Creates an MFNKMatrix which is stored as an array of doubles.
int MFNKMatrixK (MFNKMatrix A, MFErrorHandler e)
 Get the number of columns in the basis.
int MFNKMatrixN (MFNKMatrix A, MFErrorHandler e)
 Get the number of coordinate values in the basis vectors.
MFNVector MFMColumn (MFNKMatrix A, int col, MFErrorHandler e)
 Returns a column of the matrix A. A reference has been added to the n-vector, so the user must "free" it.
void MFMRow (MFNKMatrix A, int row, MFKVector s, MFErrorHandler e)
 Copies a row of the matrix A into a k-vector.
void MFNKMSetC (MFNKMatrix A, int row, int col, double value, MFErrorHandler e)
 Changes a single element of a basis. This is slow if many elements are to be changed. Get the column and downcast.
void MFMVMul (MFNSpace space, MFNKMatrix A, MFKVector x, MFNVector b, MFErrorHandler e)
 Matrix vector multiply.
void MFMVMulT (MFNSpace space, MFNKMatrix A, MFNVector x, MFKVector b, MFErrorHandler e)
 Matrix transpose vector multiply.
void MFGramSchmidt (MFNSpace space, MFNKMatrix A, MFErrorHandler e)
 Orthonormalize the basis vectors.
void MFGramSchmidtNoMat (int n, int k, double *A, MFErrorHandler e)
 A "raw" orthonormalization of the basis vectors stored as the columns of a dense array A[i+n*j]. A Euclidean space is assumed.
void MFNKMProjectTangentForBranchSwitch (MFNSpace space, MFNKMatrix A, MFNVector x, MFNKMatrix B, MFErrorHandler e)
 Projects the basis onto the vector x. A basis for the orthogonal complement of x in the span of the columns, plus the unit vector in the x direction. This is used in the parallel search branch switching.
MFNKMatrix MFCloneNKMatrix (MFNKMatrix A, MFErrorHandler e)
 Clones (deep copy) a matrix.
void MFMSetColumn (MFNKMatrix A, int col, MFNVector v, MFErrorHandler e)
 Replaces a column of a matrix.
void MFRefNKMatrix (MFNKMatrix A, MFErrorHandler e)
 Adds a reference to the matrix.
void MFFreeNKMatrix (MFNKMatrix A, MFErrorHandler e)
 Frees a reference to the A, and deletes the A if there are no references left.
void MFWriteNKMatrix (FILE *fid, MFNKMatrix A, MFErrorHandler e)
 Writes a A to a file.
MFNKMatrix MFReadNKMatrix (FILE *fid, MFErrorHandler e)
 Reads a A from a file.

Function Documentation

MFNKMatrix MFCloneNKMatrix MFNKMatrix  A,
MFErrorHandler  e
 

Clones (deep copy) a matrix.

Parameters:
A The matrix.
e A place to return errors.
Returns:
The clone.

MFNKMatrix MFCreateNKMatrix int  k,
MFNVector columns,
MFErrorHandler  e
 

Creates an MFNKMatrix which is stored as k MFNVectors.

Parameters:
k The number of columns.
columns A list of the columns.
e A place to return errors.
Returns:
A new MFNKMatrix.

MFNKMatrix MFCreateNKMatrixWithData int  n,
int  k,
double *  entries,
MFErrorHandler  e
 

Creates an MFNKMatrix which is stored as an array of doubles.

Parameters:
n The number of rows.
k The number of columns.
entries A list of n*k doubles which are copied into the entries of the new matrix. Entry (i,j) is entries[i+n*k].
e A place to return errors.
Returns:
A new MFNKMatrix.

void MFFreeNKMatrix MFNKMatrix  A,
MFErrorHandler  e
 

Frees a reference to the A, and deletes the A if there are no references left.

Parameters:
A The matrix being unreferenced.
e A place to return errors.
See also:
ReferenceCounting MFRefNKMatrix

void MFGramSchmidt MFNSpace  space,
MFNKMatrix  A,
MFErrorHandler  e
 

Orthonormalize the basis vectors.

Parameters:
space The space to use for norms and inner products.
A The matrix containing the basis.
e A place to return errors.

void MFGramSchmidtNoMat int  n,
int  k,
double *  A,
MFErrorHandler  e
 

A "raw" orthonormalization of the basis vectors stored as the columns of a dense array A[i+n*j]. A Euclidean space is assumed.

Parameters:
n The number of rows in A.
k The number of columns in A.
A The matrix containing the basis. A is length n*k, and stored by column A[i+n*j].
e A place to return errors.

MFNVector MFMColumn MFNKMatrix  A,
int  col,
MFErrorHandler  e
 

Returns a column of the matrix A. A reference has been added to the n-vector, so the user must "free" it.

Parameters:
A The matrix containing the basis.
col Which column
e A place to return errors.
Returns:
The column.

void MFMRow MFNKMatrix  A,
int  row,
MFKVector  s,
MFErrorHandler  e
 

Copies a row of the matrix A into a k-vector.

Parameters:
A The matrix containing the basis.
row Which row
s The row.
e A place to return errors.

void MFMSetColumn MFNKMatrix  A,
int  col,
MFNVector  v,
MFErrorHandler  e
 

Replaces a column of a matrix.

Parameters:
A The matrix.
col Which column.
v The new column to use.
e A place to return errors.

void MFMVMul MFNSpace  space,
MFNKMatrix  A,
MFKVector  x,
MFNVector  b,
MFErrorHandler  e
 

Matrix vector multiply.

Parameters:
space The space to use to add the columns.
A The matrix containing the basis.
x The vector.
b The product Ax=b.
e A place to return errors.

void MFMVMulT MFNSpace  space,
MFNKMatrix  A,
MFNVector  x,
MFKVector  b,
MFErrorHandler  e
 

Matrix transpose vector multiply.

Parameters:
space The space to use to add the columns.
A The matrix containing the basis.
x The vector.
b The product A^Tx=b.
e A place to return errors.

int MFNKMatrixK MFNKMatrix  A,
MFErrorHandler  e
 

Get the number of columns in the basis.

Parameters:
A The matrix containing the basis.
e A place to return errors.
Returns:
The number of columns, k.

int MFNKMatrixN MFNKMatrix  A,
MFErrorHandler  e
 

Get the number of coordinate values in the basis vectors.

Parameters:
A The matrix containing the basis.
e A place to return errors.
Returns:
The number of coordinate values in a column, n.

void MFNKMProjectTangentForBranchSwitch MFNSpace  space,
MFNKMatrix  A,
MFNVector  x,
MFNKMatrix  B,
MFErrorHandler  e
 

Projects the basis onto the vector x. A basis for the orthogonal complement of x in the span of the columns, plus the unit vector in the x direction. This is used in the parallel search branch switching.

Parameters:
space The space to use for inner products.
A The matrix containing the basis.
x The vector defining the projection.
B The projected basis.
e A place to return errors.

void MFNKMSetC MFNKMatrix  A,
int  row,
int  col,
double  value,
MFErrorHandler  e
 

Changes a single element of a basis. This is slow if many elements are to be changed. Get the column and downcast.

Parameters:
A The matrix containing the basis.
row Which row
col Which column
value The new element value.
e A place to return errors.

MFNKMatrix MFReadNKMatrix FILE *  fid,
MFErrorHandler  e
 

Reads a A from a file.

Parameters:
fid The file to write to.
e A place to return errors.
Returns:
The matrix.

void MFRefNKMatrix MFNKMatrix  A,
MFErrorHandler  e
 

Adds a reference to the matrix.

Parameters:
A The matrix being referenced.
e A place to return errors.
See also:
ReferenceCounting MFFreeNKMatrix

void MFWriteNKMatrix FILE *  fid,
MFNKMatrix  A,
MFErrorHandler  e
 

Writes a A to a file.

Parameters:
fid The file to write to.
A The matrix being queried.
e A place to return errors.


Generated on Tue Jan 30 13:39:57 2007 for multifario by  doxygen 1.4.6