Collaboration diagram for Use Cases for the Fundamental Thyra Operator/Vector Interfaces:
|Interoperability Interfaces for linear Abstract Numerical Algorithms (ANAs)|
|As stated in the introduction, the primary purpose of Thyra is to define a set of basic and minimal abstract interfaces to support the interoperability of abstract numerical algorithms (ANAs). |
|Development of linear Abstract Numerical Algorithms (ANAs)|
|While the Fundamental Thyra Operator/Vector Interfaces were not principally designed to provide a direct API for the development of ANA software, with some minimal helper functions and classes, directly writing even sophisticated ANA implementations directly in terms of Thyra objects is quite straightforward. |
|Development of Concrete Thyra Operator/Vector Subclass Implementations|
|In order for abstract numerical algorithms (ANAs) developed with Thyra or accessed using Thyra to be useful, concrete implementations of the Fundamental Thyra Operator/Vector Interfaces must be provided. However, because of a number of convenient C++ subclasses described here, a developer of such implementation subclasses does not really need to understand much at all about the philosophy or details behind the fundamental Thyra interfaces in order to provide implementations for the most common use cases. |
Click on the links below for a discussion of each of these three use cases and a description of additional supporting C++ classes and non-member functions.