Skip to content

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

License

Notifications You must be signed in to change notification settings

ChunChia/quantum-python-lectures

 
 

Repository files navigation

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:

  • Reading data from a photon counter
  • Binning and smoothing data
  • Finding the steady state of an open quantum system
  • Making a publication-quality plot

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 Durham Physics Lab Guide to Python. We’ve listed more on the Resources page.

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

Lectures

I/O

  1. Reading and Writing Files

Plotting

  1. Publication quality plot
  2. Lineshape Comparison and Analysis

Data Analysis

  1. Fitting Data to Theory
  2. Smoothing and Binning

Integrating ODEs

  1. The Explicit Euler Method and Order of Accuracy
  2. The Runge-Kutta Method, Higher-Order ODEs and Multistep Methods
  3. Stiff Problems, Implicit Methods and Computational Cost
  4. Integrating with SciPy and QuTiP

Monte Carlo Methods

  1. Calculating π
  2. Maxwell-Boltzmann Distributions

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.6%
  • Python 0.4%