1 option
Computational Physics : Problem Solving with Python.
- Format:
- Book
- Author/Creator:
- Landau, Rubin H.
- Language:
- English
- Subjects (All):
- Physics--Problems, exercises, etc. -- Data processing.
- Physics -- Problems, exercises, etc. -- Data processing.
- Physics--Computer simulation.
- Physics -- Computer simulation.
- Physical Description:
- 1 online resource (647 pages)
- Edition:
- 3rd ed.
- Place of Publication:
- Berlin : John Wiley & Sons, Incorporated, 2015.
- Contents:
- 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.
- Notes:
- Description based on publisher supplied metadata and other sources.
- Other Format:
- Print version: Landau, Rubin H. Computational Physics
- ISBN:
- 9783527684694
- OCLC:
- 927509579
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.