Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
Thyra::ScaledAdjointLinearOpBase< Scalar > Class Template Referenceabstract

Base class for LinearOpBase decorator subclasses that wrap a LinearOpBase object and adds on an extra scaling factor and/or a new transpose enum. More...

#include <Thyra_ScaledAdjointLinearOpBase_decl.hpp>

Inheritance diagram for Thyra::ScaledAdjointLinearOpBase< Scalar >:
Inheritance graph
[legend]

Pure virtual functions to be overridden in subclasses

virtual Scalar overallScalar () const =0
 Return the overall scale factor. More...
 
virtual EOpTransp overallTransp () const =0
 Return the overall transpose (adjoint) enum. More...
 
virtual RCP< LinearOpBase
< Scalar > > 
getNonconstOrigOp ()=0
 Return the non-const original linear operator origOp. More...
 
virtual RCP< const
LinearOpBase< Scalar > > 
getOrigOp () const =0
 Return the const original linear operator origOp. More...
 

Additional Inherited Members

- Public Member Functions inherited from Thyra::LinearOpBase< Scalar >
virtual RCP< const
VectorSpaceBase< Scalar > > 
range () const =0
 Return a smart pointer for the range space for this operator. More...
 
virtual RCP< const
VectorSpaceBase< Scalar > > 
domain () const =0
 Return a smart pointer for the domain space for this operator. More...
 
bool opSupported (EOpTransp M_trans) const
 Return if the M_trans operation of apply() is supported or not. More...
 
void apply (const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const
 Apply the linear operator to a multi-vector : Y = alpha*op(M)*X + beta*Y. More...
 
virtual RCP< const
LinearOpBase< Scalar > > 
clone () const
 Clone the linear operator object (if supported). More...
 
- Protected Member Functions inherited from Thyra::LinearOpBase< Scalar >
virtual bool opSupportedImpl (EOpTransp M_trans) const =0
 Override in subclass. More...
 
virtual void applyImpl (const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const =0
 Override in subclass. More...
 

Detailed Description

template<class Scalar>
class Thyra::ScaledAdjointLinearOpBase< Scalar >

Base class for LinearOpBase decorator subclasses that wrap a LinearOpBase object and adds on an extra scaling factor and/or a new transpose enum.

This interface class represents a scaled, adjointed (transposed) linear operator M of the form:

  M = scalar * op(Op)

where Op is another LinearOpBase object, scalar is a Scalar, and the operation op(Op) is specified by a EOpTransp and is given as op(Op) = Op (NOTRANS), or op(Op) = Op^T (TRANS), or op(Op) = Op^H (CONJTRANS).

Definition at line 41 of file Thyra_ScaledAdjointLinearOpBase_decl.hpp.

Member Function Documentation

template<class Scalar>
virtual Scalar Thyra::ScaledAdjointLinearOpBase< Scalar >::overallScalar ( ) const
pure virtual

Return the overall scale factor.

Implemented in Thyra::DefaultScaledAdjointLinearOp< Scalar >.

template<class Scalar>
virtual EOpTransp Thyra::ScaledAdjointLinearOpBase< Scalar >::overallTransp ( ) const
pure virtual

Return the overall transpose (adjoint) enum.

Implemented in Thyra::DefaultScaledAdjointLinearOp< Scalar >.

template<class Scalar>
virtual RCP<LinearOpBase<Scalar> > Thyra::ScaledAdjointLinearOpBase< Scalar >::getNonconstOrigOp ( )
pure virtual

Return the non-const original linear operator origOp.

Note that *this is only guaranteed to be fully modified once the returned RCP goes away.

Implemented in Thyra::DefaultScaledAdjointLinearOp< Scalar >.

template<class Scalar>
virtual RCP<const LinearOpBase<Scalar> > Thyra::ScaledAdjointLinearOpBase< Scalar >::getOrigOp ( ) const
pure virtual

Return the const original linear operator origOp.

Implemented in Thyra::DefaultScaledAdjointLinearOp< Scalar >.


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