### Programs and data

This page contains Python programs and data that accompany the book Computational Physics by Mark Newman. You're welcome to download and use these resources freely. Comments and questions are welcome.

Resources are listed by chapter, programs first, then data files, if any. Also included are the programs from Appendix E. There are no programs or data for chapters 1 or 11.

#### Chapter 2: Python programming for physicists

 dropped.py Calculate the position of a ball dropped from a tower evenodd.py Check two integers to ensure one is even and the other odd fibonacci.py Print out the Fibonacci numbers up to 1000 polar.py Convert from polar to Cartesian coordinates rydberg.py Print out the wavelengths of hydrogen lines

#### Chapter 3: Graphics and visualization

 circular.py Make a density plot from the data in a file hrdiagram.py Calculate and display a Hertzsprung–Russell diagram for a catalog of nearby stars lattice.py Create a 3D visualization of a simple cubic lattice ripples.py Calculate and display the interference pattern generated by two circular sets of waves circular.txt Data for the circular pattern in Fig. 3.5 millikan.txt Photon frequencies and stopping voltages from Millikan's photoelectric experiment stars.txt Catalog of temperatures and magnitudes for 7860 nearby stars stm.txt STM measurements of the (111) surface of silicon sunspots.txt Data on sunspots since 1749

#### Chapter 4: Accuracy and speed

 qsho.py Calculate the internal energy of a quantum simple harmonic oscillator at temperature T

#### Chapter 5: Integrals and derivatives

 gaussint.py Evaluate an integral using Gaussian quadrature intinf.py Evaluate an integral over an infinite domain trapezoidal.py Evaluate an integral using the trapezoidal rule altitude.txt Altitude in meters of points on the Earth's surface stm.txt STM measurements of the (111) surface of silicon velocities.txt Velocity of a particle over time

#### Chapter 6: Solution of linear and nonlinear equations

 atanh.py Calculate an inverse hyperbolic tangent by Newton's method buckingham.py Find the minimum of the Buckingham potential using golden ratio search ferromag.py Calculate the magnetization of a ferromagnet gausselim.py Solve simultaneous equations by Gaussian elimination springs.py Calculate the motion of system of masses and springs springsb.py Simpler program for the masses and springs

#### Chapter 7: Fourier transforms

 dft.py Calculate a DFT the slow way blur.txt Digitized blurry image dow.txt Daily closing values of the Dow from 2006 to 2010 dow2.txt Daily closing values of the Dow from 2004 to 2008 piano.txt Waveform of a single note played on a piano pitch.txt An oscillating signal with noise sunspots.txt Data on sunspots since 1749 trumpet.txt Waveform of a single note played on a trumpet

#### Chapter 8: Ordinary differential equations

 euler.py Solve a differential equation using Euler's method rk2.py Solve a differential equation using 2nd-order Runge-Kutta rk4.py Solve a differential equation using 4th-order Runge-Kutta odeinf.py Solve a differential equation out to infinity odesim.py Solve simultaneous first-order differential equations bulirsch.py Solve the nonlinear using the Bulirsch-Stoer method throw.py Calculate a trajectory using the shooting method squarewell.py Solve the Schrodinger equation in a square well

#### Chapter 9: Partial differential equations

 laplace.py Solve Laplace's equation using the Jacobi method heat.py Solve the heat equation using FTCS

#### Chapter 10: Random processes and Monte Carlo methods

 lcg.py Linear congruential random number generator decay.py Calculate the decay of a radioactive sample rutherford.py Rutherford scattering mcint.py Monte Carlo integration mcsim.py Monte Carlo simulation of an ideal gas salesman.py Solution of the traveling salesman problem

#### Useful programs

 gaussxw.py Calculate integration points for Gaussian quadrature banded.py Solve a banded system of linear equations dcst.py Fast discrete cosine and sine transforms colormaps.py Colormaps useful for physics visualizations