gradient method
More...
#include <dune/istl/solvers.hh>
|
typedef X | domain_type |
| The domain type of the operator that we do the inverse for. More...
|
|
typedef X | range_type |
| The range type of the operator that we do the inverse for. More...
|
|
typedef X::field_type | field_type |
| The field type of the operator that we do the inverse for. More...
|
|
typedef FieldTraits< field_type >::real_type | real_type |
| The real type of the field type (is the same if using real numbers, but differs for std::complex) More...
|
|
|
template<class L , class P > |
| GradientSolver (L &op, P &prec, real_type reduction, int maxit, int verbose) |
| Set up solver. More...
|
|
template<class L , class S , class P > |
| GradientSolver (L &op, S &sp, P &prec, real_type reduction, int maxit, int verbose) |
| Set up solver. More...
|
|
virtual void | apply (X &x, X &b, InverseOperatorResult &res) |
| Apply inverse operator. More...
|
|
virtual void | apply (X &x, X &b, double reduction, InverseOperatorResult &res) |
| Apply inverse operator with given reduction factor. More...
|
|
|
void | printHeader (std::ostream &s) const |
| helper function for printing header of solver output More...
|
|
void | printOutput (std::ostream &s, const DataType &iter, const DataType &norm, const DataType &norm_old) const |
| helper function for printing solver output More...
|
|
void | printOutput (std::ostream &s, const DataType &iter, const DataType &norm) const |
| helper function for printing solver output More...
|
|
template<class X>
class Dune::GradientSolver< X >
gradient method
The domain type of the operator that we do the inverse for.
The field type of the operator that we do the inverse for.
The range type of the operator that we do the inverse for.
The real type of the field type (is the same if using real numbers, but differs for std::complex)
template<class X>
template<class L , class P >
template<class X>
template<class L , class S , class P >
Apply inverse operator.
Apply inverse operator,.
- Warning
- Note: right hand side b may be overwritten!
- Parameters
-
x | The left hand side to store the result in. |
b | The right hand side |
res | Object to store the statistics about applying the operator. |
Implements Dune::InverseOperator< X, X >.
References Dune::Preconditioner< X, Y >::apply(), Dune::LinearOperator< X, Y >::apply(), Dune::LinearOperator< X, Y >::applyscaleadd(), Dune::InverseOperatorResult::clear(), Dune::InverseOperatorResult::conv_rate, Dune::InverseOperatorResult::converged, Dune::InverseOperatorResult::elapsed, Dune::InverseOperatorResult::iterations, Dune::Preconditioner< X, Y >::post(), Dune::Preconditioner< X, Y >::pre(), Dune::InverseOperator< X, X >::printHeader(), Dune::InverseOperator< X, X >::printOutput(), and Dune::InverseOperatorResult::reduction.
Apply inverse operator with given reduction factor.
apply inverse operator, with given convergence criteria.
- Warning
- Right hand side b may be overwritten!
- Parameters
-
x | The left hand side to store the result in. |
b | The right hand side |
reduction | The minimum defect reduction to achieve. |
res | Object to store the statistics about applying the operator. |
Implements Dune::InverseOperator< X, X >.
void Dune::InverseOperator< X, X >::printOutput |
( |
std::ostream & |
s, |
|
|
const DataType & |
iter, |
|
|
const DataType & |
norm, |
|
|
const DataType & |
norm_old |
|
) |
| const |
|
inlineprotectedinherited |
void Dune::InverseOperator< X, X >::printOutput |
( |
std::ostream & |
s, |
|
|
const DataType & |
iter, |
|
|
const DataType & |
norm |
|
) |
| const |
|
inlineprotectedinherited |
The documentation for this class was generated from the following file: