The core of scientific computing is designing, writing, testing, debugging and modifying numerical software. Scientists, engineers and computer scientists need to write good, transparent 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 good software, and how to test it for bugs, accuracy, and performance. They will regard this manual of scientific computing style as an essential companion.
A manual and guide to good scientific computing style, explaining how to write good software and how to test it for bugs, accuracy and performance.
Inhaltsverzeichnis
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.