Muutke küpsiste eelistusi

Computational Physics 2nd Revised edition [Pehme köide]

  • Formaat: Paperback / softback, 350 pages, kõrgus x laius: 229x152 mm, kaal: 472 g
  • Sari: Essentials of Physics Series
  • Ilmumisaeg: 18-Feb-2022
  • Kirjastus: Mercury Learning & Information
  • ISBN-10: 1683928326
  • ISBN-13: 9781683928324
  • Formaat: Paperback / softback, 350 pages, kõrgus x laius: 229x152 mm, kaal: 472 g
  • Sari: Essentials of Physics Series
  • Ilmumisaeg: 18-Feb-2022
  • Kirjastus: Mercury Learning & Information
  • ISBN-10: 1683928326
  • ISBN-13: 9781683928324
This updated edition provides an introduction to computational physics in order to perform physics experiments on the computer. Computers can be used for a wide variety of scientific tasks, from the simple manipulation of data to simulations of real-world events. This book is designed to provide the reader with a grounding in scientific programming. It contains many examples and exercises developed in the context of physics problems. The new edition now uses C++ as the primary language. The book covers topics such as interpolation, integration, and the numerical solutions to both ordinary and partial differential equations. It discusses simple ideas, such as linear interpolation and root finding through bisection, to more advanced concepts in order to solve complex differential equations. It also contains a chapter on high performance computing which provides an introduction to parallel programming.

FEATURES:

  • Includes some advanced material as well as the customary introductory topics

  • Uses a comprehensive C++ library and several C++ sample programs ready to use and build into a library of scientific programs

  • Features problem-solving aspects to show how problems are approached and to demonstrate the methods of constructing models and solutions

Chapter 1 Introduction
1(14)
1.1 Getting Started with Coding
1(2)
1.2 Getting To Know The Linux Command Line
3(3)
1.3 Bonjour Tout Le Monde
6(6)
1.4 The Rest of the Book
12(3)
Chapter 2 Getting Comfortable
15(20)
2.1 Computers: What You Should Know
15(9)
2.1.1 Hardware
15(2)
2.1.2 Software
17(2)
2.1.3 Number Representation and Precision
19(5)
2.2 Some Important Mathematics
24(8)
2.2.1 Taylor Series
25(2)
2.2.2 Matrices: A Brief Overview
27(5)
Exercises
32(3)
Chapter 3 Interpolation and Data Fitting
35(20)
3.1 Interpolation
35(10)
3.1.1 Linear Interpolation
35(3)
3.1.2 Polynomial Interpolation
38(5)
3.1.2 Cubic Spline
43(2)
3.2 Data Fitting
45(8)
3.2.1 Regression: Illustrative Example
45(3)
3.2.2 Linear Least Squares: Matrix Form
48(2)
3.2.3 Realistic Example: Millikan's Experiment
50(3)
Exercises
53(2)
Chapter 4 Searching for Roots
55(26)
4.1 Finding Roots
55(7)
4.1.1 Bisection
56(2)
4.1.2 Newton-Baphson
58(2)
4.1.3 Secant
60(2)
4.2 Hybrid Methods
62(3)
4.2.1 Bisection--Newton--Raphson
62(2)
4.2.2 Brute Force Search
64(1)
4.3 What's The Point of Root Searching?
65(12)
4.3.1 The Infinite Square Well
65(4)
4.3.2 The Finite Square Well
69(3)
4.3.3 Programming the Root Finder
72(5)
Exercises
77(4)
Chapter 5 Numerical Quadrature
81(14)
5.1 Simple Quadrature
82(3)
5.1.1 The Mid-Ordinate Rule
82(1)
5.1.2 The Trapezoidal Rule
83(1)
5.1.3 Simpsons Rule
84(1)
5.2 Advanced Quadrature
85(8)
5.2.1 Euler--Maclaurin Integration
85(1)
5.2.2 Adaptive Quadrature
86(4)
5.2.3 Multidimensional Integration
90(3)
Exercises
93(2)
Chapter 6 Ordinary Differential Equations
95(24)
6.1 Classification of Differential Equations
96(3)
6.1.1 Types of Differential Equations
96(2)
6.1.2 Types of Solution and Initial Conditions
98(1)
6.2 Solving First-Order ODEs
99(9)
6.2.1 Simple Euler Method
99(3)
6.2.2 Modified and Improved Euler Methods
102(2)
6.2.3 The Runge--Kutta Method
104(3)
6.2.4 Adaptive Runge--Kutta
107(1)
6.3 Solving Second-Ordered ODEs
108(9)
6.3.1 Coupled 1st Order ODEs
108(2)
6.3.2 Oscillatory Motion
110(6)
6.3.3 More Than One Dimension
116(1)
Exercises
117(2)
Chapter 7 Fourier Analysis
119(18)
7.1 The Fourier Series
120(4)
7.2 Fourier Transforms
124(3)
7.3 The Discrete Fourier Transform
127(2)
7.4 The Fast Fourier Transform
129(6)
7.4.1 Brief History and Development
129(1)
7.4.2 Implementation and Sampling
130(5)
Exercises
135(2)
Chapter 8 Monte Carlo Methods
137(22)
8.1 Monte Carlo Integration
137(11)
8.1.1 Dart Throwing
137(6)
8.1.2 General Integration Using Monte Carlo
143(3)
8.1.3 Importance Sampling
146(2)
8.2 Monte Carlo Simulations
148(8)
8.2.1 Random Walk
148(6)
8.2.2 Radioactive Decay
154(2)
Exercises
156(3)
Chapter 9 Partial Differential Equations
159(44)
9.1 Classes, Boundary Values, and Initial Conditions
160(4)
9.2 Finite Difference Methods
164(10)
9.2.1 Difference Formulas
165(3)
9.2.2 Application of Difference Formulas
168(6)
9.3 Richardson Extrapolation
174(4)
9.4 Numerical Methods to Solve PDEs
178(21)
9.4.1 The Heat Equation with Dirichlet Boundaries
178(12)
9.4.2 The Heat Equation with Neumann Boundaries
190(3)
9.4.3 The Steady-State Heat Equation
193(3)
9.4.4 The Wave Equation
196(3)
9.5 Pointers To The Finite Element Method
199(1)
Exercises
200(3)
Chapter 10 Advanced Numerical Quadrature
203(18)
10.1 General Quadrature
203(4)
10.2 Orthogonal Polynomials
207(3)
10.3 Gauss--Legendre Quadrature
210(4)
10.4 Programming Gauss--Legendre
214(3)
10.5 Gauss---Laguerre Quadrature
217(2)
Exercises
219(2)
Chapter 11 Advanced ODE Solver and Applications
221(30)
11.1 Runge--Kutta--Fehlberg
221(4)
11.2 Phase Space
225(2)
11.3 Van Der Pol Oscillator
227(3)
11.3.1 Van der Pol in Phase Space
227(1)
11.3.2 Van der Pol FFT
228(2)
11.4 The "Simple" Pendulum
230(5)
11.4.1 Finite Amplitude
231(2)
11.4.2 Utter Chaos?
233(2)
11.5 Halley's Comet
235(2)
11.6 To Infinity and Beyond
237(5)
11.7 To The Infinitesimal and Below
242(5)
Exercises
247(4)
Chapter 12 High-Performance Computing
251(24)
12.1 Indexing and Blocking
252(11)
12.1.1 Heap and Stack
252(3)
12.1.2 Computer Memory
255(2)
12.1.3 Loopy Indexing
257(2)
12.1.4 Blocking
259(3)
12.1.5 Loop Unrolling
262(1)
12.2 Parallel Programming
263(9)
12.2.1 Many (Hello) Worlds
264(2)
12.2.2 Vector Summation
266(2)
12.2.3 Overheads: Amdahl versus Gustafson
268(4)
Exercises
272(3)
Bibliography 275(4)
Appendix: A Crash Course in C++ Programming 279(54)
Index 333
Walker Darren :



Darren Walker, PhD, is a software developer who writes and maintains code that controls various radio telescopes around the UK and helps to analyze the data obtained from these instruments.