template<class T>
class gismo::gsCompositePrecOp< T >
This class represents the composition of preconditioners of type gsPreconditionerOp.
If the preconditioners have the iteration matrices \( I-P_iA \), the overall preconditioner has the iteration matrix \( (I-P_nA)\cdots (I-P_1A) \)
This should not be confused with gsProductOp, which would yield
\( I - P_n \cdots P_1 A \).
|
void | addOperator (BasePtr op) |
| Add another operator at the end.
|
|
void | apply (const gsMatrix< T > &input, gsMatrix< T > &x) const |
| apply the operator on the input vector and store the result in x
|
|
index_t | cols () const |
| Returns the number of columns of the operator.
|
|
T | estimateLargestEigenvalueOfPreconditionedSystem (index_t steps=10) const |
| Estimates the largest eigenvalue of \( PA \).
|
|
| gsCompositePrecOp () |
| Empty constructor. To be filled with addOperator()
|
|
| gsCompositePrecOp (BasePtr op0, BasePtr op1) |
| Convenience constructor taking two preconditioners.
|
|
| gsCompositePrecOp (BasePtr op0, BasePtr op1, BasePtr op2) |
| Convenience constructor taking three preconditioners.
|
|
| gsCompositePrecOp (std::vector< BasePtr > ops) |
| Constructor taking a vector of preconditioners.
|
|
index_t | numOfSweeps () |
| Get the number of sweeps to be applied in the member function apply.
|
|
index_t | rows () const |
| Returns the number of rows of the operator.
|
|
void | setNumOfSweeps (index_t n) |
| Set the number of sweeps to be applied in the member function apply.
|
|
virtual void | setOptions (const gsOptionList &opt) |
| Set options based on a gsOptionList object.
|
|
virtual void | step (const gsMatrix< T > &rhs, gsMatrix< T > &x) const |
| Apply the smoother for the equation Ax=rhs and update the current iterate x.
|
|
virtual void | stepT (const gsMatrix< T > &rhs, gsMatrix< T > &x) const |
| Apply the transposed smoother for the equation Ax=rhs and update the current iterate x.
|
|
gsLinearOperator< T >::Ptr | underlyingOp () const |
| Return the underlying operator \( A \).
|
|