DataTransferKit - Multiphysics Solution Transfer Services  2.0
Public Member Functions | List of all members
DataTransferKit::PolynomialMatrix Class Reference

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...
 

Detailed Description

Vector apply implementation for polynomial matrices.

Definition at line 62 of file DTK_PolynomialMatrix.hpp.

Constructor & Destructor Documentation

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.

Member Function Documentation

Teuchos::RCP<const Tpetra::Map<int, SupportId> > DataTransferKit::PolynomialMatrix::getDomainMap ( ) const
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.

Teuchos::RCP<const Tpetra::Map<int, SupportId> > DataTransferKit::PolynomialMatrix::getRangeMap ( ) const
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.

void DataTransferKit::PolynomialMatrix::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.

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 - 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.

bool DataTransferKit::PolynomialMatrix::hasTransposeApply ( ) const
inlineoverride

Whether this operator supports applying the transpose or conjugate transpose.

Definition at line 105 of file DTK_PolynomialMatrix.hpp.


The documentation for this class was generated from the following files: