Abstract class which defines the interface of a Linear Operator.
More...
#include <LinearOperator.hpp>
|
virtual const char * | Label () const =0 |
| Returns a character string describing the operator. More...
|
|
virtual bool | UseTranspose () const =0 |
| Returns the current UseTranspose setting. More...
|
|
virtual bool | HasNormInf () const =0 |
| Returns true if the this object can provide an approximate Inf-norm, false otherwise. More...
|
|
virtual const comm_Type & | Comm () const =0 |
| Returns a pointer to the Epetra_Comm communicator associated with this operator. More...
|
|
virtual const map_Type & | OperatorDomainMap () const =0 |
| Returns the raw_map object associated with the domain of this operator. More...
|
|
virtual const map_Type & | OperatorRangeMap () const =0 |
| Returns the raw_map object associated with the range of this operator. More...
|
|
Abstract class which defines the interface of a Linear Operator.
LinearOperator is an abstract which inherits from Epetra_Operator. LinearOperator should be the base class for all the LifeV class which implements a linear operator.
LinearOperator ensures perfect compatibility with all the Trilinos solvers, plus it supports directly the LifeV::VectorEpetra data.
Two concrete methods are implemented in LinearOperator int apply(const VectorEpetra &X, VectorEpetra & Y) const ; int applyInverse(const VectorEpetra &X, VectorEpetra &Y) const.
Such methods extract a raw Epetra_MultiVector from the VectorEpetra and then call the virtual methods Int Apply(const Epetra_MultiVector & X, Epetra_MultiVector & Y) const or Int ApplyInverse(const Epetra_MultiVector & X, Epetra_MultiVector & Y) const respectively.
Definition at line 75 of file LinearOperator.hpp.
◆ comm_Type
◆ commPtr_Type
◆ map_Type
◆ mapPtr_Type
◆ constMapPtr_Type
◆ operator_Type
◆ operatorPtr_Type
◆ vector_Type
◆ vectorPtr_Type
◆ ~LinearOperator()
◆ SetUseTranspose()
virtual int SetUseTranspose |
( |
bool |
UseTranspose | ) |
|
|
pure virtual |
If set true, transpose of this operator will be applied.
This flag allows the transpose of the given operator to be used implicitly. Setting this flag affects only the Apply() and ApplyInverse() methods. If the implementation of this interface does not support transpose use, this method should return a value of -1.
- Parameters
-
In | UseTranspose -If true, multiply by the transpose of operator, otherwise just use operator. |
- Returns
- Integer error code, set to 0 if successful. Set to -1 if this implementation does not support transpose.
Implemented in ConfinedOperator, SolverOperator, and SolverOperatorAlgo.
◆ Apply()
Returns the result of a raw_operator applied to a raw_vector X in Y.
- Parameters
-
In | X - A raw_vector of dimension NumVectors to multiply with matrix. |
Out | Y -A raw_vector of dimension NumVectors containing result. |
- Returns
- Integer error code, set to 0 if successful.
Implemented in ConfinedOperator, SolverOperator, and SolverOperatorAlgo.
◆ apply()
◆ ApplyInverse()
Returns the result of a raw_operator inverse applied to an raw_vector X in Y.
- Parameters
-
In | X - A raw_vector of dimension NumVectors to solve for. |
Out | Y -A raw_vector of dimension NumVectors containing result. |
- Returns
- Integer error code, set to 0 if successful.
- Warning
- In order to work with AztecOO, any implementation of this method must support the case where X and Y are the same object.
Implemented in ConfinedOperator, SolverOperator, and SolverOperatorAlgo.
◆ applyInverse()
Returns the result of a LinearOperator inverse applied to an VectorEpetra X in Y.
- Parameters
-
- Returns
- Integer error code, set to 0 if successful.
- Warning
- In order to work with AztecOO, any implementation of this method must support the case where X and Y are the same object.
Definition at line 169 of file LinearOperator.hpp.
◆ NormInf()
virtual double NormInf |
( |
| ) |
const |
|
pure virtual |
◆ Label()
virtual const char* Label |
( |
| ) |
const |
|
pure virtual |
◆ UseTranspose()
virtual bool UseTranspose |
( |
| ) |
const |
|
pure virtual |
◆ HasNormInf()
virtual bool HasNormInf |
( |
| ) |
const |
|
pure virtual |
◆ Comm()
◆ OperatorDomainMap()
virtual const map_Type& OperatorDomainMap |
( |
| ) |
const |
|
pure virtual |
◆ OperatorRangeMap()
virtual const map_Type& OperatorRangeMap |
( |
| ) |
const |
|
pure virtual |
The documentation for this class was generated from the following file: