Thyra Version of the Day

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 subblocks. 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 multivector. More...  
class  Thyra::PhysicallyBlockedLinearOpBase< Scalar > 
Base interface for physically blocked linear operators. More...  
class  Thyra::ProductMultiVectorBase< Scalar > 
Base interface for product multivectors. More...  
class  Thyra::ProductVectorBase< Scalar > 
Base interface for product vectors. More...  
class  Thyra::ProductVectorSpaceBase< Scalar > 
Base interface for product vector spaces. More...  
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::SpmdVectorSpaceBase< Scalar > 
Base abstract VectorSpaceBase class for all SPMDbased vector spaces. More...  
class  Thyra::VectorSpaceConverterBase< ScalarFrom, ScalarTo > 
Base interface for a factory that converts vector space types and vectors and multivectors 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. 
These are the extended Operator/Vector Interfaces that provide the foundation for all ANAs.
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.
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, nonscaled and nonadjoined linear operator. This pointer returns a nonpersisting 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.