DataTransferKit - Multiphysics Solution Transfer Services
2.0
|
Vector apply implementation for polynomial matrices. More...
#include <DTK_PolynomialMatrix.hpp>
Inherits Operator< double, int, SupportId >.
Public Member Functions | |
PolynomialMatrix (const Teuchos::RCP< const Tpetra::MultiVector< double, int, SupportId >> &polynomial, const Teuchos::RCP< const Tpetra::Map< int, SupportId >> &domain_map, const Teuchos::RCP< const Tpetra::Map< int, SupportId >> &range_map) | |
Constructor. More... | |
Teuchos::RCP< const Tpetra::Map< int, SupportId > > | getDomainMap () const override |
Teuchos::RCP< const Tpetra::Map< int, SupportId > > | getRangeMap () const override |
void | apply (const Tpetra::MultiVector< double, int, SupportId > &X, Tpetra::MultiVector< double, int, SupportId > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, double alpha=Teuchos::ScalarTraits< double >::one(), double beta=Teuchos::ScalarTraits< double >::zero()) const override |
Computes the operator-multivector application. More... | |
bool | hasTransposeApply () const override |
Whether this operator supports applying the transpose or conjugate transpose. More... | |
Vector apply implementation for polynomial matrices.
Definition at line 62 of file DTK_PolynomialMatrix.hpp.
DataTransferKit::PolynomialMatrix::PolynomialMatrix | ( | const Teuchos::RCP< const Tpetra::MultiVector< double, int, SupportId >> & | polynomial, |
const Teuchos::RCP< const Tpetra::Map< int, SupportId >> & | domain_map, | ||
const Teuchos::RCP< const Tpetra::Map< int, SupportId >> & | range_map | ||
) |
Constructor.
Definition at line 61 of file DTK_PolynomialMatrix.cpp.
|
inlineoverride |
The Map associated with the domain of this operator, which must be compatible with X.getMap().
Definition at line 75 of file DTK_PolynomialMatrix.hpp.
|
inlineoverride |
The Map associated with the range of this operator, which must be compatible with Y.getMap().
Definition at line 82 of file DTK_PolynomialMatrix.hpp.
|
override |
Computes the operator-multivector application.
Loosely, performs . However, the details of operation vary according to the values of alpha
and beta
. Specifically - if beta == 0
, apply() must overwrite Y
, so that any values in Y
(including NaNs) are ignored. - if alpha == 0
, apply() may short-circuit the operator, so that any values in X
(including NaNs) are ignored.
Definition at line 75 of file DTK_PolynomialMatrix.cpp.
|
inlineoverride |
Whether this operator supports applying the transpose or conjugate transpose.
Definition at line 105 of file DTK_PolynomialMatrix.hpp.