KASKADE 7 development version
|
Factorization of sparse linear systems with mumps. More...
#include <mumps_solve.hh>
Factorization of sparse linear systems with mumps.
Definition at line 40 of file mumps_solve.hh.
Public Types | |
typedef Scalar | field_type |
The type of matrix elements (a field type). More... | |
using | Options = FactorizationOptions |
typedef Scalar | field_type |
The type of matrix elements (a field type). More... | |
using | Options = FactorizationOptions |
Public Member Functions | |
MUMPSFactorization (MUMPS_INT n_, std::vector< MUMPS_INT > &ridx, std::vector< MUMPS_INT > &cidx, std::vector< Scalar > &values, typename Base::Options options) | |
Constructor taking input data in triplet format (aka coordinate format). More... | |
~MUMPSFactorization () | |
void | init () |
void | analyze (MUMPS_INT *irn, MUMPS_INT *jcn) |
void | factorize (Scalar *a) |
void | solve (std::vector< Scalar > const &b, std::vector< Scalar > &x, bool transpose=false) const |
Solves the system for the given right hand side. More... | |
void | solve (Scalar const *b, Scalar *x, bool transpose=false) const |
Solves the system \( Ax=b \) for the given right hand side \( b \). More... | |
void | solve (std::vector< Scalar > &b) const |
Solves the system for the given right hand side. More... | |
void | solve (Scalar *b) const |
Solves the system \( Ax=b \) for the given right hand side \( b \). More... | |
size_t | size () const |
reports the dimension of the system More... | |
MUMPSFactorization (SparseIndexInt n_, std::vector< SparseIndexInt > &ridx, std::vector< SparseIndexInt > &cidx, std::vector< Scalar > &values, MatrixProperties property=MatrixProperties::GENERAL, int verb=0) | |
Version of constructor keeping input data in triplet format (aka coordinate format) constant. More... | |
MUMPSFactorization (SparseIndexInt n_, std::unique_ptr< std::vector< SparseIndexInt > > ridx, std::unique_ptr< std::vector< SparseIndexInt > > cidx, std::unique_ptr< std::vector< Scalar > > values, MatrixProperties property=MatrixProperties::GENERAL, int verb=0) | |
Version of constructor, that destroys input data before factorization: more memory efficient. More... | |
~MUMPSFactorization () | |
void | init (MatrixProperties property) |
void | analyze (SparseIndexInt *irn, SparseIndexInt *jcn) |
void | factorize (Scalar *a) |
void | solve (std::vector< Scalar > const &b, std::vector< Scalar > &x, bool transpose=false) const |
void | solve (std::vector< Scalar > &b) const |
void | setVerbose (int verbose_) |
int | getVerbose () const |
Info const & | info () const |
void | setVerbose (int verbose_) |
int | getVerbose () const |
Info const & | info () const |
Protected Attributes | |
Options | options |
Info | info_ |
Options | options |
Info | info_ |
|
inherited |
The type of matrix elements (a field type).
Definition at line 48 of file factorization.hh.
|
inherited |
The type of matrix elements (a field type).
Definition at line 48 of file factorization.hh.
|
inherited |
Definition at line 50 of file factorization.hh.
|
inherited |
Definition at line 50 of file factorization.hh.
|
inline |
Constructor taking input data in triplet format (aka coordinate format).
Construction is factorization!
n | size of the (square) matrix, i.e. the number of rows and columns |
ridx | row indices |
cidx | column indices |
values | entry values |
Definition at line 69 of file mumps_solve.hh.
|
inline |
Definition at line 94 of file mumps_solve.hh.
|
inline |
Version of constructor keeping input data in triplet format (aka coordinate format) constant.
Construction is factorization!
n | size of the (square) matrix, i.e. the number of rows |
ridx | row indices |
cidx | column indices |
values | entry values |
Definition at line 49 of file mumpsmpi_solve.hh.
|
inline |
Version of constructor, that destroys input data before factorization: more memory efficient.
Construction is factorization!
n | size of the (square) matrix, i.e. the number of rows |
ridx | row indices |
cidx | column indices |
values | entry values |
Definition at line 85 of file mumpsmpi_solve.hh.
|
inline |
Definition at line 113 of file mumpsmpi_solve.hh.
|
inline |
Definition at line 131 of file mumps_solve.hh.
Referenced by Kaskade::MUMPSFactorization< Scalar >::MUMPSFactorization().
|
inline |
Definition at line 146 of file mumpsmpi_solve.hh.
|
inline |
Definition at line 157 of file mumps_solve.hh.
Referenced by Kaskade::MUMPSFactorization< Scalar >::MUMPSFactorization().
|
inline |
Definition at line 163 of file mumpsmpi_solve.hh.
|
inlineinherited |
Definition at line 115 of file factorization.hh.
|
inlineinherited |
Definition at line 115 of file factorization.hh.
Referenced by Kaskade::MUMPSFactorization< Scalar >::MUMPSFactorization(), and Kaskade::SUPERLUFactorization< Scalar >::SUPERLUFactorization().
|
inlineinherited |
Definition at line 117 of file factorization.hh.
|
inlineinherited |
Definition at line 117 of file factorization.hh.
|
inline |
Definition at line 101 of file mumps_solve.hh.
Referenced by Kaskade::MUMPSFactorization< Scalar >::MUMPSFactorization().
|
inline |
Definition at line 120 of file mumpsmpi_solve.hh.
|
inlineinherited |
Definition at line 114 of file factorization.hh.
Referenced by Kaskade::MUMPSFactorization< Scalar >::MUMPSFactorization().
|
inlineinherited |
Definition at line 114 of file factorization.hh.
|
inlinevirtual |
reports the dimension of the system
Implements Kaskade::Factorization< Scalar >.
Definition at line 227 of file mumps_solve.hh.
|
inlinevirtual |
Solves the system \( Ax=b \) for the given right hand side \( b \).
[in,out] | b | right hand side, is overwritten with the solution \( x \). This must point to a memory region of length of system dimension. |
Implements Kaskade::Factorization< Scalar >.
Definition at line 217 of file mumps_solve.hh.
|
inlinevirtual |
Solves the system \( Ax=b \) for the given right hand side \( b \).
[in] | b | the right hand side |
[out] | x | the solution. x must point to a memory region of length of system dimension. |
Implements Kaskade::Factorization< Scalar >.
Definition at line 199 of file mumps_solve.hh.
|
inlinevirtual |
Solves the system for the given right hand side.
Reimplemented from Kaskade::Factorization< Scalar >.
Definition at line 211 of file mumps_solve.hh.
|
inlinevirtual |
Solves the system for the given right hand side
Reimplemented from Kaskade::Factorization< Scalar >.
Definition at line 189 of file mumpsmpi_solve.hh.
|
inlinevirtual |
Solves the system for the given right hand side.
x | is resized to the number of matrix columns. |
Reimplemented from Kaskade::Factorization< Scalar >.
Definition at line 191 of file mumps_solve.hh.
Referenced by Kaskade::MUMPSFactorization< Scalar >::solve().
|
inlinevirtual |
Solves the system for the given right hand side
Reimplemented from Kaskade::Factorization< Scalar >.
Definition at line 174 of file mumpsmpi_solve.hh.
|
protectedinherited |
Definition at line 126 of file factorization.hh.
Referenced by Kaskade::MUMPSFactorization< Scalar >::factorize(), and Kaskade::Factorization< Scalar >::info().
|
protectedinherited |
Definition at line 126 of file factorization.hh.
|
protectedinherited |
Definition at line 125 of file factorization.hh.
Referenced by Kaskade::MUMPSFactorization< Scalar >::analyze(), Kaskade::MUMPSFactorization< Scalar >::factorize(), Kaskade::Factorization< Scalar >::getVerbose(), Kaskade::MUMPSFactorization< Scalar >::init(), and Kaskade::Factorization< Scalar >::setVerbose().
|
protectedinherited |
Definition at line 125 of file factorization.hh.