Book contents
- Frontmatter
- Contents
- Preface
- 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
- Part III Efficiency in Time, Efficiency in Memory
- Part IV Tools
- Part V Design Examples
- Appendix A Review of vectors and matrices
- Appendix B Trademarks
- References
- Index
1 - Why numerical software?
Published online by Cambridge University Press: 28 January 2010
- Frontmatter
- Contents
- Preface
- 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
- Part III Efficiency in Time, Efficiency in Memory
- Part IV Tools
- Part V Design Examples
- Appendix A Review of vectors and matrices
- Appendix B Trademarks
- References
- Index
Summary
Numerical software is the software used to do computations with real numbers; that is, with numbers with decimal points in them like π = 3.141 5926. … These kinds computations are commonly of great scientific and engineering importance. Real numbers can be used to represent physical quantities (position, height, force, stress, viscosity, voltage, density, etc.). Computation with real numbers can be for simulating the nuclear processes in the centers of stars, finding the stresses in a large concrete and steel structure, or for determining how many spheres of unit radius can touch each other without penetrating. This kind of software is about quantitative problems. That is, the answers to our questions are not simple yes/no or red/green/blue answers. They involve continuously varying quantities. But computers can only store a finite number of values. So we have to use an approximation to real numbers called floating point numbers (described in Chapter 2).
Numerical software is often used for large-scale problems. That is, the number of quantities that need to be computed is often very large. This happens because we want to understand what is happening with a continuously varying quantity, such as stress in a structural column, or flow in a river. These are quantities that vary continuously with position, and perhaps with time as well. Since we cannot find or store the values at all infinitely many points in a column or a river, we must use some sort of discretization. Discretizations are approximations to the true system, which are usually more accurate when more refined. Refining a discretization means that we create more quantities to compute.
- Type
- Chapter
- Information
- Writing Scientific SoftwareA Guide to Good Style, pp. 3 - 7Publisher: Cambridge University PressPrint publication year: 2006