19 #ifndef SELDON_FILE_PASTIX_HXX
27 #include "pastix/order.h"
74 bool UseInteger8()
const;
89 int GetInfoFactorization()
const;
91 template<
class T0,
class Prop,
class Storage,
class Allocator,
class T
int>
95 template<
class T0,
class Storage,
class Allocator>
97 bool keep_matrix =
false);
102 template<
class T0,
class Storage,
class Allocator>
104 bool keep_matrix =
false);
106 template<
class Allocator2>
109 template<
class Allocator2>
115 template<
class Allocator2>
119 template<
class Allocator2>
127 void FactorizeDistributedMatrix(MPI_Comm& comm_facto,
Vector<long>& Ptr,
130 bool sym,
bool keep_matrix =
false);
132 void FactorizeDistributedMatrix(MPI_Comm& comm_facto,
Vector<int64_t>& Ptr,
135 bool sym,
bool keep_matrix =
false);
138 void FactorizeParallel(MPI_Comm& comm_facto,
142 bool sym,
bool keep_matrix =
false);
144 void FactorizeParallel(MPI_Comm& comm_facto,
148 bool sym,
bool keep_matrix =
false);
150 template<
class Allocator2>
156 template<
class Allocator2>
165 const IVect& glob_num);
167 template<
class Allocator2>
173 template<
class Allocator2>
182 const IVect& glob_num);
187 template<
class T0,
class Prop,
class Storage,
class Allocator,
class T>
189 bool keep_matrix =
false);
191 template<
class T,
class Allocator>
194 template<
class T,
class Allocator>
198 template<
class T,
class Prop,
class Allocator>
202 template<
class T,
class Prop,
class Allocator>
206 template<
class Allocator>
210 template<
class Allocator>
215 template<
class Allocator>
219 template<
class Allocator>
224 template<
class T,
class Prop,
class Storage,
class Allocator>
228 template<
class T,
class Allocator>
233 template<
class T,
class Allocator>
240 #define SELDON_FILE_PASTIX_HXX
size_t GetMemorySize() const
Returns the size of memory used by the factorisation in bytes.
pastix_int_t n
number of columns
bool adjust_threshold_pivot
adjust threshold for static pivoting ?
void MltDistributed(MPI_Comm &comm_facto, const SeldonTranspose &TransA, Vector< T, VectFull, Allocator2 > &x, const Vector< int > &glob_num)
computes L x or L^T x
void RefineSolution()
You can require that solution is refined after LU resolution.
void SetCholeskyFacto(bool chol)
sets Cholesky factorisation
double dparm[DPARM_SIZE]
options (floats)
int print_level
level of display
void Mlt(const SeldonTranspose &TransA, Vector< T, VectFull, Allocator2 > &x)
Computes x = L b or x = L^T b (A = L L^T)
void SetNumberOfThreadPerNode(int)
Modifies the number of threads per node.
void Solve(Vector< T, VectFull, Allocator2 > &x)
solving A x = b (A is already factorized)
MatrixPastix()
Default constructor.
double threshold_pivot
threshold for static pivoting
void SetPivotThreshold(double)
you can change the threshold used for static pivoting
void SetPermutation(const IVect &permut)
provides a permutation array (instead of using Scotch reordering)
void ShowFullHistory()
Displaying all messages.
void GetLU(Matrix< T0, Prop0, Storage0, Allocator0 > &A)
Returns the LU factorization of a matrix.
void Clear()
Clearing factorization.
void FactorizeMatrix(Matrix< T0, General, Storage, Allocator > &mat, bool keep_matrix=false)
Factorization of unsymmetric matrix.
Base class for an interface with a direct solver.
bool distributed
if true, resolution on several nodes
void FindOrdering(Matrix< T0, Prop, Storage, Allocator > &mat, Vector< Tint > &numbers, bool keep_matrix=false)
Returning ordering found by Scotch.
pastix_data_t * pastix_data
pastix structure
void DoNotRefineSolution()
You can require that solution is not refined (faster).
void SelectOrdering(int type)
selects the algorithm used for reordering
bool cholesky
if true, cholesky factorisation is computed
~MatrixPastix()
destructor
void ShowMessages()
Low level of display.
void SolveDistributed(MPI_Comm &comm_facto, const SeldonTranspose &TransA, Vector< T, VectFull, Allocator2 > &x, const Vector< int > &glob_num)
solves A x = b or A^T x = b in parallel
void HideMessages()
no message will be displayed
pastix_int_t iparm[IPARM_SIZE]
options (integers)
bool refine_solution
if true, solution is refined
Column-major full-matrix class.