Writing Scientific Software: A Guide to Good Style

Front Cover
Cambridge University Press, Sep 7, 2006 - Computers
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.
 

What people are saying - Write a review

We haven't found any reviews in the usual places.

Contents

Section 1
3
Section 2
8
Section 3
30
Section 4
36
Section 5
39
Section 6
45
Section 7
57
Section 8
90
Section 11
143
Section 12
149
Section 13
156
Section 14
187
Section 15
195
Section 16
208
Section 17
219
Section 18
223

Section 9
94
Section 10
118
Section 19
239
Section 20
262

Common terms and phrases

Popular passages

Page 1 - An mxn matrix is a matrix with m rows and n columns and has the form: 'au au ••• ain A = _am\ (mxn).
Page 6 - Java is a trademark of Sun Microsystems. Unix is a trademark of AT&T.
Page 15 - But, averaging over progress from the 1950s to now, the number of transistors on a "chip" doubles about every eighteen months to two years.
Page 14 - To do something as simple as getting a number from memory, we have to take into account the time it takes for the...

About the author (2006)

Suely Oliveira is Associate Professor of Computer Science at the University of Iowa.

David Stewart is an Associate Professor in the Department of Mathematics at the University of Iowa.

Bibliographic information