
Computational Physics
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Persons
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 taught Physics and Computer Science at the Military College "Stefan cel Mare" in Câmpulung Moldovenesc, Romania.
Content
PART I. BASICS
Introduction
Software Basics
Errors & Uncertainties
Monte Carlo Simulations
Differentiation & Integration
Trial-and-Error Searching & Data Fitting
Matrix Computing and N-D Searching
Differential Equations & Nonlinear Oscillations
PART II. DATA SCIENCE
Fourier Analyses
Wavelet & Principal Components Analysis
Neural Networks & Machine Learning
Quantum Computing
PART III. APPLICATIONS
ODE Applications; Eigenvalues, Scattering, Trajectories
Fractals & Statistical Growth Models
Nonlinear Population Dynamics
Nonlinear Dynamics of Continuous Systems
Thermodynamics Simulations & Fenyman Path Integrals
Molecular Dynamics Simulations
General Relativity
Integral Equations
PART IV. PDE APPLICATIONS
PDE Review, Electrostatics & Relaxation
Heat Flow & Leapfrogging
String & Membrane Waves
Quantum Wave Packets & EM Waves
Shock & Soliton Waves
Fluid Hydrodynamics
Finite Element Electrostatics
Appendices
Index
1
Introduction
Beginnings are hard.
-Chaim Potok
Nothing is more expensive than a start.-Friedreich Nietzsche
We start this book with a description of how computational physics (CP) fits into the broader field of computational science, and how CP fits into physics. We describe the subjects we cover, the coordinated video lectures, and how the book may be used in a CP course. Finally, we get down to business by discussing the Python language and its many packages, some of which we'll use. In Chapter 2 we give an introduction to Python programming, and in Chapter 7 we examine Python's treatment of matrices.
1.1 Computational Physics and Science
As illustrated in Figure 1.1, we view CP as a bridge that connects physics, computer science (CS), and applied mathematics. Whereas CS studies computing for its own intrinsic interest and develops the hardware and software tools that computational scientists use, and while applied mathematics develops and studies the algorithms that computational scientists use, CP focuses on using all of that to do better and new physics. Furthermore, just as an experimentalist must understand many aspects of an experiment to ensure that her measurements are accurate and believable, so should every physicist undertaking a computation understand the CS and math well enough to ensure that her computations are accurate and precise.
As CP has matured, we see it not only as a bridge among disciplines, but also as a specialty containing core elements of its own, such as data-mining tools, computational methods, and a problem-solving mindset. To us, CP's commonality of tools and viewpoint with other computational sciences makes it a good training ground for students, and a welcome change from the overspecialization found in so much of physics.
As part of this book's emphasis on problem solving, we strive to present the subjects within a problem-solving paradigm, as illustrated on the right of Figure 1.1. Ours is a hands-on, inquiry-based approach in which there are problems to solve, a theory or an appropriate model to apply, an appropriate algorithm to use, and an assessment of the results. This approach can be traced back to the post-World War II research techniques developed at US national laboratories. They deserve the credit for extending the traditional experimental and theoretical approaches of physics to also include simulation. Recent developments have also introduced powerful data mining tools, such as neural networks, artificial intelligence, and quantum computing.
Figure 1.1 On the left a view of computational physics as a discipline encompassing physics, applied mathematics, and computer science. On the right is a broader view of computational physics fitting into various components of scientific problem solving.
1.2 This Book's Subjects
We do not intend this book to be a scholarly exposition of the foundations of CP. Instead, we employ a learn-by-doing approach with many exercises, problems, and ready-to-run codes. We survey many of the subjects that constitute CP at a level appropriate for undergraduate education, except maybe for the latter parts of some chapters. Our experience is that many graduate students and professionals may also benefit from this survey approach in which a basic understanding of a broad range of topics facilitates further in-depth study.
Chapters 1 -8 cover basic numerics, ordinary differential equations with (many) applications, matrix computing using well-developed linear algebra libraries, and Monte-Carlo methods. Some powerful data mining tools such as discrete Fourier transforms, wavelet analysis, principal component analysis, and neural networks are covered in the middle of the book.
A traditional way to view the materials in this text is in terms of their use in courses. For a one-quarter class, we used approximately the first-third of the text, with its emphasis on computing tool familiarity with a compiled language [CPUG, 2009]. The latter two-thirds of the text, with its greater emphasis on physics, has typically been used in a two-quarter (20-week) course. What with many of the topics taken from research, these materials can easily be used for a full year's course, and for supplementary research projects.
1.3 Video Lecture Supplements
As an extension of the concept of a "text," we provide some 60 video lecture modules (as in Figure 1.2) that cover almost every topic in the book. The modules were originally a mix of Flash, Java, HTML, and mpeg, but with Flash no longer supported, we provide them as mp4 videos and PDF slides. They are available on our website: https://sites.science.oregonstate.edu/~landaur/Books/CPbook/eBook/Lectures, as well as on our YouTube channel under Landau Computational Physics Course: https://www.youtube.com/playlist?list=PLnWQ_pnPVzmJnp794rQXIcwJIjwy7Nb2U.
Figure 1.2 A screenshot from a lecture module showing a dynamic table of contents, a talking head, video controls, a slide with live scribbling, and some old man. (Originally in Flash, now as mpegs.)
The video lectures can be used to preview or review materials, as part of an online course, or in a blended course in which they replace some lectures, thereby freeing up time for lab work with the instructor.
1.4 This Book's Codes and Problems
Separate from the problems and exercises throughout the text, almost every chapter starts off with a keynote "Problem" that leads into the various steps in computational problem solving (Figure 1.1). The additional problems and exercises distributed throughout the chapters are essential ingredients for learning, and are meant to be worked through. This entails studying the text, writing, debugging, and running programs, visualizing the results, and expressing in words what has been performed, and what can be concluded. We asked our students to write up mini lab reports containing
Equations solved Numerical method Code listing Visualization Discussion CritiqueAlthough we recognize that programming is a valuable skill for scientists, we also know that it is incredibly exacting and time-consuming. In order to lighten the workload, we provide programs for most of the problems in the text, both at the end of each chapter and online at: sites.science.oregonstate.edu/~landaur/Books/CPbook/Codes.
A complete list is given in the Appendix. We recommend that these codes be used as guides for the reader when writing their own programs, or, at the least, tested and extended to solve the problem at hand. We have been told that learning how to use someone else's code is a valuable workplace skill to develop; as with programs encountered in a workplace, they should be understood before use!
1.5 Our Language: The Python Ecosystem
The codes in this edition of Computational Physics employ the computer language Python. Previous editions have employed Java, Fortran, and C, and used post-computation tools for visualization.1 Python's combination of language plus packages now makes it the standard for the explorative and interactive computing that typifies present-day scientific research.
Although valuable for research, we have also found Python to be the best language yet for teaching and learning CP. It is free, robust (programs don't crash), portable (programs run without modifications on various devices), universal (available for most every computer system), has a clean syntax that permits rapid learning, has dynamic typing (changes data types automatically as needed), has high-level, built-in data types (such as complex numbers), and built-in visualization. Furthermore, because Python is interpreted, students can learn the language by executing and analyzing individual statements within an interactive shell, or within a notebook environment, or by running an entire program in one fell swoop. Finally, it is easy to use the myriad of free Python packages supporting numerical algorithms, state-of-the-art visualizations, as well as specialized toolkits that rival those in Matlab and Mathematica/Maple. And did we mention, all of this is free?
Although we do not expect the readers to be programming experts, it is essential to be able to run and modify the sample codes in this book. For learning Python, we recommend the online tutorials [PyTut, 2023; Pguide, 2023; Plearn, 2023], the book [Langtangen, 2016], and the many books in the "Python for Scientists and Engineers" genre. For general numerical methods, [Press et al., 2007] is the standard, and fun to read. The NITS Digital Library of Mathematical Functions [NIST, 2022] is a convenient reference for mathematical functions and numerical methods.
Python has developed rapidly since its first implementation in December 1989 [History, 2022]. The rapid developments of Python have led to a succession of new versions and the inevitable incompatibilities. The codes presented in the book are in the present standard, Python 3. The major difference from Python 2 is the print statement:
1.6 The Easy Way: Python...
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.