![]() |
G+Smo
25.01.0
Geometry + Simulation Modules
|
Biconjugate gradient stabilized solver.
Inheritance diagram for gsBiCgStab< T >:
Collaboration diagram for gsBiCgStab< T >:Public Member Functions | |
| virtual std::string | detail () const |
| Prints the object as a string with extended details. | |
| T | error () const |
| The relative residual error of the current iterate. | |
| virtual void | finalizeIteration (VectorType &) |
| Some post-processing might be required. | |
| template<typename OperatorType > | |
| gsBiCgStab (const OperatorType &mat, const LinOpPtr &precond=LinOpPtr()) | |
| Constructor using a matrix (operator) and optionally a preconditionner. | |
| bool | initIteration (const VectorType &rhs, VectorType &x) |
| Init the iteration. | |
| index_t | iterations () const |
| The number of iterations needed to reach the error criteria. | |
| LinOpPtr | preconditioner () const |
| Get the preconditioner. | |
| std::ostream & | print (std::ostream &os) const |
| Prints the object as a string. | |
| void | setMaxIterations (index_t max_iters) |
| Set the maximum number of iterations (default: 1000) | |
| gsBiCgStab & | setOptions (const gsOptionList &opt) |
| Set the options based on a gsOptionList. | |
| void | setPreconditioner (const LinOpPtr &precond) |
| Set the preconditionner. | |
| void | setTolerance (T tol) |
| Set the tolerance for the error criteria on the relative residual error (default: 1e-10) | |
| index_t | size () const |
| Returns the size of the linear system. | |
| void | solve (const VectorType &rhs, VectorType &x) |
| Solves the linear system and stores the solution in x. | |
| void | solveDetailed (const VectorType &rhs, VectorType &x, VectorType &error_history) |
| Solves the linear system and stores the solution in x and records the error histroy. | |
| bool | step (VectorType &x) |
| Perform one step, requires initIteration. | |
| T | tolerance () const |
| The chosen tolerance for the error criteria on the relative residual error. | |
| LinOpPtr | underlying () const |
| Get the underlying matrix/operator to be solved for. | |
Static Public Member Functions | |
| static gsOptionList | defaultOptions () |
| Returns a list of default options. | |
| template<typename OperatorType > | |
| static uPtr | make (const OperatorType &mat, const LinOpPtr &precond=LinOpPtr()) |
| Make function using a matrix (operator) and optionally a preconditionner. | |
Private Attributes | |
| T | m_error |
| The relative error as absolute_error/m_rhs_norm. | |
| const LinOpPtr | m_mat |
| The matrix/operator to be solved for. | |
| index_t | m_max_iters |
| The upper bound for the number of iterations. | |
| index_t | m_num_iter |
| The number of iterations performed. | |
| LinOpPtr | m_precond |
| The preconditioner. | |
| T | m_rhs_norm |
| The norm of the right-hand-side. | |
| gsOptionList::Real | m_tol |
| The tolerance for m_error to be reached. | |
Related Symbols | |
(Note that these are not member symbols.) | |
| template<class T > | |
| std::ostream & | operator<< (std::ostream &os, const gsIterativeSolver< T > &b) |
| Print (as string) operator for iterative solvers. | |
|
inlineexplicit |
Constructor using a matrix (operator) and optionally a preconditionner.
| mat | The operator to be solved for, see gsIterativeSolver for details |
| precond | The preconditioner, defaulted to the identity |
|
inlineinherited |
The relative residual error of the current iterate.
This is the Euclidean norm of the residual, devided by the Euclidean norm of the right-hand side.
|
inlinestatic |
Make function using a matrix (operator) and optionally a preconditionner.
| mat | The operator to be solved for, see gsIterativeSolver for details |
| precond | The preconditioner, defaulted to the identity |
|
inlineinherited |
Solves the linear system and stores the solution in x.
Solves the linear system of equations
| [in] | rhs | the right hand side of the linear system |
| [in,out] | x | starting value; the solution is stored in here |
|
inlineinherited |
Solves the linear system and stores the solution in x and records the error histroy.
Solves the linear system of equations
| [in] | rhs | the right hand side of the linear system |
| [in,out] | x | starting value; the solution is stored in here |
| [out] | error_history | the error history is stored here |