Thyra Package Browser (Single Doxygen Collection) Version of the Day
Classes
Basic Support Subclasses Abstracting Application-Specific Scalar Products
Development of Concrete Thyra Operator/Vector Subclass Implementations

The Thyra_Op_Vec_fundamental_interfaces_sec 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...

Collaboration diagram for Basic Support Subclasses Abstracting Application-Specific Scalar Products:

Classes

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::MultiVectorAdapterBase< Scalar >
 Node subclass for MultiVectorBase subclasses that allows the insertion of an application defined scalar product. 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 Thyra_Op_Vec_fundamental_interfaces_sec 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.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines