Extended Operator/Vector interfaces
[Thyra Operator/Vector Interfaces as an Interoperability Layer for Abstract Numerical Algorithms (ANAs)]


Modules

group  Non-member LinearOpWithSolveBase helper functions.
group  Non-member LinearOpWithSolveFactoryBase helper functions.
group  Equation solve foundational code

Classes

class  Thyra::MultiVectorRandomizerBase< Scalar >
 Base interface for a strategy object for randomizing a multi-vector. 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::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...

Functions

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

Detailed Description

The Thyra package also contains a set of extended interfaces that build on the fundamental operator/vector interfaces that play a role in interoperability with extended levels of functionality.

  1. Interfaces to product vector spaces, vectors and multi-vectors

    Concrete implementations of these basic interfaces are described here.

  2. Interfaces to invertible linear operators


Function Documentation

template<class Scalar>
void Thyra::unwrap const LinearOpBase< Scalar > &  Op,
Scalar *  scalar,
ETransp 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.

Examples:
test_composite_linear_ops.cpp.

Definition at line 36 of file Thyra_ScaledAdjointLinearOpBase.hpp.


Generated on Thu Sep 18 12:39:53 2008 for Thyra ANA Operator/VectorBase Interfaces and Related Software by doxygen 1.3.9.1