template<class T>
class gismo::gsAdditiveOp< T >
Generic preconditioner which applies an arbitrary linear operator to the residual.
This preconditioner realizes \( \sum_{i=1}^n T_i A_i T_i^T \), where the \( T_i \) are the transfer matrices and the \( A_i \) are linear operators
static uPtr make()
Definition gsAdditiveOp.h:120
memory::shared_ptr< gsLinearOperator > Ptr
Shared pointer for gsLinearOperator.
Definition gsLinearOperator.h:33
is equivalent to
for (
index_t i=0; i<transfers.size(); ++i)
s->addOperator(
makeMatrixOp(transfers[i].transpose()),
ops[i],
makeMatrixOp(transfers[i])
)
);
Class for representing the product of objects of type gsLinearOperator as gsLinearOperator.
Definition gsProductOp.h:34
memory::shared_ptr< gsSumOp > Ptr
Shared pointer for gsSumOp.
Definition gsSumOp.h:30
static uPtr make()
Make command returning a smart pointer.
Definition gsSumOp.h:70
#define index_t
Definition gsConfig.h:32
but much faster.
|
void | addOperator (Transfer transfer, OpPtr op) |
|
void | addOperator (TransferPtr transfer, OpPtr op) |
|
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.
|
|
| gsAdditiveOp () |
| Default Constructor.
|
|
| gsAdditiveOp (TransferContainer transfers, OpContainer ops) |
| Constructor.
|
|
| gsAdditiveOp (TransferPtrContainer transfers, OpContainer ops) |
| Constructor.
|
|
index_t | rows () const |
| Returns the number of rows of the operator.
|
|
virtual void | setOptions (const gsOptionList &) |
| Set options based on a gsOptionList object.
|
|