Home

Awesome

quantum-python-lectures

This is a series of self-study lectures on using Python for scientific computing at the graduate level in atomic physics and quantum optics.

It aims to introduce you to using Python in both theoretical and experimental contexts through some common in-lab examples, like:

This is not an introduction to programming nor Python. You don't need to install anything to read the lectures, but if you want to download and use the example code it is a prerequisite that you already have Python working on your computer along with the standard scientific computing libraries: Numpy, Scipy and Matplotlib.

If you need help with Python or getting it installed there are many resources online, including the <a href="http://labs.physics.dur.ac.uk/computing/resources/python.php">Durham Physics Lab Guide to Python</a>. We’ve listed more on the <a href="{{ site.baseurl }}/resources/">Resources</a> page.

The lectures are in four sections: I/O, Plotting, Data Analysis and Numerical Methods.

Lectures

I/O

<ol> <li><a href="http://nbviewer.ipython.org/urls/github.com/tommyogden/quantum-python-lectures/blob/master/1_Reading-and-Writing-Files.ipynb">Reading and Writing Files</a></li> </ol>

Plotting

<ol start="2"> <li><a href="http://nbviewer.ipython.org/urls/github.com/tommyogden/quantum-python-lectures/blob/master/2_Publication-Quality-Plot.ipynb">Publication quality plot</a></li> <li><a href="http://nbviewer.ipython.org/urls/github.com/tommyogden/quantum-python-lectures/blob/master/3_Lineshape-Comparison-and-Analysis.ipynb">Lineshape Comparison and Analysis</a></li> </ol>

Data Analysis

<ol start="4"> <li><a href="http://nbviewer.ipython.org/urls/github.com/tommyogden/quantum-python-lectures/blob/master/4_Fitting-Data-to-Theory.ipynb">Fitting Data to Theory</a></li> <li><a href="http://nbviewer.ipython.org/urls/github.com/tommyogden/quantum-python-lectures/blob/master/5_Smoothing-and-Binning-Data.ipynb">Smoothing and Binning</a></li> </ol>

Integrating <abbr title="Ordinary Differential Equations">ODEs</abbr>

<ol start="6"> <li><a href="http://nbviewer.ipython.org/urls/github.com/tommyogden/quantum-python-lectures/blob/master/6_The-Explicit-Euler-Method-and-Order-of-Accuracy.ipynb">The Explicit Euler Method and Order of Accuracy</a></li> <li><a href="http://nbviewer.ipython.org/urls/github.com/tommyogden/quantum-python-lectures/blob/master/7_The-Runge-Kutta-Method-Higher-Order-ODEs-and-Multistep-Methods.ipynb">The Runge-Kutta Method, Higher-Order ODEs and Multistep Methods</a></li> <li><a href="http://nbviewer.ipython.org/urls/github.com/tommyogden/quantum-python-lectures/blob/master/8_Stiff-Problems-Implicit-Methods-and-Computational-Cost.ipynb">Stiff Problems, Implicit Methods and Computational Cost</a></li> <li><a href="http://nbviewer.ipython.org/urls/github.com/tommyogden/quantum-python-lectures/blob/master/9_Integrating-with-SciPy-and-QuTiP.ipynb">Integrating with SciPy and QuTiP</a></li> </ol>

Monte Carlo Methods

<ol start="10"> <li><a href="http://nbviewer.ipython.org/urls/github.com/tommyogden/quantum-python-lectures/blob/master/10_Monte-Carlo-Calculating-Pi.ipynb">Calculating π</a></li> <li><a href="http://nbviewer.ipython.org/urls/github.com/tommyogden/quantum-python-lectures/blob/master/11_Monte-Carlo-Maxwell-Boltzmann-Distributions.ipynb">Maxwell-Boltzmann Distributions</a></li> </ol>