Designing Object-Oriented Numerical Libraries
Having developed classes that underpin linear algebra operations in an earlier chapter, we now demonstrate how to construct object-oriented libraries for scientific computing applications that utilise the functionality of these classes. We use the specific example of developing a library that uses the finite difference method to solve boundary value, second order, constant coefficient differential equations. We begin by considering ordinary differential equations. We state the theory that underpins the finite difference method for these equations, and then describe the classes that we will develop to allow this theory to be applied. We then briefly discuss how to develop a library for the solution of Poisson’s equation, an elliptic partial differential equation, in two spatial dimensions.