Ifpack2 Templated Preconditioning Package  Version 1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
Ifpack2::BorderedOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

Ifpack2 bordered operator. More...

#include <Ifpack2_BorderedOperator_decl.hpp>

Inherits Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >.

Public Member Functions

 BorderedOperator (const Teuchos::RCP< const Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &A)
 Constructor with Tpetra::Operator input. More...
 
virtual ~BorderedOperator ()
 Destructor. More...
 
Implementation of Tpetra::Operator.
virtual Teuchos::RCP< const
Tpetra::Map< LocalOrdinal,
GlobalOrdinal, Node > > 
getDomainMap () const
 The domain Map of this operator. It must be compatible with X.getMap(). More...
 
virtual Teuchos::RCP< const
Tpetra::Map< LocalOrdinal,
GlobalOrdinal, Node > > 
getRangeMap () const
 The range Map of this operator. It must be compatible with Y.getMap(). More...
 
bool hasTransposeApply () const
 Whether this operator can apply the transpose or conjugate transpose. More...
 
void apply (const Tpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, Tpetra::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
 Apply the bordered operator. More...
 

Detailed Description

template<class Scalar, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
class Ifpack2::BorderedOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Ifpack2 bordered operator.

Ifpack2::BorderedOperator is a concrete class extending Tpetra::Operator and defining an interface.

This class extends Tpetra::Operator, providing the additional methods:

The bordered operator is applied by apply() (which returns if isComputed() is false). Each time compute() is called, the object re-computes the actual values of the bordered operator.

Title of Method Description

Constructor & Destructor Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Ifpack2::BorderedOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::BorderedOperator ( const Teuchos::RCP< const Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  A)

Constructor with Tpetra::Operator input.

template<class Scalar , class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
virtual Ifpack2::BorderedOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::~BorderedOperator ( )
inlinevirtual

Destructor.

Member Function Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > Ifpack2::BorderedOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getDomainMap ( ) const
virtual

The domain Map of this operator. It must be compatible with X.getMap().

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > Ifpack2::BorderedOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getRangeMap ( ) const
virtual

The range Map of this operator. It must be compatible with Y.getMap().

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
bool Ifpack2::BorderedOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::hasTransposeApply ( ) const

Whether this operator can apply the transpose or conjugate transpose.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void Ifpack2::BorderedOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::apply ( const Tpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  X,
Tpetra::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

Apply the bordered operator.


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