Belos Package Browser (Single Doxygen Collection)  Development
List of all members
Belos::GmresPolyOp< ScalarType, MV, OP > Class Template Reference

Belos's class for applying the GMRES polynomial operator that is used by the hybrid-GMRES linear solver. More...

#include <BelosGmresPolyOp.hpp>

Constructor/Destructor

 GmresPolyOp ()
 Default constructor. More...
 
 GmresPolyOp (const Teuchos::RCP< LinearProblem< ScalarType, MV, OP > > &problem_in, const Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > > &hess, const Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > > &comb, const Teuchos::RCP< Teuchos::SerialDenseVector< int, ScalarType > > &scal)
 Basic contstructor. More...
 
virtual ~GmresPolyOp ()
 Destructor. More...
 

Operator application method

typedef MultiVecTraits< ScalarType, MV > MVT
 
typedef Teuchos::ScalarTraits< ScalarType > SCT
 
int dim_
 
Teuchos::RCP< LinearProblem< ScalarType, MV, OP > > problem_
 
Teuchos::RCP< const OP > LP_
 
Teuchos::RCP< const OP > RP_
 
Teuchos::RCP< MV > V_
 
Teuchos::RCP< MV > wL_
 
Teuchos::RCP< MV > wR_
 
Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > > H_
 
Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > > y_
 
Teuchos::RCP< Teuchos::SerialDenseVector< int, ScalarType > > r0_
 
void Apply (const MV &x, MV &y, ETrans trans=NOTRANS)
 This routine takes the MV x and applies the polynomial operator phi(OP) to it resulting in the MV y, which is returned. More...
 

Detailed Description

template<class ScalarType, class MV, class OP>
class Belos::GmresPolyOp< ScalarType, MV, OP >

Belos's class for applying the GMRES polynomial operator that is used by the hybrid-GMRES linear solver.

This operator is used as the interface to the matrix polynomial (phi(A)), solution (X), and right-hand side (B) of the linear system phi(A)X = B. Furthermore, it is also the interface to left/right preconditioning of the linear system.

Author
Heidi Thornquist

Definition at line 71 of file BelosGmresPolyOp.hpp.

Member Typedef Documentation

◆ MVT

template<class ScalarType, class MV, class OP>
typedef MultiVecTraits<ScalarType,MV> Belos::GmresPolyOp< ScalarType, MV, OP >::MVT
private

Definition at line 107 of file BelosGmresPolyOp.hpp.

◆ SCT

template<class ScalarType, class MV, class OP>
typedef Teuchos::ScalarTraits<ScalarType> Belos::GmresPolyOp< ScalarType, MV, OP >::SCT
private

Definition at line 108 of file BelosGmresPolyOp.hpp.

Constructor & Destructor Documentation

◆ GmresPolyOp() [1/2]

template<class ScalarType, class MV, class OP>
Belos::GmresPolyOp< ScalarType, MV, OP >::GmresPolyOp ( )
inline

Default constructor.

Definition at line 78 of file BelosGmresPolyOp.hpp.

◆ GmresPolyOp() [2/2]

template<class ScalarType, class MV, class OP>
Belos::GmresPolyOp< ScalarType, MV, OP >::GmresPolyOp ( const Teuchos::RCP< LinearProblem< ScalarType, MV, OP > > &  problem_in,
const Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > > &  hess,
const Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > > &  comb,
const Teuchos::RCP< Teuchos::SerialDenseVector< int, ScalarType > > &  scal 
)
inline

Basic contstructor.

Definition at line 81 of file BelosGmresPolyOp.hpp.

◆ ~GmresPolyOp()

template<class ScalarType, class MV, class OP>
virtual Belos::GmresPolyOp< ScalarType, MV, OP >::~GmresPolyOp ( )
inlinevirtual

Destructor.

Definition at line 92 of file BelosGmresPolyOp.hpp.

Member Function Documentation

◆ Apply()

template<class ScalarType , class MV , class OP >
void Belos::GmresPolyOp< ScalarType, MV, OP >::Apply ( const MV &  x,
MV &  y,
ETrans  trans = NOTRANS 
)

This routine takes the MV x and applies the polynomial operator phi(OP) to it resulting in the MV 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.

Definition at line 119 of file BelosGmresPolyOp.hpp.

Member Data Documentation

◆ dim_

template<class ScalarType, class MV, class OP>
int Belos::GmresPolyOp< ScalarType, MV, OP >::dim_
private

Definition at line 110 of file BelosGmresPolyOp.hpp.

◆ problem_

template<class ScalarType, class MV, class OP>
Teuchos::RCP<LinearProblem<ScalarType,MV,OP> > Belos::GmresPolyOp< ScalarType, MV, OP >::problem_
private

Definition at line 111 of file BelosGmresPolyOp.hpp.

◆ LP_

template<class ScalarType, class MV, class OP>
Teuchos::RCP<const OP> Belos::GmresPolyOp< ScalarType, MV, OP >::LP_
private

Definition at line 112 of file BelosGmresPolyOp.hpp.

◆ RP_

template<class ScalarType, class MV, class OP>
Teuchos::RCP<const OP> Belos::GmresPolyOp< ScalarType, MV, OP >::RP_
private

Definition at line 112 of file BelosGmresPolyOp.hpp.

◆ V_

template<class ScalarType, class MV, class OP>
Teuchos::RCP<MV> Belos::GmresPolyOp< ScalarType, MV, OP >::V_
private

Definition at line 113 of file BelosGmresPolyOp.hpp.

◆ wL_

template<class ScalarType, class MV, class OP>
Teuchos::RCP<MV> Belos::GmresPolyOp< ScalarType, MV, OP >::wL_
private

Definition at line 113 of file BelosGmresPolyOp.hpp.

◆ wR_

template<class ScalarType, class MV, class OP>
Teuchos::RCP<MV> Belos::GmresPolyOp< ScalarType, MV, OP >::wR_
private

Definition at line 113 of file BelosGmresPolyOp.hpp.

◆ H_

template<class ScalarType, class MV, class OP>
Teuchos::RCP<Teuchos::SerialDenseMatrix<int,ScalarType> > Belos::GmresPolyOp< ScalarType, MV, OP >::H_
private

Definition at line 114 of file BelosGmresPolyOp.hpp.

◆ y_

template<class ScalarType, class MV, class OP>
Teuchos::RCP<Teuchos::SerialDenseMatrix<int,ScalarType> > Belos::GmresPolyOp< ScalarType, MV, OP >::y_
private

Definition at line 114 of file BelosGmresPolyOp.hpp.

◆ r0_

template<class ScalarType, class MV, class OP>
Teuchos::RCP<Teuchos::SerialDenseVector<int,ScalarType> > Belos::GmresPolyOp< ScalarType, MV, OP >::r0_
private

Definition at line 115 of file BelosGmresPolyOp.hpp.


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