Edition |
3rd ed |
Descript |
1 online resource (647 pages) |
|
text txt rdacontent |
|
computer c rdamedia |
|
online resource cr rdacarrier |
Note |
Cover -- Copyright page -- Dedication -- Contents -- Preface -- 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.4.1 Python Packages (Libraries) -- 1.4.2 This Book's Packages -- 1.4.3 The Easy Way: Python Distributions (Package Collections) -- 1.5 Python's Visualization Tools -- 1.5.1 Visual (VPython)'s 2D Plots -- 1.5.2 VPython's Animations -- 1.5.3 Matplotlib's 2D Plots -- 1.5.4 Matplotlib's 3D Surface Plots -- 1.5.5 Matplotlib's Animations -- 1.5.6 Mayavi's Visualizations Beyond Plotting -- 1.6 Plotting Exercises -- 1.7 Python's Algebraic Tools -- 2 Computing Software Basics -- 2.1 Making Computers Obey -- 2.2 Programming Warmup -- 2.2.1 Structured and Reproducible Program Design -- 2.2.2 Shells, Editors, and Execution -- 2.3 Python I/O -- 2.4 Computer Number Representations (Theory) -- 2.4.1 IEEE Floating-Point Numbers -- 2.4.2 Python and the IEEE 754 Standard -- 2.4.3 Over and Underflow Exercises -- 2.4.4 Machine Precision (Model) -- 2.4.5 Experiment: Your Machine's Precision -- 2.5 Problem: Summing Series -- 2.5.1 Numerical Summation (Method) -- 2.5.2 Implementation and Assessment -- 3 Errors and Uncertainties in Computations -- 3.1 Types of Errors (Theory) -- 3.1.1 Model for Disaster: Subtractive Cancelation -- 3.1.2 Subtractive Cancelation Exercises -- 3.1.3 Round-off Errors -- 3.1.4 Round-off Error Accumulation -- 3.2 Error in Bessel Functions (Problem) -- 3.2.1 Numerical Recursion (Method) -- 3.2.2 Implementation and Assessment: Recursion Relations -- 3.3 Experimental Error Investigation -- 3.3.1 Error Assessment -- 4 Monte Carlo: Randomness, Walks, and Decays -- 4.1 Deterministic Randomness -- 4.2 Random Sequences (Theory) -- 4.2.1 Random-Number Generation (Algorithm) |
|
4.2.2 Implementation: Random Sequences -- 4.2.3 Assessing Randomness and Uniformity -- 4.3 Random Walks (Problem) -- 4.3.1 Random-Walk Simulation -- 4.3.2 Implementation: Random Walk -- 4.4 Extension: Protein Folding and Self-Avoiding Random Walks -- 4.5 Spontaneous Decay (Problem) -- 4.5.1 Discrete Decay (Model) -- 4.5.2 Continuous Decay (Model) -- 4.5.3 Decay Simulation with Geiger Counter Sound -- 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.6.1 Second-Derivative Assessment -- 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.12.1 Mapping Integration Points -- 5.12.2 Gaussian Points Derivation -- 5.12.3 Integration Error Assessment -- 5.13 Higher Order Rules (Algorithm) -- 5.14 Monte Carlo Integration by Stone Throwing (Problem) -- 5.14.1 Stone Throwing Implementation -- 5.15 Mean Value Integration (Theory and Math) -- 5.16 Integration Exercises -- 5.17 Multidimensional Monte Carlo Integration (Problem) -- 5.17.1 Multi Dimension Integration Error Assessment -- 5.17.2 Implementation: 10D Monte Carlo Integration -- 5.18 Integrating Rapidly Varying Functions (Problem) -- 5.19 Variance Reduction (Method) -- 5.20 Importance Sampling (Method) -- 5.21 von Neumann Rejection (Method) -- 5.21.1 Simple Random Gaussian Distribution -- 5.22 Nonuniform Assessment -- 5.22.1 Implementation -- 6 Matrix Computing -- 6.1 Problem 3: N-D Newton-Raphson -- Two Masses on a String -- 6.1.1 Theory: Statics -- 6.1.2 Algorithm: Multidimensional Searching -- 6.2 Why Matrix Computing? |
|
6.3 Classes of Matrix Problems (Math) -- 6.3.1 Practical Matrix Computing -- 6.4 Python Lists as Arrays -- 6.5 Numerical Python (NumPy) Arrays -- 6.5.1 NumPy's linalg Package -- 6.6 Exercise: Testing Matrix Programs -- 6.6.1 Matrix Solution of the String Problem -- 6.6.2 Explorations -- 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.2.1 Implementation: Bisection Algorithm -- 7.3 Improved Algorithm: Newton-Raphson Searching -- 7.3.1 Newton-Raphson with Backtracking -- 7.3.2 Implementation: Newton-Raphson Algorithm -- 7.4 Problem 2: Temperature Dependence of Magnetization -- 7.4.1 Searching Exercise -- 7.5 Problem 3: Fitting An Experimental Spectrum -- 7.5.1 Lagrange Implementation, Assessment -- 7.5.2 Cubic Spline Interpolation (Method) -- 7.6 Problem 4: Fitting Exponential Decay -- 7.7 Least-Squares Fitting (Theory) -- 7.7.1 Least-Squares Fitting: Theory and Implementation -- 7.8 Exercises: Fitting Exponential Decay, Heat Flow and Hubble's Law -- 7.8.1 Linear Quadratic Fit -- 7.8.2 Problem 5: Nonlinear Fit to a Breit-Wigner -- 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.5.1 Euler's Rule -- 8.6 Runge-Kutta Rule -- 8.7 Adams-Bashforth-Moulton Predictor-Corrector Rule -- 8.7.1 Assessment: rk2 vs. rk4 vs. rk45 -- 8.8 Solution for Nonlinear Oscillations (Assessment) -- 8.8.1 Precision Assessment: Energy Conservation -- 8.9 Extensions: Nonlinear Resonances, Beats, Friction -- 8.9.1 Friction (Model) -- 8.9.2 Resonances and Beats: Model, Implementation -- 8.10 Extension: Time-Dependent Forces -- 9 ODE Applications: Eigenvalues, Scattering, and Projectiles |
|
9.1 Problem: Quantum Eigenvalues in Arbitrary Potential -- 9.1.1 Model: Nucleon in a Box -- 9.2 Algorithms: Eigenvalues via ODE Solver + Search -- 9.2.1 Numerov Algorithm for Schrödinger ODE -- 9.2.2 Implementation: Eigenvalues via ODE Solver + Bisection Algorithm -- 9.3 Explorations -- 9.4 Problem: Classical Chaotic Scattering -- 9.4.1 Model and Theory -- 9.4.2 Implementation -- 9.4.3 Assessment -- 9.5 Problem: Balls Falling Out of the Sky -- 9.6 Theory: Projectile Motion with Drag -- 9.6.1 Simultaneous Second-Order ODEs -- 9.6.2 Assessment -- 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.10.1 Communication Overhead -- 10.11 Parallelization Strategies -- 10.12 Practical Aspects of MIMD Message Passing -- 10.12.1 High-Level View of Message Passing -- 10.12.2 Message Passing Example and Exercise -- 10.13 Scalability -- 10.13.1 Scalability Exercises -- 10.14 Data Parallelism and Domain Decomposition -- 10.14.1 Domain Decomposition Exercises -- 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.1.1 Programming for Virtual Memory (Method) -- 11.1.2 Optimization Exercises -- 11.2 Optimized Matrix Programming with NumPy -- 11.2.1 NumPy Optimization Exercises -- 11.3 Empirical Performance of Hardware -- 11.3.1 Racing Python vs. Fortran/C |
|
11.4 Programming for the Data Cache (Method) -- 11.4.1 Exercise 1: Cache Misses -- 11.4.2 Exercise 2: Cache Flow -- 11.4.3 Exercise 3: Large-Matrix Multiplication -- 11.5 Graphical Processing Units for High Performance Computing -- 11.5.1 The GPU Card -- 11.6 Practical Tips for Multicore and GPU Programming -- 11.6.1 CUDA Memory Usage -- 11.6.2 CUDA Programming -- 12 Fourier Analysis: Signals and Filters -- 12.1 Fourier Analysis of Nonlinear Oscillations -- 12.2 Fourier Series (Math) -- 12.2.1 Examples: Sawtooth and Half-Wave Functions -- 12.3 Exercise: Summation of Fourier Series -- 12.4 Fourier Transforms (Theory) -- 12.5 The Discrete Fourier Transform -- 12.5.1 Aliasing (Assessment) -- 12.5.2 Fourier Series DFT (Example) -- 12.5.3 Assessments -- 12.5.4 Nonperiodic Function DFT (Exploration) -- 12.6 Filtering Noisy Signals -- 12.7 Noise Reduction via Autocorrelation (Theory) -- 12.7.1 Autocorrelation Function Exercises -- 12.8 Filtering with Transforms (Theory) -- 12.8.1 Digital Filters: Windowed Sinc Filters (Exploration) -- 12.9 The Fast Fourier Transform Algorithm -- 12.9.1 Bit Reversal -- 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.3.1 Wave Packet Assessment -- 13.4 Short-Time Fourier Transforms (Math) -- 13.5 The Wavelet Transform -- 13.5.1 Generating Wavelet Basis Functions -- 13.5.2 Continuous Wavelet Transform Implementation -- 13.6 Discrete Wavelet Transforms, Multiresolution Analysis -- 13.6.1 Pyramid Scheme Implementation -- 13.6.2 Daubechies Wavelets via Filtering -- 13.6.3 DWT Implementation and Exercise -- 13.7 Principal Components Analysis -- 13.7.1 Demonstration of Principal Component Analysis |
|
13.7.2 PCA Exercises |
|
Description based on publisher supplied metadata and other sources |
|
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2020. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries |
Link |
Print version: Landau, Rubin H. Computational Physics : Problem Solving with Python
Berlin : John Wiley & Sons, Incorporated,c2015 9783527413157
|
Subject |
Physics -- Problems, exercises, etc. -- Data processing.;Physics -- Computer simulation
|
|
Electronic books
|
Alt Author |
Bordeianu, Cristian C
|
|
Páez, Manuel J
|
|
Páez, Manuel J
|
|