Introductory Computational Physics
Andi Klein and Alexander Godunov
Cambridge University Press 2006
ISBN 0-521-82862-7

Preface

1. Introduction
1.1 The need for computers in science
1.2 What is computational physics?
1.3 Linux and C++

2. Basics
2.1 Basic computer hardware
2.2 Software
2.3 How does it work?

3. Short introduction to Linux
3.1 Getting started and logging in
3.2 Getting help
3.3 The filesystem, or where is everything?
3.4 Moving around in your system
3.5 Listing your directory
3.6 Creating your own files
3.7 Doing some work
3.8 Good programming
3.9 Machine representation and precision
3.10 Exercises

4. Interpolation
4.1 Lagrange interpolation
4.2 Neville's algorithm
4.3 Linear interpolation
4.4 Polynomial interpolation
4.5 Cubic spline
4.6 Rational function interpolation
4.7 Exercises

5. Taking derivatives
5.1 General discussion of derivatives with computers
5.2 Forward difference
5.3 Central difference and higher order methods
5.4 Higher order derivatives
5.5 Exercises

6. Numerical integration
6.1 Introduction to numerical integration
6.2 The simplest integration methods
6.3 More advanced integration
6.4 Exercises

7. Solution of nonlinear equations
7.1 Bisection method
7.2 Newton's method
7.3 Method of secants
7.4 Brute force method
7.5 Exercises

8. Differential equations
8.1 Introduction
8.2 A brush up on differential equations
8.3 Introduction to the simple and modified Euler methods
8.4 The simple Euler method
8.5 The modified Euler method
8.6 Runge-Kutta method
8.7 Adaptive step size Runge-Kutta
8.8 The damped oscillator
8.9 Exercises

9. Matrices
9.1 Linear systems of equations
9.2 Gaussian elimination
9.3 Standard libraries
9.4 Eigenvalue problem
9.5 Exercises

10. Random processes and Monte Carlo simulation
10.1 Random processes in science
10.2 Random number generators
10.3 The random walk
10.4 Random numbers for nonuniform distributions
10.5 Monte Carlo integration
10.6 Exercises

References

Appendix A The ROOT system
A.I What is ROOT
A.2 The ROOT basics
A.3 The first steps
A.4 Lab ROOT
A.5 Exercises

Appendix B Free scientific libraries
B.I Lapack
B.2 Slatec
B.3 Where to obtain ROOT

Appendix C FORTRAN and C++
C.I Calling FORTRAN from C++

Appendix D Program listings
D.I Simple Euler
D.2 Runge-Kutta program
D.3 Random walk in two dimensions
D.4 Acceptance and rejection method with sin (x) distribution

Index