Rogue Wave banner
Previous fileTop of DocumentContentsIndexNext file

2.1 The Class Concept

The focus of a traditional procedural interface is on action: "This routine does this algorithm." In contrast, the focus of an object-oriented interface is on things: "This object represents this concept." Since numerical linear algebra also tends to be organized around things, like vectors, matrices, factorizations, and decompositions, the mapping from numerical linear algebra to an object-oriented programming language is natural and straightforward. Of course, you do need the objects that represent the concepts of linear algebra, and these are provided in the LAPACK.h++ class library.

Each class in the library represents a single concept. Each class is designed to be orthogonal to the other classes. This design implies that you use only objects directly related to your problem. As your problem becomes more complex, you can draw on additional objects and additional capabilities of objects you are already using, but only if you need to.

Although the classes are independent and orthogonal, they all have similar interfaces. After you learn one matrix class, the others are easy to master. Also, since the classes have similar interfaces, you can easily use the LAPACK.h++ classes as C++ template arguments.


Previous fileTop of DocumentContentsIndexNext file

©Copyright 1999, Rogue Wave Software, Inc.
Contact Rogue Wave about documentation or support issues.