Problem Solving with Python
3. Edition July 2015
XXII, 626 Pages, Softcover
An unusually broad survey of the topics of modern computational physics from a multidisciplinary, computational science point of view. The e-book links to some video-based lecture modules as well as links to many codes, visualizations and applets.
The 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).
The text could be used for a one-semester course on scientific computing. The relevant topics for that are covered in the first third of the book. The latter two-thirds of the text includes more physics and can be used for a two-semester course in computational physics, covering nonlinear ODEs, Chaotic Scattering, Fourier Analysis, Wavelet Analysis, Nonlinear Maps, Chaotic systems, Fractals and Parallel Computing.
The e-book extends the paper version by including many codes, visualizations and applets, as well as links to video lectures.
* A table at the beginning of each chapter indicates video lectures, slides, applets and animations.
* Applets illustrate the results to be expected for projects in the book, and to help understand some abstract concepts (e.g. Chaotic Scattering)
* The eBook's figures, equations, sections, chapters, index, table of contents, code listings, glossary, animations and executable codes (both Applets and Python programs) are linked, much like in a Web document.
* Some equations are linked to their xml forms (which can be imported into Maple or Mathematica for manipulation).
* The e-book will link to video-based lecture modules, held by principal author Professor Rubin Landau, that cover most every topic in the book.
2. Errors & Uncertainties in Computations
3. Visualization Tools
4. Python Object-Oriented Programs: Impedance & Batons
5. Monte Carlo Simulations (Nonthermal)
7. Differentiation & Searching
8. Matrix Equation Solutions; Data Fitting
9. Differential Equation Applications
10.Fourier Analysis: Signals and Filters
11.Wavelet Analysis & Data Compression
12.Discrete & Continuous Nonlinear Dynamics
13.Fractals & Statistical Growth
14.HPC Hardware, Tuning, Parallel Computing
15.Thermodynamic Simulations, Quantum Path Integration
16.Simulating Matter with Molecular Dynamics
17.PDEs for Electrostatics & Heat Flow
18.PDE Waves: String, Quantum Packet, E&M 1
19.Solitons & Computational Fluid Dynamics
20.Integral Equations in Quantum Mechanics
B. Installing Python, Matplotlib, NumPy
C. Software Directories
D. Compression via DWT with Thresholding
Manuel J. Páez is a professor in the Department of Physics at the University of Antioquia in Medellín, Colombia. He has been teaching courses in Modern Physics, Nuclear Physics, Computational Physics, Mathematical Physics as well as programming in Fortran, Pascal and C languages. He and Professor Landau have conducted pioneering computational investigations in the interactions of mesons and nucleons with nuclei.
Cristian C. Bordeianu teaches Physics and Computer Science at the Military College "¿tefan cel Mare" in Câmpulung Moldovenesc, Romania. He has over twenty years of experience in developing educational software for high school and university curricula. He is winner of the 2008 Undergraduate Computational Engineering and Science Award by the US Department of Energy and the Krell Institute. His current research interests include chaotic dynamics in nuclear multifragmentation and plasma of quarks and gluons.