Thyra operator/vector extended interfaces
[Thyra operator/vector interfaces]

Collaboration diagram for Thyra operator/vector extended interfaces:

These are the extended Operator/Vector Interfaces that provide the foundation for all ANAs. More...

Classes

class  Thyra::AddedLinearOpBase< Scalar >
 Interface class for implicitly added linear operators. More...
class  Thyra::BlockedLinearOpBase< Scalar >
 Base interface for linear operators that can be accessed as sub-blocks. More...
class  Thyra::DiagonalLinearOpBase< Scalar >
 Interface class for for diagonal linear operators. More...
class  Thyra::IdentityLinearOpBase< Scalar >
 Interface class for identity linear operators. More...
class  Thyra::MultipliedLinearOpBase< Scalar >
 Interface class for implicitly multiplied linear operators. More...
class  Thyra::MultiVectorFileIOBase< Scalar >
 Abstract strategy interface for reading and writing (multi)vector objects to and from files. More...
class  Thyra::MultiVectorRandomizerBase< Scalar >
 Base interface for a strategy object for randomizing a multi-vector. More...
class  Thyra::PhysicallyBlockedLinearOpBase< Scalar >
 Base interface for physically blocked linear operators. More...
class  Thyra::ProductMultiVectorBase< Scalar >
 Base interface for product multi-vectors. More...
class  Thyra::ProductVectorBase< Scalar >
 Base interface for product vectors. More...
class  Thyra::ProductVectorSpaceBase< Scalar >
 Base interface for product vector spaces. More...
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. More...
class  Thyra::SpmdVectorSpaceBase< Scalar >
 Base abstract VectorSpaceBase class for all SPMD-based vector spaces. More...
class  Thyra::VectorSpaceConverterBase< ScalarFrom, ScalarTo >
 Base interface for a factory that converts vector space types and vectors and multi-vectors from one scalar type to another. More...
class  Thyra::ZeroLinearOpBase< Scalar >
 Interface class for zero linear operators. More...

Functions

template<class Scalar>
void Thyra::unwrap (const LinearOpBase< Scalar > &Op, Scalar *scalar, EOpTransp *transp, const LinearOpBase< Scalar > **origOp)
 Extract the overallScalar, overallTransp and const origOp from a const LinearOpBase object.

Detailed Description

These are the extended Operator/Vector Interfaces that provide the foundation for all ANAs.


Function Documentation

template<class Scalar>
void Thyra::unwrap ( const LinearOpBase< Scalar > &  Op,
Scalar *  scalar,
EOpTransp transp,
const LinearOpBase< Scalar > **  origOp 
)

Extract the overallScalar, overallTransp and const origOp from a const LinearOpBase object.

Parameters:
Op [in] The input, possibly scaled and/or adjoined, linear operator
scalar [out] The overall scaling factor.
transp [out] The overall adjoint (transposition) enum.
origOp [out] The underlying, non-scaled and non-adjoined linear operator. This pointer returns a non-persisting relationship that is to be used and then immediately forgotten.
Preconditions:

Postconditions:

The purpose of this function is to strip off the ScaledAdjointLinearOpBase wrapper and get at the underlying linear operator for the purpose of further dynamic casting to some more derived interface.

The implementation of this function is not too complicated and is appropriate for study.

Definition at line 37 of file Thyra_ScaledAdjointLinearOpBase_def.hpp.


Generated on Tue Jul 13 09:26:24 2010 for Thyra by  doxygen 1.4.7