Developing Classes for Linear Algebra Calculations
Linear algebra calculations—i.e. operations on vectors and matrices—are at the heart of many scientific computing application codes. In this chapter we will apply the ideas introduced earlier in this book to begin to develop a collection of classes that allow us to perform these calculations. We will describe the design of a class of vectors in the body of this chapter. Appropriate constructors and destructors will ensure that memory is managed correctly, and operator overloading will allow operations between vectors and matrices (such as addition, subtraction and multiplication) to be coded in a natural manner. The exercises at the end of the chapter will focus on developing this class further, developing a companion class of matrices, and developing a linear system class that allows us to solve matrix equations.