Part V: Numerical Methods in Fortran

"The purpose of computing is insight, not numbers." — Richard Hamming

This is the part Fortran was born for. The language was designed, in 1957, to let scientists express numerical computation naturally, and seventy years of use have made it the default tongue of computational science. In Part V we finally do the thing the whole language points toward: solve real mathematical problems on real data — linear systems, integrals, differential equations — with methods that are used in production and code that is fast enough to matter.

We begin where every serious numerical programmer must, with the uncomfortable truth that computer arithmetic is not the arithmetic you learned in school: floating-point numbers are finite, 0.1 + 0.2 is not quite 0.3, and understanding why is the difference between a result you can trust and one you cannot. From there we build up through linear algebra (and the LAPACK libraries that no one should reimplement), numerical differentiation and integration, ordinary differential equations, and finally partial differential equations — where the running project's heat solver acquires its real numerical core. By the end of Part V, the simulation you have been assembling since Chapter 2 actually simulates something.

What You Will Learn

Chapter 20 — Floating-Point Arithmetic. IEEE 754, precision and kinds, machine epsilon, catastrophic cancellation, and numerical stability — why every scientific result rests on this.

Chapter 21 — Linear Algebra. Matrix operations, solving $A\mathbf{x}=\mathbf{b}$, and using LAPACK and BLAS — the Fortran libraries at the foundation of all numerical computing.

Chapter 22 — Integration and Differentiation. Finite differences, quadrature rules, and how to know your answer is converging.

Chapter 23 — Ordinary Differential Equations. Euler, Runge-Kutta, adaptive stepping, systems, and the method of lines that bridges to PDEs.

Chapter 24 — Partial Differential Equations. Finite-difference discretization, explicit and implicit stepping, the CFL stability condition, and boundary conditions — the heart of the heat solver.

How This Part Fits

Part V leans hardest on arrays (Chapter 5) and procedures (Chapter 6), and it puts to work the LAPACK you met in Chapter 16. Chapter 24 is a milestone: the project becomes a working simulation. The performance (Part VII) and parallel (Part VIII) parts then take that working simulation and make it fast.

Time Investment

Chapter Title Difficulty Est. hours
20 Floating-Point Arithmetic Intermediate 5
21 Linear Algebra and LAPACK Advanced 6
22 Integration and Differentiation Intermediate 5
23 Ordinary Differential Equations Intermediate 5
24 Partial Differential Equations Advanced 6
Part V total ~27 hours

Begin with Chapter 20, and the reason 0.1 + 0.2 is not 0.3 — the fact every computational scientist must make peace with.

Chapters in This Part