
Writing Scientific Software
A Guide to Good Style
Cambridge University Press
Published on 7. September 2006
Book
Hardback
316 pages
978-0-521-85896-0 (ISBN)
Article exhausted; check for reprint
Description
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.
Reviews / Votes
'Writing Scientific Software bridges the chasm that too often separates numerical analysis from real scientific computing. It is full of tips, tricks, and just plain interesting information. The reader will learn how to write code that takes advantage of many hidden features in modern computer architectures, programming languages, and compilers. This is a book that is full of good sense.' William H. Press, author of Numerical Recipes 'The book is a useful tool working in the filed of scientific computations...' Zentralblatt MATHMore details
Language
English
Place of publication
Cambridge
United Kingdom
Target group
Professional and scholarly
Dimensions
Height: 253 mm
Width: 178 mm
Thickness: 23 mm
Weight
692 gr
ISBN-13
978-0-521-85896-0 (9780521858960)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
New editions

Book
09/2006
Cambridge University Press
€77.70
Shipment within 15-20 days
Additional editions

E-Book
11/2006
1st Edition
Cambridge University Press
€47.49
Available for download

Book
09/2006
Cambridge University Press
€77.70
Shipment within 15-20 days
Persons
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.
Content
Part I. Numerical Software: 1. Why numerical software?; 2. Scientific computation and numerical analysis; 3. Priorities; 4. Famous disasters; 5. Exercises; Part II. Developing Software: 6. Basics of computer organization; 7. Software design; 8. Modularity and all that; 9. Data structures; 10. Design for testing and debugging; 11. Exercises; Part III. Efficiency in Time, Efficiency in Memory: 12. Be algorithm aware; 13. Computer architecture and efficiency; 14. Global vs. local optimization; 15. Grabbing memory when you need it; 16. Memory bugs and leaks; Part IV. Tools: 17. Sources of scientific software; 18. Unix tools; 19. Cubic spline function library; 20. Multigrid algorithms; Appendix A: review of vectors and matrices; Appendix B: trademarks; Bibliography; Index.