Public Member Functions | Private Attributes
TSFExtended::InverseOperator< Scalar > Class Template Reference

TSFInverseOperator represents the inverse of some other operator. More...

Inheritance diagram for TSFExtended::InverseOperator< Scalar >:
TSFExtended::OpWithBackwardsCompatibleApply< Scalar > Sundance::Printable LinearOpBase Sundance::DefaultObjectWithVerbosity Sundance::ObjectWithVerbosityBase

List of all members.

Public Member Functions

 InverseOperator (const LinearOperator< Scalar > &op, const LinearSolver< Scalar > &solver)
 Ctor with a linear operator and a solver specified.
virtual ~InverseOperator ()
 Virtual dtor.
virtual void generalApply (const Thyra::EOpTransp M_trans, const Thyra::VectorBase< Scalar > &x, Thyra::VectorBase< Scalar > *y, const Scalar alpha=1.0, const Scalar beta=0.0) const
 Compute alpha*M*x + beta*y, where M=*this.
virtual RCP< const
Thyra::VectorSpaceBase< Scalar > > 
domain () const
 Return the domain of the operator.
virtual RCP< const
Thyra::VectorSpaceBase< Scalar > > 
range () const
 Return the range of the operator.
void print (std::ostream &os) const

Private Attributes

const LinearOperator< Scalar > op_
const LinearSolver< Scalar > solver_
std::string msg_

Detailed Description

template<class Scalar>
class TSFExtended::InverseOperator< Scalar >

TSFInverseOperator represents the inverse of some other operator.

An inverse operator object will contain an operator and a solver. The operator data member is the operator whose inverse this represents. The solver data member is the solver that will be used in applying the inverse. If the solver is null, the operator is assumed to have self-contained ability to solve systems, as for a dense matrix that does solves by factoring and backsolves.

Definition at line 56 of file TSFInverseOperatorDecl.hpp.


Constructor & Destructor Documentation

template<class Scalar >
TSFExtended::InverseOperator< Scalar >::InverseOperator ( const LinearOperator< Scalar > &  op,
const LinearSolver< Scalar > &  solver 
) [inline]

Ctor with a linear operator and a solver specified.

Definition at line 54 of file TSFInverseOperatorImpl.hpp.

template<class Scalar >
virtual TSFExtended::InverseOperator< Scalar >::~InverseOperator ( ) [inline, virtual]

Virtual dtor.

Definition at line 67 of file TSFInverseOperatorDecl.hpp.


Member Function Documentation

template<class Scalar >
RCP< const Thyra::VectorSpaceBase< Scalar > > TSFExtended::InverseOperator< Scalar >::domain ( ) const [inline, virtual]

Return the domain of the operator.

Definition at line 123 of file TSFInverseOperatorImpl.hpp.

template<class Scalar >
void TSFExtended::InverseOperator< Scalar >::generalApply ( const Thyra::EOpTransp  M_trans,
const Thyra::VectorBase< Scalar > &  x,
Thyra::VectorBase< Scalar > *  y,
const Scalar  alpha = 1.0,
const Scalar  beta = 0.0 
) const [inline, virtual]

Compute alpha*M*x + beta*y, where M=*this.

Parameters:
M_transspecifies whether the operator is transposed: op(M) = M, for M_trans == NOTRANS op(M) = M', for M_trans == TRANS
xvector of length this->domain()->dim()
yvector of length this->range()->dim()
alphascalar multiplying M*x (default is 1.0)
betascalar multiplying y (default is 0.0)

Implements TSFExtended::OpWithBackwardsCompatibleApply< Scalar >.

Definition at line 70 of file TSFInverseOperatorImpl.hpp.

References Sundance::Handle< Thyra::VectorBase< Scalar > >::ptr(), TSFExtended::SolveConverged, and SUNDANCE_MSG2.

template<class Scalar >
void TSFExtended::InverseOperator< Scalar >::print ( std::ostream &  os) const [virtual]

Implements Sundance::Printable.

Definition at line 137 of file TSFInverseOperatorImpl.hpp.

template<class Scalar >
RCP< const Thyra::VectorSpaceBase< Scalar > > TSFExtended::InverseOperator< Scalar >::range ( ) const [inline, virtual]

Return the range of the operator.

Definition at line 132 of file TSFInverseOperatorImpl.hpp.


Member Data Documentation

template<class Scalar >
std::string TSFExtended::InverseOperator< Scalar >::msg_ [private]

Definition at line 106 of file TSFInverseOperatorDecl.hpp.

template<class Scalar >
const LinearOperator<Scalar> TSFExtended::InverseOperator< Scalar >::op_ [private]

Definition at line 104 of file TSFInverseOperatorDecl.hpp.

template<class Scalar >
const LinearSolver<Scalar> TSFExtended::InverseOperator< Scalar >::solver_ [private]

Definition at line 105 of file TSFInverseOperatorDecl.hpp.

Site Contact