Table of contents
- Part I: Numerical Software
- Chapter 1: Why Numerical Software?
- Chapter 2: Scientific Computation and Numerical Analysis
- Chapter 3: Priorities
- Chapter 4: Famous Disasters
- Chapter 5: Exercises
- Part II: Developing Software
- Chapter 6: Basics of Computer Organization
- Chapter 7: Software Design
- Chapter 8: Data Structures
- Chapter 9: Design for testing and debugging
- Chapter 10: Exercises
- Part III: Efficiency in Time, Efficiency in Memory
- Chapter 11: Be algorithm aware
- Chapter 12: Computer architecture and efficiency
- Chapter 13: Global vs. local optimization
- Chapter 14: Grabbing memory when you need it
- Chapter 15: Memory bugs and leaks
- Part IV: Tools
- Chapter 16: Sources of scientific software
- Chapter 17: Unix tools
- Part V: Design examples
- Chapter 18: Cubic spline function library (in Fortran 90)
- Chapter 19: Multigrid algorithms (in C++)
Copyright Suely Oliveira and David Stewart, August 2006
