Files | |
| file | mat.h |
| Class Mat: a sparse matrix object. | |
Classes | |
| struct | sMat |
| Contains public data memebers for Mat class. More... | |
Typedefs | |
| typedef struct sMat | Mat |
| Declaration of the Mat class as the Mat structure. | |
Functions | |
| Mat * | Mat_ctor (Vmem *vmem, const char *name, int pnumR, int pnumC) |
| The sparse matrix constructor. | |
| void | Mat_dtor (Mat **thee) |
| The sparse matrix destructor. | |
| void | Mat_initStructure (Mat *thee, MATformat frmt, MATsym sym, int numO, int *IJA, double *A) |
| Initialize the nonzero structure given structure information. | |
| void | Mat_copyStructure (Mat *thee, Mat *model) |
| Initialize the nonzero structure given structure information. | |
| void | Mat_killStructure (Mat *thee) |
| Kill the nonzero structure and structure information. | |
| int | Mat_numR (Mat *thee) |
| Return number of rows in the matrix. | |
| int | Mat_numC (Mat *thee) |
| Return number of columns in the matrix. | |
| int | Mat_numA (Mat *thee) |
| Return number of nonzeros we are actually storing. | |
| int | Mat_numO (Mat *thee) |
| Return number of nonzeros we are actually storing which are located in upper (or lower) triangle. | |
| int | Mat_numZ (Mat *thee) |
| Return number of nonzeros we WOULD be storing if we were ignoring symmetry and storing all nonzeros. | |
| MATformat | Mat_format (Mat *thee) |
| Return the format. | |
| MATsym | Mat_sym (Mat *thee) |
| Return the symmetry. | |
| MATstate | Mat_state (Mat *thee) |
| Return the state. | |
| MATimpl | Mat_impl (Mat *thee) |
| Return the impl. | |
| void | Mat_setFormat (Mat *thee, MATformat format) |
| Set the format. | |
| void | Mat_setSym (Mat *thee, MATsym sym) |
| Set the symmetry. | |
| void | Mat_setState (Mat *thee, MATstate state) |
| Set the state. | |
| void | Mat_setImpl (Mat *thee, MATimpl impl) |
| Set the impl. | |
| int | Mat_sizeIJA (Mat *thee) |
| Return total number of INTEGER STORAGE LOCATIONS in the matrix. | |
| int | Mat_sizeA (Mat *thee) |
| Return total number of REAL STORAGE LOCATIONS in the matrix. | |
| int * | Mat_IJA (Mat *thee) |
| Return the integer structure IJA. | |
| int * | Mat_IA (Mat *thee) |
| Return the integer structure IA. | |
| int * | Mat_JA (Mat *thee) |
| Return the integer structure JA. | |
| double * | Mat_A (Mat *thee) |
| Return the real structure A. | |
| double * | Mat_diag (Mat *thee) |
| Return the diagonal structure A. | |
| double * | Mat_offU (Mat *thee) |
| Return the upper-triangle structure A. | |
| double * | Mat_offL (Mat *thee) |
| Return the lower-triangle structure A. | |
| void | Mat_print (Mat *thee) |
| Print the matrix as a DENSE matrix in MATLAB format. | |
| void | Mat_printSp (Mat *thee, char *fname, int pflag) |
| Print the matrix as a SPARSE matrix in MATLAB format. | |
| void | Mat_printNoD (Mat *thee) |
| Print the matrix as a DENSE matrix in MATLAB format, but first zero out any rows/cols corresponding to Dirichlet boundary points. | |
| void | Mat_printSpNoD (Mat *thee, char *fname, int pflag) |
| Print the matrix as a DENSE matrix in MATLAB format, but first zero out any rows/cols corresponding to Dirichlet boundary points. | |
| void | Mat_zero (Mat *thee) |
| Clear the floating point storage for the sparse matrix. Also clear any sparse factorization storage. | |
| void | Mat_set (Mat *thee, int i, int j, double val) |
| Set a value in a matrix. | |
| void | Mat_addTo (Mat *thee, int i, int j, double val) |
| Add to a value in a matrix. | |
| void | Mat_buildBRC (Mat *thee, int numBR, int numBC, int *BR, int *BC) |
| Set the boundary row and column information. | |
| void | Mat_zeroBRC (Mat *thee) |
| Apply the boundary row and column information. | |
| void | Mat_diagBRC (Mat *thee) |
| Place identity entries on diagonal of boundary row/col. | |
| void | Mat_galerkin (Mat *thee, Mat *rmat, Mat *amat, Mat *pmat) |
| Enforce the Galerkin conditions algebraically. | |
| int | Mat_sluDirect (Mat *thee) |
| Make a decision about whether or not a sparse direct solver should be used in place of an iterative solver, based on the size of the system. | |
| void | Mat_sluCreate (Mat *thee) |
| Setup for a sparse LU factorization of matrix. | |
| int | Mat_sluFactor (Mat *thee) |
| Create the sparse LU factors for the system matrix. | |
| int | Mat_sluSolve (Mat *thee, int key, double *f, double *u) |
| Performs a forward/backward solve using the sparse LU factors. | |
| void | Mat_sluDestroy (Mat *thee) |
| Destroy the sparse LU factors for the system matrix. | |
| void | Mat_memChk (Mat *thee) |
| Print the exact current malloc usage. | |
| void | Mat_copy (Mat *thee, Mat *smat) |
| Copy a matrix. | |
| void | Mat_copyROW2COL (Mat *thee, Mat *smat) |
| Copy a matrix from ROW to COL. | |
| void | Mat_copyCOL2ROW (Mat *thee, Mat *smat) |
| Copy a matrix from COL to ROW. | |
| void | Mat_copyDRC2RLN (Mat *thee, Mat *smat) |
| Copy a matrix from DRC to RLN. | |
| void | Mat_copyROW2RLN (Mat *thee, Mat *smat) |
| Copy a matrix from ROW to RLN. | |
| void | Mat_copyCOL2RLN (Mat *thee, Mat *smat) |
| Copy a matrix from COL to RLN. | |
| void | Mat_copyRLN2ROW (Mat *thee, Mat *smat) |
| Copy a matrix from RLN to ROW. | |
| void | Mat_copyDRC2CLN (Mat *thee, Mat *smat) |
| Copy a matrix from DRC to CLN. | |
| void | Mat_copyROW2CLN (Mat *thee, Mat *smat) |
| Copy a matrix from ROW to CLN. | |
| void | Mat_copyCOL2CLN (Mat *thee, Mat *smat) |
| Copy a matrix from COL to CLN. | |
| void | Mat_copyCLN2COL (Mat *thee, Mat *smat) |
| Copy a matrix from CLN to COL. | |
| void | Mat_copyCLN2RLN (Mat *thee, Mat *smat) |
| Copy a matrix from CLN to RLN. | |
| void | Mat_copyRLN2CLN (Mat *thee, Mat *smat) |
| Copy a matrix from RLN to CLN. | |
| void | Mat_copyDRC2XLN (Mat *thee, Mat *smat) |
| Copy a matrix from DRC to XLN. | |
| void | Mat_copyROW2XLN (Mat *thee, Mat *smat) |
| Copy a matrix from ROW to XLN. | |
| void | Mat_copyCOL2XLN (Mat *thee, Mat *smat) |
| Copy a matrix from COL to XLN. | |
| void | Mat_copyRLN2XLN (Mat *thee, Mat *smat) |
| Copy a matrix from RLN to XLN. | |
| void | Mat_copyCLN2XLN (Mat *thee, Mat *smat) |
| Copy a matrix from CLN to XLN. | |
| void | Mat_copyXLN2DRC (Mat *thee, Mat *smat) |
| Copy a matrix from XLN to DRC. | |
| void | Mat_copyXLN2ROW (Mat *thee, Mat *smat) |
| Copy a matrix from XLN to ROW. | |
| void | Mat_copyXLN2COL (Mat *thee, Mat *smat) |
| Copy a matrix from XLN to COL. | |
| void | Mat_copyXLN2RLN (Mat *thee, Mat *smat) |
| Copy a matrix from XLN to RLN. | |
| void | Mat_copyXLN2CLN (Mat *thee, Mat *smat) |
| Copy a matrix from XLN to CLN. | |
| void | Mat_squeezeBRC (Mat *thee, int key) |
| Remove the boundary rows or columns from a matrix. | |
| void | Mat_copy2 (Mat *Y, Mat *X) |
| Raw copy of the nonzeros of X into Y. | |
| void | Mat_axpy (Mat *Y, Mat *X, double val, int key) |
| scalar times a Mat plus a Mat: Y += val*X. | |
| void | Mat_initStructureLN (Mat *thee, MATformat frmt, MATsym sym) |
| Initialize the nonzero structure given structure information. | |
| void | Mat_killStructureLN (Mat *thee) |
| Kill the nonzero structure and structure information. | |
| LinkRC * | Mat_accessXLN (Mat *thee, int idx, int key) |
| Access the first element in the ROW or COL of an XLN. | |
| void | Mat_contribXLN (Mat *thee, int key, int i, int j, double val) |
| Set or add a value to a doubly linked matrix entry array. | |
| void | Mat_contribNSYMXLN (Mat *thee, int key, int i, int j, double val) |
| Set or add a value to a NOTSYM XLN matrix. | |
| void | Mat_contribSSYMXLN (Mat *thee, int key, int i, int j, double val) |
| Set or add a value to a STRUC_SYM XLN matrix. | |
| void | Mat_contribSYMXLN (Mat *thee, int key, int i, int j, double val) |
| Set or add a value to a SYM XLN Matrix. | |
| void | Mat_printLN (Mat *thee) |
| Print an LN format matrix as a DENSE matrix in MATLAB format. | |
| void | Mat_printLNSp (Mat *thee, char *fname, int pflag) |
| Print an LN format matrix as a SPARSE matrix in MATLAB format. | |
| Mat * | Mat_ctorPoint (Mat *P, const char *name, int ibase, int numR) |
| Create a Mat pointer to the tail of a Pro. | |
| void | Mat_dtorPoint (Mat **thee) |
| The Mat pointer destructor. | |
| void | Mat_printDiriSp (Mat *thee, char *fname, int pflag) |
| Print the Dirichlet info of a Bmat in MATLAB sparse form. | |
| void | Mat_initGWMHB (Mat *G12, Mat *G22, Mat *G21, Mat *Mblock) |
| Constructs G12/G22 for WMHB using Mhb and G21. | |
| double* Mat_A | ( | Mat * | thee | ) |
Return the real structure A.
| thee | Pointer to the sparse matrix |
Access the first element in the ROW or COL of an XLN.
| thee | Pointer to the sparse matrix | |
| idx | the index of array | |
| key | 0 ==> return a ROW pointer 1 ==> return a COL pointer |
| void Mat_addTo | ( | Mat * | thee, | |
| int | i, | |||
| int | j, | |||
| double | val | |||
| ) |
Add to a value in a matrix.
| thee | Pointer to the sparse matrix | |
| i | the index for row | |
| j | the index for column | |
| val | the value to be added on the sparse matrix element |
scalar times a Mat plus a Mat: Y += val*X.
| Y | the output matrix | |
| X | the source matrix | |
| val | the coeficient for scaling matrix X | |
| key | 0 ==> X and Y have the EXACT SAME nonzero structure (nZ). Very fast with no checking or temporary matrices 1 ==> The nZ of Y is a SUBSET of the nZ of X. Still fast but requires a few extra checks. 2 ==> X and Y have arbitrary nZ structure. Slowest requiring creation of a temporary link list. |
| void Mat_buildBRC | ( | Mat * | thee, | |
| int | numBR, | |||
| int | numBC, | |||
| int * | BR, | |||
| int * | BC | |||
| ) |
Set the boundary row and column information.
| thee | Pointer to the sparse matrix | |
| numBR | num of boundary rows | |
| numBC | num of boundary columns | |
| BR | boundary rows (optionally used) | |
| BC | boundary columns |
| void Mat_contribNSYMXLN | ( | Mat * | thee, | |
| int | key, | |||
| int | i, | |||
| int | j, | |||
| double | val | |||
| ) |
Set or add a value to a NOTSYM XLN matrix.
| thee | Pointer to the sparse matrix | |
| key | 0 ==> Set the value 1 ==> Add the value | |
| i | the location when traversing rowwise | |
| j | the new inserted location when traversing rowwise | |
| val | the contribution of the new inserted position |
| void Mat_contribSSYMXLN | ( | Mat * | thee, | |
| int | key, | |||
| int | i, | |||
| int | j, | |||
| double | val | |||
| ) |
Set or add a value to a STRUC_SYM XLN matrix.
| thee | Pointer to the sparse matrix | |
| key | 0 ==> Set the value 1 ==> Add the value | |
| i | the location when traversing rowwise | |
| j | the new inserted location when traversing rowwise | |
| val | the contribution of the new inserted position |
| void Mat_contribSYMXLN | ( | Mat * | thee, | |
| int | key, | |||
| int | i, | |||
| int | j, | |||
| double | val | |||
| ) |
Set or add a value to a SYM XLN Matrix.
| thee | Pointer to the sparse matrix | |
| key | 0 ==> Set the value 1 ==> Add the value | |
| i | the location when traversing rowwise | |
| j | the new inserted location when traversing rowwise | |
| val | the contribution of the new inserted position |
| void Mat_contribXLN | ( | Mat * | thee, | |
| int | key, | |||
| int | i, | |||
| int | j, | |||
| double | val | |||
| ) |
Set or add a value to a doubly linked matrix entry array.
| thee | Pointer to the sparse matrix | |
| key | 0 ==> Set the value 1 ==> Add the value | |
| i | the location when traversing rowwise | |
| j | the new inserted location when traversing rowwise | |
| val | the contribution of the new inserted position |
Copy a matrix.
| thee | Pointer to the sparse matrix | |
| smat | The source matrix |
Raw copy of the nonzeros of X into Y.
| Y | the object matrix | |
| X | the source matrix |
Copy a matrix from CLN to COL.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from CLN to RLN.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from CLN to XLN.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from COL to CLN.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from COL to RLN.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from COL to ROW.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from COL to XLN.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from DRC to CLN.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from DRC to RLN.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from DRC to XLN.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from RLN to CLN.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from RLN to ROW.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from RLN to XLN.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from ROW to CLN.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from ROW to COL.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from ROW to RLN.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from ROW to XLN.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Initialize the nonzero structure given structure information.
| thee | Pointer to the sparse matrix | |
| model | an input matrix |
Copy a matrix from XLN to CLN.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from XLN to COL.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from XLN to DRC.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from XLN to RLN.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
Copy a matrix from XLN to ROW.
| thee | Pointer to the sparse matrix | |
| smat | the source matrix |
| Mat* Mat_ctor | ( | Vmem * | vmem, | |
| const char * | name, | |||
| int | pnumR, | |||
| int | pnumC | |||
| ) |
The sparse matrix constructor.
| vmem | Memory management object | |
| name | character string name for this matrix | |
| pnumR | num of rows in the matrix | |
| pnumC | num of cols (DRC REQUIRES numC=numR) |
Create a Mat pointer to the tail of a Pro.
| P | prolongation matrix maintained by aprx | |
| name | character string name for the matrix | |
| ibase | pointer to size array | |
| numR | num of rows in each array |
| double* Mat_diag | ( | Mat * | thee | ) |
Return the diagonal structure A.
| thee | Pointer to the sparse matrix |
| void Mat_diagBRC | ( | Mat * | thee | ) |
Place identity entries on diagonal of boundary row/col.
| thee | Pointer to the sparse matrix |
| void Mat_dtor | ( | Mat ** | thee | ) |
The sparse matrix destructor.
| thee | Pointer to the sparse matrix |
| void Mat_dtorPoint | ( | Mat ** | thee | ) |
The Mat pointer destructor.
| thee | Pointer to Pointer of the Mat object |
Return the format.
| thee | Pointer to the sparse matrix |
Enforce the Galerkin conditions algebraically.
| thee | Pointer to the sparse matrix | |
| rmat | R matrix which is stored column-wise (ROW-format) | |
| amat | A matrix which is stored in one of three forms, namely, either row-wise (ROW), col-wise (COL), or by diagonal followed by upper-triangle row-wise and then by lower triangle columne-wise (DRC). | |
| pmat | P matrix which is stored row-wise (ROW-format) |
| int* Mat_IA | ( | Mat * | thee | ) |
Return the integer structure IA.
| thee | Pointer to the sparse matrix |
| int* Mat_IJA | ( | Mat * | thee | ) |
Return the integer structure IJA.
| thee | Pointer to the sparse matrix |
Return the impl.
| thee | Pointer to the sparse matrix |
Constructs G12/G22 for WMHB using Mhb and G21.
* Notes: This routine is the second step in the construction of the * change of basis matrix for WMHB. It constructs the G12 and * G22 blocks using the mass matrix in the HB basis: * * [ G11 ] = [ 0 ] ; [ G12 ] = [ I ] inv(-Mhb_11) Mhb_12 * [ G21 ] [ R ] [ G22 ] [ R ] * * where Mhb is the previously formed mass matrix in the HB basis: * * Mhb = [ Mhb_11 Mhb_12 ] = [ I R'] [ M_11 M_12 ] [ I 0 ] * [ Mhb_21 Mhb_22 ] [ 0 I ] [ M_21 M_22 ] [ R I ] * * Here inv( . ) represents any approximation to the inverse. * To keep optimal complexity this should be chosen very carefully. * Some possible choices include special matrix polynomials, * mass lumping, or simply the inverse of the diagonal. * * The G12 and G22 blocks should be passed in with zero state, * with only their shape determined (i.e. just after ctor). The * G21 block must already exist, and contain the tail of the * prolongation matrix, R. *
| G12 | Pointer to the Mat object | |
| G22 | Pointer to the Mat object | |
| G21 | Pointer to the Mat object | |
| Mblock | Pointer to the Mat object |
Initialize the nonzero structure given structure information.
| thee | Pointer to the sparse matrix | |
| frmt | format types of the sparse matrix | |
| sym | symmetric types of the sparse matrix | |
| numO | num of nonzeros we are actually storing in the strict upper-triangle of matrix. (DRC only) | |
| IJA | integer structure [ IA ; JA ] | |
| A | packed nozeros |
Initialize the nonzero structure given structure information.
| thee | Pointer to the sparse matrix | |
| frmt | format types of the sparse matrix | |
| sym | symmetric types of the sparse matrix |
| int* Mat_JA | ( | Mat * | thee | ) |
Return the integer structure JA.
| thee | Pointer to the sparse matrix |
| void Mat_killStructure | ( | Mat * | thee | ) |
Kill the nonzero structure and structure information.
| thee | Pointer to the sparse matrix |
| void Mat_killStructureLN | ( | Mat * | thee | ) |
Kill the nonzero structure and structure information.
| thee | Pointer to the sparse matrix |
| void Mat_memChk | ( | Mat * | thee | ) |
Print the exact current malloc usage.
| thee | Pointer to the sparse matrix |
| int Mat_numA | ( | Mat * | thee | ) |
Return number of nonzeros we are actually storing.
| thee | Pointer to the sparse matrix |
| int Mat_numC | ( | Mat * | thee | ) |
Return number of columns in the matrix.
| thee | Pointer to the sparse matrix |
| int Mat_numO | ( | Mat * | thee | ) |
Return number of nonzeros we are actually storing which are located in upper (or lower) triangle.
| thee | Pointer to the sparse matrix |
| int Mat_numR | ( | Mat * | thee | ) |
Return number of rows in the matrix.
| thee | Pointer to the sparse matrix |
| int Mat_numZ | ( | Mat * | thee | ) |
Return number of nonzeros we WOULD be storing if we were ignoring symmetry and storing all nonzeros.
| thee | Pointer to the sparse matrix |
| double* Mat_offL | ( | Mat * | thee | ) |
Return the lower-triangle structure A.
| thee | Pointer to the sparse matrix |
| double* Mat_offU | ( | Mat * | thee | ) |
Return the upper-triangle structure A.
| thee | Pointer to the sparse matrix |
| void Mat_print | ( | Mat * | thee | ) |
Print the matrix as a DENSE matrix in MATLAB format.
| thee | Pointer to the sparse matrix |
| void Mat_printDiriSp | ( | Mat * | thee, | |
| char * | fname, | |||
| int | pflag | |||
| ) |
Print the Dirichlet info of a Bmat in MATLAB sparse form.
| thee | Pointer to the Mat object | |
| fname | character string name for the matrix | |
| pflag | index for write/append |
| void Mat_printLN | ( | Mat * | thee | ) |
Print an LN format matrix as a DENSE matrix in MATLAB format.
| thee | Pointer to the sparse matrix |
| void Mat_printLNSp | ( | Mat * | thee, | |
| char * | fname, | |||
| int | pflag | |||
| ) |
Print an LN format matrix as a SPARSE matrix in MATLAB format.
| thee | Pointer to the sparse matrix | |
| fname | the output matrix name | |
| pflag | 0 ==> write, 1 ==> append |
| void Mat_printNoD | ( | Mat * | thee | ) |
Print the matrix as a DENSE matrix in MATLAB format, but first zero out any rows/cols corresponding to Dirichlet boundary points.
| thee | Pointer to the sparse matrix |
| void Mat_printSp | ( | Mat * | thee, | |
| char * | fname, | |||
| int | pflag | |||
| ) |
Print the matrix as a SPARSE matrix in MATLAB format.
| thee | Pointer to the sparse matrix | |
| fname | the output sparse matrix name | |
| pflag | 0 ==> write, 1 ==> append |
| void Mat_printSpNoD | ( | Mat * | thee, | |
| char * | fname, | |||
| int | pflag | |||
| ) |
Print the matrix as a DENSE matrix in MATLAB format, but first zero out any rows/cols corresponding to Dirichlet boundary points.
| thee | Pointer to the sparse matrix | |
| fname | the output sparse matrix name | |
| pflag | index for write/append |
| void Mat_set | ( | Mat * | thee, | |
| int | i, | |||
| int | j, | |||
| double | val | |||
| ) |
Set a value in a matrix.
| thee | Pointer to the sparse matrix | |
| i | the index for row | |
| j | the index for column | |
| val | the value of the sparse matrix element |
Set the format.
| thee | Pointer to the sparse matrix | |
| format | the sparse matrix format |
Set the impl.
| thee | Pointer to the sparse matrix | |
| impl | implicit diagonal block not stored |
Set the state.
| thee | Pointer to the sparse matrix | |
| state | possible states of the sparse matrix format |
Set the symmetry.
| thee | Pointer to the sparse matrix | |
| sym | symmetric types of the sparse matrix |
| int Mat_sizeA | ( | Mat * | thee | ) |
Return total number of REAL STORAGE LOCATIONS in the matrix.
| thee | Pointer to the sparse matrix |
| int Mat_sizeIJA | ( | Mat * | thee | ) |
Return total number of INTEGER STORAGE LOCATIONS in the matrix.
| thee | Pointer to the sparse matrix |
| void Mat_sluCreate | ( | Mat * | thee | ) |
Setup for a sparse LU factorization of matrix.
| thee | Pointer to the sparse matrix |
| void Mat_sluDestroy | ( | Mat * | thee | ) |
Destroy the sparse LU factors for the system matrix.
| thee | Pointer to the sparse matrix |
| int Mat_sluDirect | ( | Mat * | thee | ) |
Make a decision about whether or not a sparse direct solver should be used in place of an iterative solver, based on the size of the system.
| thee | Pointer to the sparse matrix |
| int Mat_sluFactor | ( | Mat * | thee | ) |
Create the sparse LU factors for the system matrix.
| thee | Pointer to the sparse matrix |
| int Mat_sluSolve | ( | Mat * | thee, | |
| int | key, | |||
| double * | f, | |||
| double * | u | |||
| ) |
Performs a forward/backward solve using the sparse LU factors.
| thee | Pointer to the sparse matrix | |
| key | index for choosing NOTRANS or TRANS | |
| f | the number of right-hand sides | |
| u | solution pointer |
| void Mat_squeezeBRC | ( | Mat * | thee, | |
| int | key | |||
| ) |
Remove the boundary rows or columns from a matrix.
| thee | Pointer to the sparse matrix | |
| key | index for removing the boundary rows or columns from a matrix |
Return the state.
| thee | Pointer to the sparse matrix |
Return the symmetry.
| thee | Pointer to the sparse matrix |
| void Mat_zero | ( | Mat * | thee | ) |
Clear the floating point storage for the sparse matrix. Also clear any sparse factorization storage.
| thee | Pointer to the sparse matrix |
| void Mat_zeroBRC | ( | Mat * | thee | ) |
Apply the boundary row and column information.
| thee | Pointer to the sparse matrix |
1.5.6