|
NGSolve
4.9
|
A sparse cholesky factorization. More...
#include <sparsecholesky.hpp>
Public Types | |
| typedef TV_COL | TV |
| typedef TV_ROW | TVX |
| typedef mat_traits< TV_ROW >::TSCAL | TSCAL_VEC |
| typedef mat_traits< TM >::TSCAL | TSCAL_MAT |
Public Member Functions | |
| SparseCholesky (const SparseMatrix< TM, TV_ROW, TV_COL > &a, const BitArray *ainner=NULL, const Array< int > *acluster=NULL, bool allow_refactor=0) | |
| int | VHeight () const |
| virtual function must be overloaded | |
| int | VWidth () const |
| virtual function must be overloaded | |
| void | Allocate (const Array< int > &aorder, const Array< MDOVertex > &vertices, const int *blocknr) |
| void | Factor () |
| void | FactorNew (const SparseMatrix< TM, TV_ROW, TV_COL > &a) |
| virtual void | Mult (const BaseVector &x, BaseVector &y) const |
| y = matrix * x. Multadd should be implemented, instead | |
| virtual void | MultAdd (TSCAL_VEC s, const BaseVector &x, BaseVector &y) const |
| virtual ostream & | Print (ostream &ost) const |
| A = L+D+L^T y = f - (L+D)^T u w = C^{-1} (y - L u) u += w y -= (L+D)^T w. | |
| virtual void | MemoryUsage (Array< MemoryUsageStruct * > &mu) const |
| void | Set (int i, int j, const TM &val) |
| const TM & | Get (int i, int j) const |
| void | SetOrig (int i, int j, const TM &val) |
| virtual BaseVector * | CreateVector () const |
| creates a matching vector (for square matrices) | |
A sparse cholesky factorization.
The unknowns are reordered by the minimum degree ordering algorithm
1.7.6.1