Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions
Thyra operator/vector extended interfaces

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

Collaboration diagram for Thyra operator/vector extended interfaces:

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 >
 
class  Thyra::RowStatLinearOpBase< Scalar >
 Interface for exxtracting row statistics as a VectorBase from a supporting LinearOpBase object. 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::ScaledLinearOpBase< Scalar >
 Applies left or right sclaing to the linear operator. More...
 
class  Thyra::SpmdMultiVectorBase< Scalar >
 Base interface class for SPMD multi-vectors. More...
 
class  Thyra::SpmdVectorBase< Scalar >
 Base class for SPMD vectors that can provide views of contiguous elements in a process. 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. More...
 

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:

  • scalar!==NULL
  • transp!==NULL
  • origOp!==NULL

Postconditions:

  • *origOp!==NULL

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 50 of file Thyra_ScaledAdjointLinearOpBase_def.hpp.