|
KASKADE 7 development version
|
Factorization with DirectType::PARDISO. More...
#include <pardiso_solve.hh>
Factorization with DirectType::PARDISO.
Link with intel mkl if you want to use it. (Version from 2013 will not work, but from 2017 and 2018 works)
Definition at line 31 of file linalg/pardiso_solve.hh.
Public Types | |
| typedef Scalar | field_type |
| The type of matrix elements (a field type). More... | |
| using | Options = FactorizationOptions |
Public Member Functions | |
| PardisoFactorization (SparseIndexInt n, std::vector< SparseIndexInt >const &ridx, std::vector< SparseIndexInt >const &cidx, std::vector< Scalar >const &values, MatrixProperties property=MatrixProperties::GENERAL) | |
| ~PardisoFactorization () | |
| PardisoFactorization & | operator= (PardisoFactorization &&other) |
| void | swap (PardisoFactorization &other) |
| virtual void | solve (std::vector< Scalar > const &b, std::vector< Scalar > &x, int n, bool transposed=false) const |
| virtual void | solve (std::vector< Scalar > const &b, std::vector< 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 \( Ax=b \) for the given right hand side \( b \). More... | |
| void | solve (std::vector< Scalar > &b, int n, bool transposed=false) const |
| void | setVerbose (int verbose_) |
| int | getVerbose () const |
| Info const & | info () const |
| virtual size_t | size () const=0 |
| reports the dimension of the system More... | |
System solution | |
| virtual void | solve (field_type *b) const=0 |
| Solves the system \( Ax=b \) for the given right hand side \( b \). More... | |
| virtual void | solve (Scalar const *b, Scalar *x, bool transposed=false) const=0 |
| Solves the system \( Ax=b \) for the given right hand side \( b \). More... | |
Protected Attributes | |
| Options | options |
| Info | info_ |
|
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.
| Kaskade::PardisoFactorization< Scalar, SparseIndexInt, DIL >::PardisoFactorization | ( | SparseIndexInt | n, |
| std::vector< SparseIndexInt >const & | ridx, | ||
| std::vector< SparseIndexInt >const & | cidx, | ||
| std::vector< Scalar >const & | values, | ||
| MatrixProperties | property = MatrixProperties::GENERAL |
||
| ) |
Construction is factorization! Input matrix in triplet format.
| n | size of the (square) matrix, i.e. the number of rows |
| ridx | row indices |
| cidx | column indices |
| values | entry values |
| property | matrix property |
| Kaskade::PardisoFactorization< Scalar, SparseIndexInt, DIL >::~PardisoFactorization | ( | ) |
|
inlineinherited |
Definition at line 115 of file factorization.hh.
|
inlineinherited |
Definition at line 117 of file factorization.hh.
| PardisoFactorization & Kaskade::PardisoFactorization< Scalar, SparseIndexInt, DIL >::operator= | ( | PardisoFactorization< Scalar, SparseIndexInt, DIL > && | other | ) |
|
inlineinherited |
Definition at line 114 of file factorization.hh.
|
pure virtualinherited |
reports the dimension of the system
|
pure virtualinherited |
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. |
|
pure virtualinherited |
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. |
|
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 \). |
Reimplemented from Kaskade::Factorization< Scalar, int >.
Definition at line 65 of file linalg/pardiso_solve.hh.
Referenced by Kaskade::PardisoFactorization< Scalar, SparseIndexInt, DIL >::solve().
|
inline |
Definition at line 67 of file linalg/pardiso_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 is resized if needed. |
Reimplemented from Kaskade::Factorization< Scalar, int >.
Definition at line 62 of file linalg/pardiso_solve.hh.
|
virtual |
Solves the system for the given right hand side
Referenced by Kaskade::PardisoFactorization< Scalar, SparseIndexInt, DIL >::solve().
| void Kaskade::PardisoFactorization< Scalar, SparseIndexInt, DIL >::swap | ( | PardisoFactorization< Scalar, SparseIndexInt, DIL > & | other | ) |
|
protectedinherited |
Definition at line 126 of file factorization.hh.
|
protectedinherited |
Definition at line 125 of file factorization.hh.