C言語による計算物理学<br>Computational Physics Using C : Efficient Programming with Ease

個数:1
紙書籍版価格
¥29,117
  • 電子書籍
  • ポイントキャンペーン

C言語による計算物理学
Computational Physics Using C : Efficient Programming with Ease

  • 著者名:Fattaruso, John W.
  • 価格 ¥17,242 (本体¥15,675)
  • Wiley(2026/03/11発売)
  • GWに本を読もう!Kinoppy 電子書籍・電子洋書 全点ポイント30倍キャンペーン(~5/6)
  • ポイント 4,680pt (実際に付与されるポイントはご注文内容確認画面でご確認下さい)
  • 言語:ENG
  • ISBN:9781394318537
  • eISBN:9781394318544

ファイル: /

Description

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.

Table of Contents

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

最近チェックした商品