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.