Thyra::SingleScalarLinearOpBase< Scalar > Class Template Reference
[Development of linear Abstract Numerical Algorithms (ANAs)]

Base class for linear operators that can only handle a single scalar type. More...

#include <Thyra_SingleScalarLinearOpBaseDecl.hpp>

Inheritance diagram for Thyra::SingleScalarLinearOpBase< Scalar >:

Inheritance graph
[legend]
List of all members.

Overridden from LinearOpBase

bool applySupports (const EConj conj) const
 
bool applyTransposeSupports (const EConj conj) const
 
void apply (const EConj conj, const MultiVectorBase< Scalar > &X, MultiVectorBase< Scalar > *Y, const Scalar alpha, const Scalar beta) const
 
void applyTranspose (const EConj conj, const MultiVectorBase< Scalar > &X, MultiVectorBase< Scalar > *Y, const Scalar alpha, const Scalar beta) const
 

Pure virtual functions (must be overridden by subclass)

virtual bool opSupported (EOpTransp M_trans) const =0
 Return if the M_trans operation of apply() is supported or not.
virtual void apply (const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, MultiVectorBase< Scalar > *Y, const Scalar alpha, const Scalar beta) const =0
 Apply the linear operator (or its transpose).

Detailed Description

template<class Scalar>
class Thyra::SingleScalarLinearOpBase< Scalar >

Base class for linear operators that can only handle a single scalar type.

This class is meant to provide an easier way for subclasses to provide implementations for LinearOpBase::apply() and LinearOpBase::applyTranspose() and is not meant to be used as an client interface.

Definition at line 47 of file Thyra_SingleScalarLinearOpBaseDecl.hpp.


Member Function Documentation

template<class Scalar>
bool Thyra::SingleScalarLinearOpBase< Scalar >::applySupports ( const EConj  conj  )  const [virtual]

Reimplemented from Thyra::LinearOpBase< RangeScalar, DomainScalar >.

Definition at line 40 of file Thyra_SingleScalarLinearOpBase.hpp.

template<class Scalar>
bool Thyra::SingleScalarLinearOpBase< Scalar >::applyTransposeSupports ( const EConj  conj  )  const [virtual]

Reimplemented from Thyra::LinearOpBase< RangeScalar, DomainScalar >.

Definition at line 46 of file Thyra_SingleScalarLinearOpBase.hpp.

template<class Scalar>
void Thyra::SingleScalarLinearOpBase< Scalar >::apply ( const EConj  conj,
const MultiVectorBase< Scalar > &  X,
MultiVectorBase< Scalar > *  Y,
const Scalar  alpha,
const Scalar  beta 
) const

Definition at line 52 of file Thyra_SingleScalarLinearOpBase.hpp.

template<class Scalar>
void Thyra::SingleScalarLinearOpBase< Scalar >::applyTranspose ( const EConj  conj,
const MultiVectorBase< Scalar > &  X,
MultiVectorBase< Scalar > *  Y,
const Scalar  alpha,
const Scalar  beta 
) const

Definition at line 64 of file Thyra_SingleScalarLinearOpBase.hpp.

template<class Scalar>
virtual bool Thyra::SingleScalarLinearOpBase< Scalar >::opSupported ( EOpTransp  M_trans  )  const [protected, pure virtual]

Return if the M_trans operation of apply() is supported or not.

Preconditions:

Note that an operator must support at least one of the values of ETrans (i.e. the transposed or the non-transposed operations must be supported, both can not be unsupported)

Implemented in Thyra::DefaultAddedLinearOp< Scalar >, Thyra::DefaultBlockedLinearOp< Scalar >, Thyra::DefaultColumnwiseMultiVector< Scalar >, Thyra::DefaultDiagonalLinearOp< Scalar >, Thyra::DefaultIdentityLinearOp< Scalar >, Thyra::DefaultMultipliedLinearOp< Scalar >, Thyra::DefaultProductMultiVector< Scalar >, Thyra::DefaultScaledAdjointLinearOp< Scalar >, Thyra::DefaultZeroLinearOp< Scalar >, and Thyra::VectorDefaultBase< Scalar >.

template<class Scalar>
virtual void Thyra::SingleScalarLinearOpBase< Scalar >::apply ( const EOpTransp  M_trans,
const MultiVectorBase< Scalar > &  X,
MultiVectorBase< Scalar > *  Y,
const Scalar  alpha,
const Scalar  beta 
) const [protected, pure virtual]

Apply the linear operator (or its transpose).

ToDo: Finish documentation!

Preconditions:

Implemented in Thyra::DefaultAddedLinearOp< Scalar >, Thyra::DefaultBlockedLinearOp< Scalar >, Thyra::DefaultIdentityLinearOp< Scalar >, Thyra::DefaultMultipliedLinearOp< Scalar >, Thyra::DefaultProductMultiVector< Scalar >, Thyra::DefaultScaledAdjointLinearOp< Scalar >, Thyra::DefaultZeroLinearOp< Scalar >, and Thyra::SingleRhsLinearOpBase< Scalar >.


The documentation for this class was generated from the following files:
Generated on Wed May 12 21:42:34 2010 for Thyra Operator/Vector Support by  doxygen 1.4.7