跳到主要內容

Computational Physics Using C

$4031可訂購

也可以到門市自行翻閱這本書

店內位置

下單選門市自取可使用文化幣
有團購需求請加官方LINE詢問

LINE US!
直接購買
作者
John W. Fattaruso
出版社
John Wiley
ISBN
9781394318537
出版日期
2026/04

簡介

Explains C programming for solving computational physics problems Computational physics is transforming how scientists solve complex physical problems. Computational Physics Using C offers a unified approach to mastering both the numerical and programming skills essential for modern physics research. Designed to guide readers from fundamental concepts to advanced computational techniques, this textbook empowers students to effectively translate physical problems into numerical models and implement them using C. Each chapter builds progressively on prior material, beginning with the precision limits of numerical computation and advancing to nonlinear systems, Monte Carlo simulations, and the numerical integration of differential equations. The book contains detailed discussions of C language structures, pointers, and code optimization strategies, as well as programming exercises and downloadable code examples. Providing a clear roadmap for efficiently solving a wide range of real-world physics problems, Computational Physics Using C: Presents a systematic progression from fundamental numerical mathematics to advanced computational methods Integrates C programming instruction with core physics applications for seamless skill development Explains precision limits and numerical stability to ensure meaningful computational outcomes Demonstrates the use of gnuplot for effective visualization of numerical data Encourages algorithmic thinking to optimize code performance and hardware efficiency Supporting flexible course design through modular chapter organization, Computational Physics Using C: Efficient Programming with Ease is ideal for upper-level undergraduate and first-year graduate students in physics, engineering, and materials science. It is also a valuable reference for professionals engaged in computational research and analysis.

目錄

Preface ix About the Companion Website xiii 1 Introduction 1 1.1 What Is Computational Physics? 1 1.2 Modularizing and Reusing Code 4 1.3 Introduction to Computational Efficiency 7 1.4 Exercises 13 2 Precision Limits of Numerical Computation and Algorithms 15 2.1 Computer Numerical Representation 16 2.2 Roundoff Errors 22 2.3 Loss of Precision Errors 26 2.4 Taylor's Theorem 27 2.5 Truncation Errors 27 2.6 Introduction to Numerical C Programming 32 2.7 Exercises 34 3 C Programming Details 39 3.1 Structures and Pointers 39 3.2 Modularizing Code and Encapsulating Data in C 62 3.3 Common Coding Traps 67 3.4 Exercises 74 4 Visualization of Numerical Models 77 4.1 Coding: Function Stepper Tool 78 4.2 Application: Damped Harmonic Oscillator 82 4.3 Coding: The gnuplot Plotting Tool 85 4.4 Application: The Helmholtz Coil 89 4.5 Application: The Maxwell–Boltzmann Distribution 93 4.6 Application: Rainbows 94 4.7 Application: Diffraction Patterns 98 4.8 Application: Collisions 104 4.9 Application: Quantum Wave Packets 111 4.10 Application: Quantum Scattering 117 4.11 Application: Field Vectors 122 4.12 Application: The Thomson Problem 125 4.13 Coding: Generating Animated Graphics 126 4.14 Exercises 132 5 Roots of Nonlinear Functions 137 5.1 Algorithms: Root Finding 137 5.2 Coding: The Root Solver Tool 143 5.3 Application: The Catenary 144 5.4 Application: Kirchoff's Voltage Law 146 5.5 Application: Mechanics Problems 147 5.6 Application: Kepler's Equation 148 5.7 Application: Gravitational Lagrange Points 153 5.8 Application: Planck's Radiation Law 156 5.9 Application: Radioactive Decay 157 5.10 Coding: Finding Multiple Roots with Stepping 159 5.11 Application: Quantum Energy Levels of Bound Particles 161 5.12 Application: Ideal Single-slit Diffraction 166 5.13 Exercises 167 6 Systems of Linear Equations 169 6.1 Algorithms: Gaussian Elimination 170 6.2 Algorithms: Pivoting Strategies 171 6.3 Algorithms: The Jacobi Eigenvalue Method 172 6.4 Coding: The Systems of Linear Equations Tool 173 6.5 Application: Modes of Coupled Oscillators 176 6.6 Application: The Laplace Equation 185 6.7 Application: Kirchoff's Current Law 193 6.8 Application: Determinate Structures 195 6.9 Coding: Animated Modes of Coupled Oscillators 199 6.10 Exercises 200 7 Systems of Nonlinear Equations 203 7.1 Algorithms: Multidimensional Newton–Raphson Method 204 7.2 Coding: The Systems of Nonlinear Equations Tool 205 7.3 Application: Statics Problems 206 7.4 Application: Nonlinear Circuits 208 7.5 Application: Hyperbolic Radio Navigation 210 7.6 Algorithms: Numerical Estimates of the Jacobian Partial Derivatives 212 7.7 Application: The Covalent Bond 213 7.8 Exercises 219 8 Monte Carlo Simulation 221 8.1 Algorithms: Applications of Pseudorandom Numbers 221 8.2 Algorithms: Linear Congruential Method 223 8.3 Coding: The Pseudorandom Number Generator Tool 225 8.4 Application: Monte Carlo Simulation of Π 226 8.5 Coding: The Linux /dev/random Device 227 8.6 Application: Random Walks 228 8.7 Application: Radioactive Decay Revisited 232 8.8 Application: Classical Scattering 235 8.9 Application: Corner Pocket Shots 237 8.10 Application: Olbers' Paradox 240 8.11 Application: Ideal Gas Simulation 243 8.12 Application: Integration of Gauss' Law 247 8.13 Exercises 249 9 Interpolation of Sparse Data Points 251 9.1 Algorithms: Interpolation Methods 253 9.2 Coding: The Data File Reading Tool 258 9.3 Coding: The Interpolation Tools 260 9.4 Application: Estimating an Orbital Period 262 9.5 Application: Static Electric Potential 264 9.6 Application: The Light Spectrum of a Prism 267 9.7 Algorithms: Inverse Interpolation 268 9.8 Application: Extraction of Local Gravitational Acceleration 268 9.9 Exercises 270 10 Numerical Integration 273 10.1 Algorithms: Integration Methods 273 10.2 Coding: The Integration Tool 277 10.3 Application: Gaussian Distribution 279 10.4 Application: Orbital Circumference 280 10.5 Application: Rotational Inertia 281 10.6 Application: The Helmholtz Coil Revisited 282 10.7 Application: Field Vectors Revisited 286 10.8 Exercises 287 11 Function Minimization and Fitting 289 11.1 Algorithms: Single Variable Function Minimization 289 11.2 Algorithms: Multiple Variable Function Minimization 291 11.3 Coding: The Function Minimization Tool 294 11.4 Application: Optimizing the Helmholtz Coil 295 11.5 Application: Closest Approach of an Asteroid 295 11.6 Coding: Linear Least Squares Fitting 297 11.7 Application: Fitting Radioactive Decay 299 11.8 Coding: Nonlinear Least Squares Fitting 299 11.9 Application: Fitting the Maxwell–Boltzmann Distribution 300 11.10 Application: Fitting Planck's Radiation Law 303 11.11 Application: Fitting the Damped Harmonic Oscillator 303 11.12 Application: The Cavendish Experiment 306 11.13 Application: Fitting an Asteroid Orbit 306 11.14 Exercises 307 12 Explicit Methods for Ordinary Differential Equations 311 12.1 Algorithms: Vector Fields 311 12.2 Algorithms: Explicit Methods for Differential Equations 313 12.3 Algorithms: Solving Higher-order Equations and Systems of Differential Equations 318 12.4 Coding: The Differential Equation Solver Tool 320 12.5 Application: The Large-angle Pendulum 321 12.6 Application: Forced Pendulum 328 12.7 Application: Chaotic Dynamics 330 12.8 Application: Inverted Pendulum 330 12.9 Application: Double Pendulum 331 12.10 Application: The Electronic Oscillator 337 12.11 Application: Synchronized Oscillators 340 12.12 Application: Deflecting Charges in Magnetic Fields 343 12.13 Coding: Generating Audio Simulations 344 12.14 Exercises 345 13 More Extensive Systems with Ordinary Differential Equations 347 13.1 Application: Ballistic Trajectories 347 13.2 Application: n-body Gravitational Systems 352 13.3 Application: n-body Collisions 355 13.4 Application: Classical Field Lines 360 13.5 Application: Quantum Scattering Revisited 364 13.6 Application: Solid State Physics 375 13.7 Exercises 385 14 Implicit Methods for Ordinary Differential Equations 389 14.1 Algorithms: Explicit Algorithm Instability 389 14.2 Algorithms: Implicit Methods for Differential Equations 398 14.3 Coding: The Implicit Differential Equation Solver Tool 404 14.4 Application: Coupled Oscillators with the Implicit Solver 405 14.5 Application: Waves 406 14.6 Application: The Large-angle Pendulum with the Implicit Method 413 14.7 Application: n-body Gravitational Systems Revisited 418 14.8 Application: Magnetic Mirrors 421 14.9 Exercises 424 Bibliography 427 Index 429

為您推薦