MueLu  Version of the Day
Belos::XpetraOp< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

Implementation of the Belos::XpetraOp. It derives from the Belos::OperatorT templated on the Xpetra::MultiVector and the Tpetra::MultiVector (if Teptra is enabled) Note, in contrast to Belos::MueLuOp this operator administrates an Xpetra::Matrix<> object and implements the effect of a vector applied to the stored matrix. More...

#include <BelosXpetraAdapterOperator.hpp>

Inheritance diagram for Belos::XpetraOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >:
Belos::OperatorT< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > >

Constructor/Destructor

 XpetraOp (const RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &Op)
 Default constructor. More...
 
virtual ~XpetraOp ()
 Destructor. More...
 

Operator application method

RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Op_
 
void Apply (const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &x, Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &y, ETrans trans=NOTRANS) const
 This routine takes the Xpetra::MultiVector x and applies the operator to it resulting in the Xpetra::MultiVector y, which is returned. More...
 
RCP< const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > getOperator () const
 

Additional Inherited Members

- Public Member Functions inherited from Belos::OperatorT< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > >
 OperatorT ()
 Default constructor. More...
 
virtual ~OperatorT ()
 Destructor. More...
 

Detailed Description

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
class Belos::XpetraOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Implementation of the Belos::XpetraOp. It derives from the Belos::OperatorT templated on the Xpetra::MultiVector and the Tpetra::MultiVector (if Teptra is enabled) Note, in contrast to Belos::MueLuOp this operator administrates an Xpetra::Matrix<> object and implements the effect of a vector applied to the stored matrix.

Implementation of the Belos::XpetraOp. It derives from the Belos::OperatorT templated on the Xpetra::MultiVector and/or the Tpetra::MultiVector (if Teptra is enabled) and/or the EpetraMultiVector (if Epetra64 is enabled). Please be aware that Epetra64 is not supported by MueLu. Don't expect it to work or produce reasonable results.

Implementation of the Belos::XpetraOp. It derives from the Belos::OperatorT templated on the Xpetra::MultiVector and/or the Tpetra::MultiVector (if Teptra is enabled) and/or the EpetraMultiVector (if Epetra is enabled)

The Belos::OperatorT class is a generalization of the Belos::Operator<> class, which deals with any kind of vector (not only Belos::MultiVec as the Belos::Operator<> interface does).

This is the general implementation for Tpetra only.

This is the specialization for <double,int,int,Xpetra::EpetraNode>

This is the specialization for <double,int,long long,Xpetra::EpetraNode>

Definition at line 96 of file BelosXpetraAdapterOperator.hpp.

Constructor & Destructor Documentation

◆ XpetraOp()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Belos::XpetraOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::XpetraOp ( const RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  Op)
inline

Default constructor.

Definition at line 109 of file BelosXpetraAdapterOperator.hpp.

◆ ~XpetraOp()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
virtual Belos::XpetraOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::~XpetraOp ( )
inlinevirtual

Destructor.

Definition at line 112 of file BelosXpetraAdapterOperator.hpp.

Member Function Documentation

◆ Apply()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void Belos::XpetraOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Apply ( const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  x,
Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  y,
ETrans  trans = NOTRANS 
) const
inlinevirtual

This routine takes the Xpetra::MultiVector x and applies the operator to it resulting in the Xpetra::MultiVector y, which is returned.

Note
It is expected that any problem with applying this operator to x will be indicated by an std::exception being thrown.

Implements Belos::OperatorT< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > >.

Definition at line 123 of file BelosXpetraAdapterOperator.hpp.

◆ getOperator()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP<const Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> > Belos::XpetraOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getOperator ( ) const
inline

Definition at line 157 of file BelosXpetraAdapterOperator.hpp.

Member Data Documentation

◆ Op_

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP<Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> > Belos::XpetraOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Op_
private

Definition at line 161 of file BelosXpetraAdapterOperator.hpp.


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