Computational Physics: Problem Solving with PythonThe use of computation and simulation has become an essential part of the scientific process. Being able to transform a theory into an algorithm requires significant theoretical insight, detailed physical and mathematical understanding, and a working level of competency in programming. This upper-division text provides an unusually broad survey of the topics of modern computational physics from a multidisciplinary, computational science point of view. Its philosophy is rooted in learning by doing (assisted by many model programs), with new scientific materials as well as with the Python programming language. Python has become very popular, particularly for physics education and large scientific projects. It is probably the easiest programming language to learn for beginners, yet is also used for mainstream scientific computing, and has packages for excellent graphics and even symbolic manipulations. The text is designed for an upper-level undergraduate or beginning graduate course and provides the reader with the essential knowledge to understand computational tools and mathematical methods well enough to be successful. As part of the teaching of using computers to solve scientific problems, the reader is encouraged to work through a sample problem stated at the beginning of each chapter or unit, which involves studying the text, writing, debugging and running programs, visualizing the results, and the expressing in words what has been done and what can be concluded. Then there are exercises and problems at the end of each chapter for the reader to work on their own (with model programs given for that purpose). |
Contents
1 | |
2 Computing Software Basics | 33 |
3 Errors and Uncertainties in Computations | 53 |
Randomness Walks and Decays | 69 |
5 Differentiation and Integration | 85 |
6 Matrix Computing | 117 |
7 TrialandError Searching and Data Fitting | 141 |
Nonlinear Oscillations | 171 |
17 Thermodynamic Simulations and Feynman Path Integrals | 409 |
18 Molecular Dynamics Simulations | 445 |
19 PDE Review and Electrostatics via Finite Differences and Electrostatics via Finite Differences | 461 |
20 Heat Flow via Time Stepping | 477 |
Strings and Membranes | 491 |
Quantum Packets and Electromagnetic | 511 |
23 Electrostatics via Finite Elements | 537 |
24 Shocks Waves and Solitons | 555 |
Eigenvalues Scattering and Projectiles | 193 |
10 HighPerformance Hardware and Parallel Computers | 215 |
Optimization Tuning and GPU Programming | 247 |
Signals and Filters | 275 |
Nonstationary Signals and Data Compression | 307 |
14 Nonlinear Population Dynamics | 339 |
15 Continuous Nonlinear Dynamics | 363 |
16 Fractals and Statistical Growth Models | 383 |
25 Fluid Dynamics | 575 |
26 Integral Equations of Quantum Mechanics | 591 |
Appendix A Codes Applets and Animations | 607 |
609 | |
615 | |
EULA | 623 |
Other editions - View all
Common terms and phrases
algorithm analytic approximation array boundary conditions calculation coef coefficients color components Computational Physics constant curve decay density derivative determine differential equation dimension eigenvalue eigenvectors elements energy evaluate Figure filter finite float Fortran Fourier transform fractal frequency Gaussian Gaussian quadrature grid initial conditions input integration interval inverse Ising model iterations KdeV KGaA lattice linear Listing logistic map loop Matplotlib matrix Mayavi memory method node nonlinear numpy obtain oscillations output parallel parallel computing parameters particle path pendulum plot points potential precision problem processors Python quantum random numbers range round-off error sample scale Schrödinger equation Section signal simulation soliton solution solve space spins step string temperature tion trajectory values variable vector velocity visual wave function wave packet wavelet width WILEY-VCHVerlag GmbH& xmax zeros