Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Table of Contents
Related Titles
Title
Authors
Copyright
Dedication
Preface
Acknowledgments
1: Introduction
1.1 Computational Physics and Computational Science
1.2 This Book’s Subjects
1.3 This Book’s Problems
1.4 This Book’s Language: The Python Ecosystem
1.5 Python’s Visualization Tools
1.6 Plotting Exercises
1.7 Python’s Algebraic Tools
2: Computing Software Basics
2.1 Making Computers Obey
2.2 Programming Warmup
2.3 Python I/O
2.4 Computer Number Representations (Theory)
2.5 Problem: Summing Series
3: Errors and Uncertainties in Computations
3.1 Types of Errors (Theory)
3.2 Error in Bessel Functions (Problem)
3.3 Experimental Error Investigation
4: Monte Carlo: Randomness, Walks, and Decays
4.1 Deterministic Randomness
4.2 Random Sequences (Theory)
4.3 Random Walks (Problem)
4.4 Extension: Protein Folding and Self-Avoiding Random Walks
4.5 Spontaneous Decay (Problem)
4.6 Decay Implementation and Visualization
5: Differentiation and Integration
5.1 Differentiation
5.2 Forward Difference (Algorithm)
5.3 Central Difference (Algorithm)
5.4 Extrapolated Difference (Algorithm)
5.5 Error Assessment
5.6 Second Derivatives (Problem)
5.7 Integration
5.8 Quadrature as Box Counting (Math)
5.9 Algorithm: Trapezoid Rule
5.10 Algorithm: Simpson’s Rule
5.11 Integration Error (Assessment)
5.12 Algorithm: Gaussian Quadrature
5.13 Higher Order Rules (Algorithm)
5.14 Monte Carlo Integration by Stone Throwing (Problem)
5.15 Mean Value Integration (Theory and Math)
5.16 Integration Exercises
5.17 Multidimensional Monte Carlo Integration (Problem)
5.18 Integrating Rapidly Varying Functions (Problem)
5.19 Variance Reduction (Method)
5.20 Importance Sampling (Method)
5.21 von Neumann Rejection (Method)
5.22 Nonuniform Assessment
6: Matrix Computing
6.1 Problem 3: N–D Newton–Raphson; Two Masses on a String
6.2 Why Matrix Computing?
6.3 Classes of Matrix Problems (Math)
6.4 Python Lists as Arrays
6.5 Numerical Python (NumPy) Arrays
6.6 Exercise: Testing Matrix Programs
7: Trial-and-Error Searching and Data Fitting
7.1 Problem 1: A Search for Quantum States in a Box
7.2 Algorithm: Trial-and-Error Roots via Bisection
7.3 Improved Algorithm: Newton–Raphson Searching
7.4 Problem 2: Temperature Dependence of Magnetization
7.5 Problem 3: Fitting An Experimental Spectrum
7.6 Problem 4: Fitting Exponential Decay
7.7 Least-Squares Fitting (Theory)
7.8 Exercises: Fitting Exponential Decay, Heat Flow and Hubble’s Law
8: Solving Differential Equations: Nonlinear Oscillations
8.1 Free Nonlinear Oscillations
8.2 Nonlinear Oscillators (Models)
8.3 Types of Differential Equations (Math)
8.4 Dynamic Form for ODEs (Theory)
8.5 ODE Algorithms
8.6 Runge–Kutta Rule
8.7 Adams–Bashforth–Moulton Predictor–Corrector Rule
8.8 Solution for Nonlinear Oscillations (Assessment)
8.9 Extensions: Nonlinear Resonances, Beats, Friction
8.10 Extension: Time-Dependent Forces
9: ODE Applications: Eigenvalues, Scattering, and Projectiles
9.1 Problem: Quantum Eigenvalues in Arbitrary Potential
9.2 Algorithms: Eigenvalues via ODE Solver + Search
9.3 Explorations
9.4 Problem: Classical Chaotic Scattering
9.5 Problem: Balls Falling Out of the Sky
9.6 Theory: Projectile Motion with Drag
9.7 Exercises: 2- and 3-Body Planet Orbits and Chaotic Weather
10: High-Performance Hardware and Parallel Computers
10.1 High-Performance Computers
10.2 Memory Hierarchy
10.3 The Central Processing Unit
10.4 CPU Design: Reduced Instruction Set Processors
10.5 CPU Design: Multiple-Core Processors
10.6 CPU Design: Vector Processors
10.7 Introduction to Parallel Computing
10.8 Parallel Semantics (Theory)
10.9 Distributed Memory Programming
10.10 Parallel Performance
10.11 Parallelization Strategies
10.12 Practical Aspects of MIMD Message Passing
10.13 Scalability
10.14 Data Parallelism and Domain Decomposition
10.15 Example: The IBM Blue Gene Supercomputers
10.16 Exascale Computing via Multinode-Multicore GPUs
11: Applied HPC: Optimization, Tuning, and GPU Programming
11.1 General Program Optimization
11.2 Optimized Matrix Programming with NumPy
11.3 Empirical Performance of Hardware
11.4 Programming for the Data Cache (Method)
11.5 Graphical Processing Units for High Performance Computing
11.6 Practical Tips for Multicore and GPU Programming
12: Fourier Analysis: Signals and Filters
12.1 Fourier Analysis of Nonlinear Oscillations
12.2 Fourier Series (Math)
12.3 Exercise: Summation of Fourier Series
12.4 Fourier Transforms (Theory)
12.5 The Discrete Fourier Transform
12.6 Filtering Noisy Signals
12.7 Noise Reduction via Autocorrelation (Theory)
12.8 Filtering with Transforms (Theory)
12.9 The Fast Fourier Transform Algorithm
12.10 FFT Implementation
12.11 FFT Assessment
13: Wavelet and Principal Components Analyses: Nonstationary Signals and Data Compression
13.1 Problem: Spectral Analysis of Nonstationary Signals
13.2 Wavelet Basics
13.3 Wave Packets and Uncertainty Principle (Theory)
13.4 Short-Time Fourier Transforms (Math)
13.5 The Wavelet Transform
13.6 Discrete Wavelet Transforms, Multiresolution Analysis
13.7 Principal Components Analysis
14: Nonlinear Population Dynamics
14.1 Bug Population Dynamics
14.2 The Logistic Map (Model)
14.3 Properties of Nonlinear Maps (Theory and Exercise)
14.4 Mapping Implementation
14.5 Bifurcation Diagram (Assessment)
14.6 Logistic Map Random Numbers (Exploration)
14.7 Other Maps (Exploration)
14.8 Signals of Chaos: Lyapunov Coefficient and Shannon Entropy
14.9 Coupled Predator–Prey Models
14.10 Lotka–Volterra Model
14.11 Predator–Prey Chaos
15: Continuous Nonlinear Dynamics
15.1 Chaotic Pendulum
15.2 Visualization: Phase-Space Orbits
15.3 Exploration: Bifurcations of Chaotic Pendulums
15.4 Alternate Problem: The Double Pendulum
15.5 Assessment: Fourier/Wavelet Analysis of Chaos
15.6 Exploration: Alternate Phase-Space Plots
15.7 Further Explorations
16: Fractals and Statistical Growth Models
16.1 Fractional Dimension (Math)
16.2 The Sierpiński Gasket (Problem 1)
16.3 Growing Plants (Problem 2)
16.4 Ballistic Deposition (Problem 3)
16.5 Length of British Coastline (Problem 4)
16.6 Correlated Growth, Forests, Films (Problem 5)
16.7 Globular Cluster (Problem 6)
16.8 Fractals in Bifurcation Plot (Problem 7)
16.9 Fractals from Cellular Automata
16.10 Perlin Noise Adds Realism
16.11 Exercises
17: Thermodynamic Simulations and Feynman Path Integrals
17.1 Magnets via Metropolis Algorithm
17.2 An Ising Chain (Model)
17.3 Statistical Mechanics (Theory)
17.4 Metropolis Algorithm
17.5 Magnets via Wang–Landau Sampling
17.6 Wang–Landau Algorithm
17.7 Feynman Path Integral Quantum Mechanics
17.8 Feynman’s Space–Time Propagation (Theory)
17.9 Exploration: Quantum Bouncer’s Paths
18: Molecular Dynamics Simulations
18.1 Molecular Dynamics (Theory)
18.2 Verlet and Velocity–Verlet Algorithms
18.3 1D Implementation and Exercise
18.4 Analysis
19: PDE Review and Electrostatics via Finite Differences and Electrostatics via Finite Differences
19.1 PDE Generalities
19.2 Electrostatic Potentials
19.3 Fourier Series Solution of a PDE
19.4 Finite-Difference Algorithm
19.5 Assessment via Surface Plot
19.6 Alternate Capacitor Problems
19.7 Implementation and Assessment
19.8 Electric Field Visualization (Exploration)
19.9 Review Exercise
20: Heat Flow via Time Stepping
20.1 Heat Flow via Time-Stepping (Leapfrog)
20.2 The Parabolic Heat Equation (Theory)
20.3 Assessment and Visualization
20.4 Improved Heat Flow: Crank–Nicolson Method
21: Wave Equations I: Strings and Membranes
21.1 A Vibrating String
21.2 The Hyperbolic Wave Equation (Theory)
21.3 Strings with Friction (Extension)
21.4 Strings with Variable Tension and Density
21.5 Vibrating Membrane (2D Waves)
21.6 Analytical Solution
21.7 Numerical Solution for 2D Waves
22: Wave Equations II: Quantum Packets and Electromagnetic
22.1 Quantum Wave Packets
22.2 Time-Dependent Schrödinger Equation (Theory)
22.3 Algorithm for the 2D Schrödinger Equation
22.4 Wave Packet–Wave Packet Scattering
22.5 E&M Waves via Finite-Difference Time Domain
22.6 Maxwell’s Equations
22.7 FDTD Algorithm
22.8 Application: Wave Plates
22.9 Algorithm
22.10 FDTD Exercise and Assessment
23: Electrostatics via Finite Elements
23.1 Finite-Element Method
23.2 Electric Field from Charge Density (Problem)
23.3 Analytic Solution
23.4 Finite-Element (Not Difference) Methods, 1D
23.5 1D FEM Implementation and Exercises
23.6 Extension to 2D Finite Elements
24: Shocks Waves and Solitons
24.1 Shocks and Solitons in Shallow Water
24.2 Theory: Continuity and Advection Equations
24.3 Theory: Shock Waves via Burgers’Equation
24.4 Including Dispersion
24.5 Shallow-Water Solitons: The KdeV Equation
24.6 Solitons on Pendulum Chain
25: Fluid Dynamics
25.1 River Hydrodynamics
25.2 Navier–Stokes Equation (Theory)
25.3 2D Flow over a Beam
25.4 Theory: Vorticity Form of Navier–Stokes Equation
26: Integral Equations of Quantum Mechanics
26.1 Bound States of Nonlocal Potentials
26.2 Momentum–Space Schrödinger Equation (Theory)
26.3 Scattering States of Nonlocal Potentials
26.4 Lippmann–Schwinger Equation (Theory)
Appendix A: Codes, Applets, and Animations
Bibliography
Index
End User License Agreement
← Prev
Back
Next →
← Prev
Back
Next →