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
|