The Quantum Optics Toolbox in Python (qutip) is a marvellous tool for simulating open quantum systems. Firstly, Robert Johansson and Paul Nation have crafted a great tool which makes it easy to explore a wide range of quantum systems. And secondly, their tool builds upon the incredible scientific python stack.
Exploring quantum systems this way is a lot of fun, but knowing where to start is sometimes a bit daunting. Recently, Robert Johansson has put up some lecture notes on github in the IPython notebook format. These let you interactively explore the functionalities of qutip. Each lecture illustrates the behaviour of a particular quantum system. The great thing about the IPython notebook format is that these lecture notes are fully executable code, which means you can play around with the examples while working through them. An ideal way to dive right into simulating quantum systems with python!
If you are completely new to the whole python way of doing things, you find some tips on how to get started at the end of this post. To see what awaits you take a look at the static versions of his lecture notes below.
- Lecture 1 Jaynes Cumming model
- Lecture 2A Cavity Qubit Gates
- Lecture 2B Single Atom Lasing
- Lecture 3A Dicke model
- Lecture 3B Jaynes Cumming model with ultrastrong coupling
- Lecture 4 Correlation Functions
- Lecture 5 Parametric Amplifier
- Lecture 6 Quantum Monte Carlo Trajectories
On the github repository there are also PDF versions that you can download.
In order to get start with qutip and the IPython notebooks, you will need to install python, numpy, scipy, ipython and matplotlib. While python is the programming language itself the rest are packages for python that you need. There are some great python distributions that provide you with all this in a single installer. One easy way to get started is to install the free Anaconda CE python distribution. Building qutip on windows is a bit of a hassle, so I highly recommend you to get a Linux of Mac OS X box for that. After everything is installed fine, download the IPython notebooks from github and run ipython notebook in that folder.