|
| | FlexGmresClass () |
| | The constructor. More...
|
| |
| | FlexGmresClass (const FlexGmresClass< MatrixType, VectorType, DataType > &solver) |
| | The copy constructor. More...
|
| |
| | FlexGmresClass (FlexGmresClass< MatrixType, VectorType, DataType > &&solver) |
| | The move constructor. More...
|
| |
| FlexGmresClass< MatrixType, VectorType, DataType > & | operator= (const FlexGmresClass< MatrixType, VectorType, DataType > &solver) |
| | The = operator. More...
|
| |
| FlexGmresClass< MatrixType, VectorType, DataType > & | operator= (FlexGmresClass< MatrixType, VectorType, DataType > &&solver) |
| | The = operator. More...
|
| |
| int | Clear () |
| | Free function. More...
|
| |
| | ~FlexGmresClass () |
| | The destructor. More...
|
| |
| virtual int | Setup (VectorType &x, VectorType &rhs) |
| | Setup the solver phase, include building the preconditioner, call this function before Solve, after SetPreconditioner. More...
|
| |
| virtual int | Solve (VectorType &x, VectorType &rhs) |
| | Solve phase. Call this function after Setup. More...
|
| |
| virtual int | SetSolveLocation (const int &location) |
| | Set the data location that the solver apply to. More...
|
| |
| virtual int | SetWithParameterArray (double *params) |
| | Setup with parameter array. More...
|
| |
| template<typename T > |
| int | SetTolerance (T tol) |
| | Set the tolorance for stop the iteration. More...
|
| |
| int | SetMaxNumberIterations (int maxits) |
| | Set the maximum number of iterations. More...
|
| |
| int | SetKrylovSubspaceDimension (int kdim) |
| | Set the maximum number of flexible GMRES inner iterations per cycle. More...
|
| |
| int | SetAbsoluteTol (bool option) |
| | Set if we use absolute threshold ||r|| or ||r||/||b||. More...
|
| |
| std::conditional< PargemslrIsDoublePrecision< DataType >::value, double, float >::type | GetFinalRelativeResidual () const |
| | Get the final relative residual. More...
|
| |
| int | GetNumberIterations () const |
| | Get the number of iterations. More...
|
| |
| std::conditional< PargemslrIsDoublePrecision< DataType >::value, vector_seq_double, vector_seq_float >::type & | GetRelativeResidual () |
| | Get the relative residual at each step as a vector. More...
|
| |
| | SolverClass () |
| | The constructor of solver class. More...
|
| |
| | SolverClass (const SolverClass< MatrixType, VectorType, DataType > &solver) |
| | The copy constructor of solver class. More...
|
| |
| | SolverClass (SolverClass< MatrixType, VectorType, DataType > &&solver) |
| | The move constructor of solver class. More...
|
| |
| SolverClass< MatrixType, VectorType, DataType > & | operator= (const SolverClass< MatrixType, VectorType, DataType > &solver) |
| | The = operator of solver class. More...
|
| |
| SolverClass< MatrixType, VectorType, DataType > & | operator= (SolverClass< MatrixType, VectorType, DataType > &&solver) |
| | The = operator of solver class. More...
|
| |
| virtual | ~SolverClass () |
| | The destructor of solver class. More...
|
| |
| virtual int | Solve (DenseMatrixClass< DataType > &x, DenseMatrixClass< DataType > &rhs) |
| | Solve phase with multiple right-hand-sides. Call this function after Setup. More...
|
| |
| virtual long int | GetNumNonzeros () |
| | Get the total number of nonzeros. More...
|
| |
| MatrixType * | GetMatrix () |
| | Get pointer to the matrix. More...
|
| |
| SolverClass< MatrixType, VectorType, DataType > * | GetPreconditioner () |
| | Get pointer to the preconditioner. More...
|
| |
| int | SetMatrix (MatrixType &matrix) |
| | Set the target matrix for the current solver. More...
|
| |
| int | SetMatrixP (MatrixType *matrix) |
| | Set the target matrix for the current solver. More...
|
| |
| int | SetPreconditioner (SolverClass< MatrixType, VectorType, DataType > &precond) |
| | Set the preconditioner for the current solver. More...
|
| |
| int | SetPreconditionerP (SolverClass< MatrixType, VectorType, DataType > *precond) |
| | Set the preconditioner for the current solver. More...
|
| |
| bool | IsReady () const |
| | Check if the solver is ready to be used. More...
|
| |
| int | SetOwnMatrix (bool own_matrix) |
| | Set if the matrix is owned by this solver, if so, matrix is freed when free the solver. More...
|
| |
| int | SetOwnPreconditioner (bool own_preconditioner) |
| | Set if the preconditioner is owned by this solver, if so, preconditioner is freed when free the solver. More...
|
| |
| int | SetPrintOption (int print_option) |
| | Set the print option. More...
|
| |
| PrecisionEnum | GerPrecision () const |
| | Get the precision. More...
|
| |
| SolverTypeEnum | GetSolverType () const |
| | Get the solver type. More...
|
| |
template<class MatrixType, class VectorType, typename DataType>
class pargemslr::FlexGmresClass< MatrixType, VectorType, DataType >
The real flexgmres solver class. MatrixType is the type of the matrix, VectorType is the type of the vector, DataType is the data type.
MatrixType required function: SetupVectorPtrStr, Matvec, GetMpiInfo (for PARGEMSLR_TIMING).