Basic Support Subclasses Abstracting Application-Specific Scalar Products
[Development of Concrete Thyra Operator/Vector Subclass Implementations]

The Fundamental Thyra Operator/Vector Interfaces define an interface for providing ANAs with the functionality they need concerning application-specific scalar products without concern for how such scalar products are implemented or how such scalar products relate to the implementation of vectors, multi-vectors or linear operators. While this is most straightforward for clients of these interfaces, it is not the most convenient for subclass implementation developers. The first level of basic subclasses for supporting the development of concrete Thyra operator/vector implementations involves separating out the definition of the scalar product from the basic vector and multi-vector data structures and the factory methods for creating them. The base subclasses for supporting application-defined scalar products are shown in the UML class diagram below. More...

Classes

class  Thyra::EuclideanLinearOpBase< RangeScalar, DomainScalar >
 Base interface for Euclidean linear operators. More...
class  Thyra::EuclideanScalarProd< Scalar >
 Concrete implementation of a scalar product for a Euclidean vector space (i.e. using the dot product). More...
class  Thyra::LinearOpScalarProd< Scalar >
 Concrete implementation of a scalar product using a symmetric positive-definite linear operator. More...
class  Thyra::ScalarProdBase< Scalar >
 Abstract interface for scalar products. More...
class  Thyra::ScalarProdVectorSpaceBase< Scalar >
 Base subclass for VectorSpaceBase that allows the definition of an application-specific scalar product to be swapped in and out. More...

Detailed Description

The Fundamental Thyra Operator/Vector Interfaces define an interface for providing ANAs with the functionality they need concerning application-specific scalar products without concern for how such scalar products are implemented or how such scalar products relate to the implementation of vectors, multi-vectors or linear operators. While this is most straightforward for clients of these interfaces, it is not the most convenient for subclass implementation developers. The first level of basic subclasses for supporting the development of concrete Thyra operator/vector implementations involves separating out the definition of the scalar product from the basic vector and multi-vector data structures and the factory methods for creating them. The base subclasses for supporting application-defined scalar products are shown in the UML class diagram below.

ScalarProdVectorSpaceBase.gif

Support base subclasses for abstracting application-specific scalar products (Note: above graphic is not hyperlinked!)

The classes shown in the above UML class diagram are described below:

The base subclasses Thyra::ScalarProdVectorSpaceBase and Thyra::EuclideanLinearOpBase are used for almost all of the other adapter support subclasses and concrete implementations in the Thyra package.


Generated on Thu Sep 18 12:32:32 2008 for Thyra Operator/Vector Support by doxygen 1.3.9.1