A sparse direct supernodal Cholesky (LLT) factorization and solver based on the PaStiX library. More...
#include <PaStiXSupport.h>
Inherits PastixBase< Derived >.
Public Member Functions | |
void | analyzePattern (const MatrixType &matrix) |
void | compute (const MatrixType &matrix) |
Array< RealScalar, IPARM_SIZE, 1 > & | dparm () |
double & | dparm (int idxparam) |
void | factorize (const MatrixType &matrix) |
ComputationInfo | info () const |
Reports whether previous computation was successful. | |
Array< Index, IPARM_SIZE, 1 > & | iparm () |
int & | iparm (int idxparam) |
template<typename Rhs > | |
const internal::solve_retval < PastixBase, Rhs > | solve (const MatrixBase< Rhs > &b) const |
template<typename Rhs > | |
const internal::sparse_solve_retval < PastixBase, Rhs > | solve (const SparseMatrixBase< Rhs > &b) const |
A sparse direct supernodal Cholesky (LLT) factorization and solver based on the PaStiX library.
This class is used to solve the linear systems A.X = B via a LL^T supernodal Cholesky factorization available in the PaStiX library. The matrix A should be symmetric and positive definite WARNING Selfadjoint complex matrices are not supported in the current version of PaStiX The vectors or matrices X and B can be either dense or sparse
MatrixType | the type of the sparse matrix A, it must be a SparseMatrix<> |
UpLo | The part of the matrix to use : Lower or Upper. The default is Lower as required by PaStiX |
void analyzePattern | ( | const MatrixType & | matrix | ) | [inline] |
Compute the LL^T symbolic factorization of matrix
using its sparsity pattern The result of this operation can be used with successive matrices having the same pattern as matrix
void compute | ( | const MatrixType & | matrix | ) | [inline] |
Compute the L factor of the LL^T supernodal factorization of matrix
Array<RealScalar,IPARM_SIZE,1>& dparm | ( | ) | [inline, inherited] |
Returns a reference to the double vector DPARM of PaStiX parameters The statistics related to the different phases of factorization and solve are saved here as well
double& dparm | ( | int | idxparam | ) | [inline, inherited] |
Return a reference to a particular index parameter of the DPARM vector
void factorize | ( | const MatrixType & | matrix | ) | [inline] |
Compute the LL^T supernodal numerical factorization of matrix
ComputationInfo info | ( | ) | const [inline, inherited] |
Reports whether previous computation was successful.
Success
if computation was succesful, NumericalIssue
if the PaStiX reports a problem InvalidInput
if the input matrix is invalidArray<Index,IPARM_SIZE,1>& iparm | ( | ) | [inline, inherited] |
Returns a reference to the integer vector IPARM of PaStiX parameters to modify the default parameters. The statistics related to the different phases of factorization and solve are saved here as well
int& iparm | ( | int | idxparam | ) | [inline, inherited] |
Return a reference to a particular index parameter of the IPARM vector
const internal::solve_retval<PastixBase, Rhs> solve | ( | const MatrixBase< Rhs > & | b | ) | const [inline, inherited] |
const internal::sparse_solve_retval<PastixBase, Rhs> solve | ( | const SparseMatrixBase< Rhs > & | b | ) | const [inline, inherited] |