Essential Python for the Physicist

Essential Python for the Physicist
Essential Python for the Physicist by Giovanni Moruzzi
English | 2020 | ISBN: 3030450267 | 312 Pages | PDF | 10 MB

This book introduces the reader with little or no previous computer-programming experience to the Python programming language of interest for a physicist or a natural-sciences student. The book starts with basic interactive Python in order to acquire an introductory familiarity with the language, than tackle Python scripts (programs) of increasing complexity, that the reader is invited to run on her/his computer. All program listings are discussed in detail, and the reader is invited to experiment on what happens if some code lines are modified. The reader is introduced to Matplotlib graphics for the generation of figures representing data and function plots and, for instance, field lines. Animated function plots are also considered. A chapter is dedicated to the numerical solution of algebraic and transcendental equations, the basic mathematical principles are discussed and the available Python tools for the solution are presented. A further chapter is dedicated to the numerical solution of ordinary differential equations. This is of vital importance for the physicist, since differential equations are at the base of both classical physics (Newton’s equations) and quantum mechanics (Schroedinger’s equation). The shooting method for the numerical solution of ordinary differential equations with boundary conditions at two boundaries is also presented. Python programs for the solution of two quantum-mechanics problems are discussed as examples. Two chapters are dedicated to Tkinter graphics, which gives the user more freedom than Matplotlib, and to Tkinter animation. Programs displaying the animation of physical problems involving the solution of ordinary differential equations (for which in most cases there is no algebraic solution) in real time are presented and discussed. Finally, 3D animation is presented with Vpython.