|
MueLu Version of the Day
|
Takes a sequence of operators and applies their product. More...
#include <MueLu_ProductOperator_decl.hpp>
Public Member Functions | |
| virtual const Teuchos::RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > | getDomainMap () const |
| The Map associated with the domain of this operator, which must be compatible with X.getMap(). | |
| virtual const Teuchos::RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > | getRangeMap () const |
| The Map associated with the range of this operator, which must be compatible with Y.getMap(). | |
| virtual void | apply (const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar alpha=Teuchos::ScalarTraits< Scalar >::one(), Scalar beta=Teuchos::ScalarTraits< Scalar >::zero()) const |
| Computes the operator-multivector application. | |
| virtual bool | hasTransposeApply () const |
| Whether this operator supports applying the transpose or conjugate transpose. | |
Xpetra specific | |
| std::vector< Teuchos::RCP< Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > > | ops_ |
| std::vector< Teuchos::ETransp > | modes_ |
| std::vector< Teuchos::RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > > | tempVecs_ |
| ProductOperator ()=default | |
| ProductOperator (std::vector< Teuchos::RCP< Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > > ops, std::vector< Teuchos::ETransp > modes) | |
| TpetraOperator constructor to wrap a Tpetra::Operator object. | |
| ProductOperator (std::vector< Teuchos::RCP< Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > > ops) | |
| void | CheckMaps () |
| void | AllocateTemporaryMultiVectors (size_t NumVectors) const |
| void | residual (const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &B, Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &R) const |
| Compute a residual R = B - (*this) * X. | |
Overridden from Teuchos::Describable | |
| std::string | description () const |
| A simple one-line description of this object. | |
| void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const |
| Print the object with the given verbosity level to a FancyOStream. | |
Takes a sequence of operators and applies their product.
Wrap operators op0, op1, op2, ... and apply modes mode0, mode1, mode2, ... into a single operator with apply Y : =(op0^mode0 * op1^mode1 * op2^mode2 * ...) X.
Definition at line 33 of file MueLu_ProductOperator_decl.hpp.
|
default |
|
inline |
TpetraOperator constructor to wrap a Tpetra::Operator object.
Definition at line 94 of file MueLu_ProductOperator_decl.hpp.
|
inline |
Definition at line 105 of file MueLu_ProductOperator_decl.hpp.
|
inlinevirtual |
The Map associated with the domain of this operator, which must be compatible with X.getMap().
Definition at line 38 of file MueLu_ProductOperator_decl.hpp.
|
inlinevirtual |
The Map associated with the range of this operator, which must be compatible with Y.getMap().
Definition at line 43 of file MueLu_ProductOperator_decl.hpp.
|
virtual |
Computes the operator-multivector application.
Loosely, performs \(Y = \alpha \cdot A^{\textrm{mode}} \cdot X + \beta \cdot Y\). However, the details of operation vary according to the values of alpha and beta. Specifically
beta == 0, apply() must overwrite Y, so that any values in Y (including NaNs) are ignored.alpha == 0, apply() may short-circuit the operator, so that any values in X (including NaNs) are ignored. Definition at line 17 of file MueLu_ProductOperator_def.hpp.
|
inlinevirtual |
Whether this operator supports applying the transpose or conjugate transpose.
Definition at line 61 of file MueLu_ProductOperator_decl.hpp.
|
inline |
A simple one-line description of this object.
Definition at line 71 of file MueLu_ProductOperator_decl.hpp.
|
inline |
Print the object with the given verbosity level to a FancyOStream.
Definition at line 80 of file MueLu_ProductOperator_decl.hpp.
|
inline |
Definition at line 117 of file MueLu_ProductOperator_decl.hpp.
|
inline |
Definition at line 125 of file MueLu_ProductOperator_decl.hpp.
|
inline |
Compute a residual R = B - (*this) * X.
Definition at line 136 of file MueLu_ProductOperator_decl.hpp.
|
private |
Definition at line 149 of file MueLu_ProductOperator_decl.hpp.
|
private |
Definition at line 150 of file MueLu_ProductOperator_decl.hpp.
|
mutableprivate |
Definition at line 151 of file MueLu_ProductOperator_decl.hpp.