The core of scientific computing is designing, writing, testing, debugging and modifying numerical software for application to a vast range of areas: from graphics, meteorology and chemistry to engineering, biology and finance. Scientists, engineers and computer scientists need to write good code, for speed, clarity, flexibility and ease of re-use. Oliveira and Stewart's style guide for numerical software points out good practices to follow, and pitfalls to avoid. By following their advice, readers will learn how to write efficient software, and how to test it for bugs, accuracy and performance. Techniques are explained with a variety of programming languages, and illustrated with two extensive design examples, one in Fortran 90 and one in C++: other examples in C, C++, Fortran 90 and Java are scattered throughout the book. This manual of scientific computing style will be an essential addition to the bookshelf and lab of everyone who writes numerical software.We can compare (/(xo + cd) a /(xo))/e with V/(xo)Td. Since the errors in this approximation are more than just roundoff errors, we have to be careful in how we choose the tolerance. ... When designing tests of this kind, a good guiding principle is that of scale invariance. ... To deal with this there are some possibilities depending on how much user control is expected. The first is to have the user input a rough estimate of the scaling of the function ao and report ||/(x0 + g^)-/(x0)-g V/(x0)T^||anbsp;...
|Title||:||Writing Scientific Software|
|Author||:||Suely Oliveira, David E. Stewart|
|Publisher||:||Cambridge University Press - 2006-09-07|