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 29 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 30 of file PlayaInverseOperatorImpl.hpp.

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

Virtual dtor

Definition at line 40 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.

applyType Indicates whether to apply the operator, its transpose, or its conjugate transpose.
in The vector on which the operator is to act
out The 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 37 of file PlayaInverseOperatorImpl.hpp.

References Playa::Vector< Scalar >::acceptCopyOf(), Playa::SolverState< Scalar >::finalState(), Playa::InverseOperator< Scalar >::op_, PLAYA_MSG2, Playa::SolveConverged, Playa::InverseOperator< Scalar >::solver_, Playa::Vector< Scalar >::space(), Playa::SolverState< Scalar >::stateDescription(), and Playa::ObjectWithVerbosity::verb().

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

Definition at line 63 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 [inline, virtual]

Implements Playa::Printable.

Definition at line 78 of file PlayaInverseOperatorImpl.hpp.

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

Member Data Documentation

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

Definition at line 69 of file PlayaInverseOperatorDecl.hpp.

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

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

Site Contact