In this book, we will be discussing computational modeling of physical systems ranging from classical to quantum systems. The primary factor that makes this possible is the speed of computation offered by digital computers. In this sense, computer modeling is simply a tool to get the job done, just like the abacus or the calculator of the past. It is an important tool, enabling us to simulate a range of systems from the simple projectile motion but with added realism such as drag and spin effects to the complex behaviors of many-body problems or time-dependent quantum systems. Computational modeling is important and often indispensable in the study of these systems.
Below, we outline a three-step strategy in computational modeling. We also briefly discuss sources of error, and introduce the basic elements of Python programming with our first program as well as the required packages for computation and visualization. Installation of these packages and numerical array operations are discussed in the Appendices.
Before computational modeling can begin, there are several required steps to set it up. We generally follow a three-step approach for a given problem:
First, we build a model based on physical laws governing the problem. We usually aim to keep the model as simple as possible that contains the essential physics. ...