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. |
|
Clones (deep copy) a matrix.
|
|
Creates an MFNKMatrix which is stored as k MFNVectors.
|
|
Creates an MFNKMatrix which is stored as an array of doubles.
|
|
Frees a reference to the A, and deletes the A if there are no references left.
|
|
Orthonormalize the basis vectors.
|
|
A "raw" orthonormalization of the basis vectors stored as the columns of a dense array A[i+n*j]. A Euclidean space is assumed.
|
|
Returns a column of the matrix A. A reference has been added to the n-vector, so the user must "free" it.
|
|
Copies a row of the matrix A into a k-vector.
|
|
Replaces a column of a matrix.
|
|
Matrix vector multiply.
|
|
Matrix transpose vector multiply.
|
|
Get the number of columns in the basis.
|
|
Get the number of coordinate values in the basis vectors.
|
|
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.
|
|
Changes a single element of a basis. This is slow if many elements are to be changed. Get the column and downcast.
|
|
Reads a A from a file.
|
|
Adds a reference to the matrix.
|
|
Writes a A to a file.
|