Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
Linear Algebra Module User's Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

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 Linear Algebra Module.

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 Linear Algebra Module classes as C++ template arguments.



Previous fileTop of DocumentContentsNo linkNext file

Copyright © Rogue Wave Software, Inc. All Rights Reserved.

The Rogue Wave name and logo, and SourcePro, are registered trademarks of Rogue Wave Software. All other trademarks are the property of their respective owners.
Provide feedback to Rogue Wave about its documentation.