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 >:

[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 (ETransp M_trans) const =0
 Return if the M_trans operation of apply() is supported or not.
virtual void apply (const ETransp 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
 

Definition at line 40 of file Thyra_SingleScalarLinearOpBase.hpp.

template<class Scalar>
bool Thyra::SingleScalarLinearOpBase< Scalar >::applyTransposeSupports const EConj  conj  )  const
 

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 ETransp  M_trans  )  const [protected, pure virtual]
 

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

Preconditions:

  • this->domain().get()!=NULL && this->range().get()!=NULL

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::DefaultDiagonalLinearOp< Scalar >, Thyra::DefaultIdentityLinearOp< Scalar >, Thyra::DefaultMultipliedLinearOp< Scalar >, Thyra::DefaultScaledAdjointLinearOp< Scalar >, Thyra::DefaultZeroLinearOp< Scalar >, Thyra::VectorDefaultBase< Scalar >, Thyra::DefaultColumnwiseMultiVector< Scalar >, and Thyra::DefaultVectorMultiVector< Scalar >.

template<class Scalar>
virtual void Thyra::SingleScalarLinearOpBase< Scalar >::apply const ETransp  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:

  • this->opSupported(M_trans)==true

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


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:32:33 2008 for Thyra Operator/Vector Support by doxygen 1.3.9.1