20 #ifndef SELDON_FILE_PARDISO_HXX
23 #ifdef PARDISO_INTSIZE64
24 #define pardiso_int_t int64_t
25 #define call_pardiso pardiso_64
27 #define pardiso_int_t int
28 #define call_pardiso pardiso
35 void pardisoinit(
void*,
int*,
int*);
36 void pardiso(
void *,
int*,
int*,
int*,
38 void *,
int*,
int*,
int*,
40 void *,
void *,
int*);
42 void pardiso_64(
void *, pardiso_int_t*, pardiso_int_t*, pardiso_int_t*,
43 pardiso_int_t*, pardiso_int_t*,
44 void *, pardiso_int_t*, pardiso_int_t*, pardiso_int_t*,
45 pardiso_int_t*, pardiso_int_t*, pardiso_int_t*,
46 void *,
void *, pardiso_int_t*);
65 pardiso_int_t size_matrix;
74 pardiso_int_t type_ordering;
80 bool UseInteger8()
const;
92 template<
class T0,
class Prop,
class Storage,
class Allocator>
94 bool keep_matrix =
false);
102 template<
class Allocator2>
105 template<
class Allocator2>
111 template<
class Allocator2,
class Prop>
118 template<
class T0,
class Prop,
class Storage,
class Allocator,
class T>
120 bool keep_matrix =
false);
122 template<
class T,
class Allocator>
125 template<
class T,
class Allocator>
129 template<
class T,
class Prop,
class Allocator>
133 template<
class T,
class Allocator,
class Prop>
137 template<
class Allocator>
141 template<
class Allocator>
146 template<
class Allocator>
150 template<
class Allocator>
157 #define SELDON_FILE_PARDISO_HXX
void FactorizeCSR(Vector< pardiso_int_t > &Ptr, Vector< pardiso_int_t > &IndCol, Vector< T > &Values, bool sym)
Performs analysis and factorisation of a matrix given in CSR form.
void Solve(Vector< T, VectFull, Allocator2 > &x)
solves A x = b, x contains the source b on input, the solution x on output
void Clear()
LU factorization is cleared.
void * pt[64]
pointer to Pardiso object
size_t GetMemorySize() const
returns the size of memory used by numerical factorization in bytes
MatrixPardiso()
default constructor
~MatrixPardiso()
destructor
Vector< pardiso_int_t > indA
matrix in CSR form
void SetPermutation(const IVect &permut)
Sets ordering.
pardiso_int_t iparm[64]
integer parameters
pardiso_int_t mtype
matrix type
void ShowMessages()
Enables output messages.
void GetLU(Matrix< T0, Prop0, Storage0, Allocator0 > &A)
Returns the LU factorization of a matrix.
Vector< pardiso_int_t > perm
permutation array
Base class for an interface with a direct solver.
void SelectOrdering(int type)
sets ordering algorithm to use
int GetInfoFactorization() const
returns the error code obtained during numerical factorization
pardiso_int_t mnum
factor number, 1 <= mnum <= maxfct
pardiso_int_t msglvl
verbosity level
void FactorizeMatrix(Matrix< T0, Prop, Storage, Allocator > &mat, bool keep_matrix=false)
performs analysis and factorization of matrix mat
void HideMessages()
Disables output messages.
pardiso_int_t maxfct
maximum number of factors with identical sparsity structure
Vector< T > valA
values of non-zero entries
Column-major full-matrix class.