I Scientific Programming: an Introduction for Physicists |
|
1 | (162) |
|
|
3 | (14) |
|
1.1 Fixed-Point Representation |
|
|
4 | (1) |
|
1.2 Floating-Point Representation |
|
|
5 | (5) |
|
1.3 Floating-Point Arithmetic |
|
|
10 | (5) |
|
|
15 | (2) |
|
|
17 | (66) |
|
|
18 | (5) |
|
2.2 Operators and Control Statements |
|
|
23 | (6) |
|
|
29 | (5) |
|
|
34 | (4) |
|
|
38 | (2) |
|
|
40 | (9) |
|
2.7 Procedures: Functions and Subroutines |
|
|
49 | (15) |
|
|
64 | (9) |
|
2.9 Command-Line Arguments |
|
|
73 | (5) |
|
|
78 | (3) |
|
|
81 | (2) |
|
|
83 | (80) |
|
3.1 Preliminaries: Tabs, Spaces, Indents, and Cases |
|
|
85 | (3) |
|
3.2 Variables, Numbers, and Precision |
|
|
88 | (5) |
|
3.3 Operators and Conditionals |
|
|
93 | (7) |
|
|
100 | (6) |
|
|
106 | (12) |
|
3.6 Loops and Flow Control |
|
|
118 | (8) |
|
|
126 | (4) |
|
|
130 | (6) |
|
|
136 | (19) |
|
3.10 Command-Line Arguments |
|
|
155 | (3) |
|
|
158 | (4) |
|
|
162 | (1) |
II Numerical Methods for Quantum Physics |
|
163 | (194) |
|
|
165 | (16) |
|
|
165 | (2) |
|
|
167 | (1) |
|
|
168 | (3) |
|
4.4 Newton-Raphson Method |
|
|
171 | (2) |
|
|
173 | (3) |
|
4.6 False Position Method |
|
|
176 | (2) |
|
|
178 | (3) |
|
5 Differentiation and Initial Value Problems |
|
|
181 | (48) |
|
5.1 Method of Finite Differences |
|
|
181 | (5) |
|
|
186 | (10) |
|
|
196 | (1) |
|
|
197 | (5) |
|
|
202 | (3) |
|
|
205 | (4) |
|
5.7 Explicit Runge-Kutta Methods |
|
|
209 | (4) |
|
5.8 Implicit Runge-Kutta Methods |
|
|
213 | (5) |
|
5.9 RK4: The Fourth-Order Runge Kutta Method |
|
|
218 | (6) |
|
|
224 | (5) |
|
|
229 | (36) |
|
6.1 Trapezoidal Approximation |
|
|
229 | (7) |
|
|
236 | (2) |
|
|
238 | (6) |
|
|
244 | (2) |
|
6.5 Gauss-Legendre Quadrature |
|
|
246 | (6) |
|
6.6 Other Common Gaussian Quadratures |
|
|
252 | (2) |
|
|
254 | (5) |
|
|
259 | (6) |
|
|
265 | (44) |
|
7.1 Eigenvalues and Eigenvectors |
|
|
265 | (4) |
|
|
269 | (9) |
|
7.3 Krylov Subspace Techniques |
|
|
278 | (6) |
|
7.4 Stability and the Condition Number |
|
|
284 | (2) |
|
7.5 Fortran: Using LAPACK |
|
|
286 | (12) |
|
|
298 | (6) |
|
|
304 | (5) |
|
|
309 | (48) |
|
8.1 Approximating the Fourier Transform |
|
|
309 | (7) |
|
8.2 Fourier Differentiation |
|
|
316 | (3) |
|
8.3 The Discrete Fourier Transform |
|
|
319 | (15) |
|
8.4 Errors: Aliasing and Leaking |
|
|
334 | (3) |
|
8.5 The Fast Fourier Transform |
|
|
337 | (11) |
|
|
348 | (3) |
|
|
351 | (3) |
|
|
354 | (3) |
III Solving the Schrodinger Equation |
|
357 | (130) |
|
|
359 | (28) |
|
9.1 The Schrodinger Equation |
|
|
359 | (1) |
|
9.2 The Time-Independent Schrodinger Equation |
|
|
360 | (1) |
|
9.3 Boundary Value Problems |
|
|
361 | (7) |
|
9.4 Shooting method for the Schr8dinger Equation |
|
|
368 | (9) |
|
9.5 The Numerov-Cooley Shooting Method |
|
|
377 | (3) |
|
9.6 The Direct Matrix Method |
|
|
380 | (3) |
|
|
383 | (4) |
|
10 Higher Dimensions and Basic Techniques |
|
|
387 | (28) |
|
10.1 The Two-Dimensional Direct Matrix Method |
|
|
387 | (10) |
|
10.2 Basis Diagonalization |
|
|
397 | (5) |
|
10.3 The Variational Principle |
|
|
402 | (5) |
|
|
407 | (8) |
|
|
415 | (24) |
|
11.1 The Unitary Propagation Operator |
|
|
416 | (2) |
|
|
418 | (2) |
|
|
420 | (2) |
|
11.4 Direct Time Discretisation |
|
|
422 | (3) |
|
11.5 The Chebyshev Expansion |
|
|
425 | (3) |
|
11.6 The Nyquist Condition |
|
|
428 | (7) |
|
|
435 | (4) |
|
|
439 | (20) |
|
12.1 Spherical Coordinates |
|
|
439 | (4) |
|
|
443 | (2) |
|
12.3 The Coulomb Potential |
|
|
445 | (2) |
|
|
447 | (8) |
|
|
455 | (4) |
|
13 Multi-electron Systems |
|
|
459 | (28) |
|
13.1 The Multi-electron Schrodinger Equation |
|
|
459 | (1) |
|
13.2 The Hartree Approximation |
|
|
460 | (5) |
|
13.3 The Central Field Approximation |
|
|
465 | (4) |
|
|
469 | (8) |
|
13.5 The Hartree-Fock Method |
|
|
477 | (3) |
|
13.6 Quantum Dots (and Atoms in Flatland) |
|
|
480 | (3) |
|
|
483 | (4) |
Index |
|
487 | |