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