Class documentation of Concepts

Loading...
Searching...
No Matches
pardiso.hh
Go to the documentation of this file.
1
6#ifndef PARDISO_HH
7#define PARDISO_HH
8
9#include <cstdlib>
10#include "basics/typedefs.hh"
12#include "compositions.hh"
13
14namespace concepts {
15
16 // forwards
17 template<typename F>
18 class SparseMatrix;
19
20 // *************************************************************** Pardiso **
21
43 class Pardiso : public Operator<Real> {
44 public:
46 enum MATRIX_TYPE {STRUCT_SYMM = 1, SPD = 2, SYMM_INDEF = -2, UNSYMM = 11};
61 virtual ~Pardiso();
62 virtual void operator()(const Function<Real>& fncY, Function<Real>& fncX);
64 virtual const Space<Real>& spaceX() const { return spcX_; }
65 virtual const Space<Real>& spaceY() const { return spcY_; }
66 protected:
67 virtual std::ostream& info(std::ostream& os) const;
68 private:
70 const uint n_;
72 const Space<Real>& spcX_;
74 const Space<Real>& spcY_;
76 bool symmetric_;
78 bool factored_;
79
81 uint nnz_;
83 void* A_;
85 Array<Real> a_;
87 Array<uint> ia_, ja_;
89 Array<size_t> handle;
91 Array<int> iparam;
93 int max_factorizations, matrix_number, matrix_type, msglvl, error,
94 nb, max_threads;
95
97 int solver_pardiso_factor_();
99 int solver_pardiso_solve_(double*, double*);
101 void errorcheck_(int error) const;
102 };
103
104} // namespace concepts
105
106#endif // PARDISO_HH
Real type
Type of data, e.g. matrix entries.
Pardiso(const SparseMatrix< Real > &matrix, enum MATRIX_TYPE type)
MATRIX_TYPE
Type of matrix to solve.
Definition pardiso.hh:46
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Set< F > makeSet(uint n, const F &first,...)
Definition set.hh:320