Public Member Functions | Private Attributes
Playa::InverseOperator< Scalar > Class Template Reference
Inheritance diagram for Playa::InverseOperator< Scalar >:
Playa::LinearOpWithSpaces< Scalar > Playa::Printable Playa::LinearOperatorBase< Scalar > Playa::ObjectWithVerbosity

List of all members.

Public Member Functions

 InverseOperator (const LinearOperator< Scalar > &op, const LinearSolver< Scalar > &solver)
virtual ~InverseOperator ()
virtual void apply (Teuchos::ETransp applyType, const Vector< Scalar > &in, Vector< Scalar > out) const
void print (std::ostream &os) const
LinearOperator< Scalar > op () const

Private Attributes

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

Detailed Description

template<class Scalar>
class Playa::InverseOperator< Scalar >

PlayaInverseOperator 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 66 of file PlayaInverseOperatorDecl.hpp.


Constructor & Destructor Documentation

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

Ctor with a linear operator and a solver specified.

Definition at line 67 of file PlayaInverseOperatorImpl.hpp.

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

Virtual dtor

Definition at line 77 of file PlayaInverseOperatorDecl.hpp.


Member Function Documentation

template<class Scalar >
void Playa::InverseOperator< Scalar >::apply ( Teuchos::ETransp  applyType,
const Vector< Scalar > &  in,
Vector< Scalar >  out 
) const [inline, virtual]

Apply the operator.

Parameters:
applyTypeIndicates whether to apply the operator, its transpose, or its conjugate transpose.
inThe vector on which the operator is to act
outThe vector into which the result of the operation is to be written. This vector should already be initialized by the appropriate space.

Implements Playa::LinearOperatorBase< Scalar >.

Definition at line 74 of file PlayaInverseOperatorImpl.hpp.

References Playa::Vector< Scalar >::acceptCopyOf(), Playa::SolverState< Scalar >::finalState(), PLAYA_MSG2, Playa::SolveConverged, Playa::Vector< Scalar >::space(), and Playa::SolverState< Scalar >::stateDescription().

template<class Scalar>
LinearOperator<Scalar> Playa::InverseOperator< Scalar >::op ( ) const [inline]

Definition at line 100 of file PlayaInverseOperatorDecl.hpp.

References Playa::InverseOperator< Scalar >::op_.

Referenced by Playa::inverse().

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

Implements Playa::Printable.

Definition at line 115 of file PlayaInverseOperatorImpl.hpp.


Member Data Documentation

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

Definition at line 106 of file PlayaInverseOperatorDecl.hpp.

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

Definition at line 104 of file PlayaInverseOperatorDecl.hpp.

Referenced by Playa::InverseOperator< Scalar >::op().

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

Definition at line 105 of file PlayaInverseOperatorDecl.hpp.

Site Contact