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.