Introduction

Welcome to the repository of quantum tutorials!

What follows is a series of essays mixing code, images, mathematics, and philosophy. They are a work in progress! This site is dedicated to the BROOKLYN QUANTUM MEETUP; you can find recordings of our get togethers on youtube. Join us!

Prerequisites

Quantum physics is notorious from pretty much all perspectives. But fear not-- it's the 21st century! If you're handy with python, you can implement much of the crucial machinery with just a few lines of code and a little imagination. And even if you aren't a programmer, it is possible to visualize what's going on, even if in unfamiliar ways--and I've written code to do just that for you.

The difficulty with quantum mechanics at a foundational level is not that it's complicated. It's actually dizzyingly simple when expressed in the right language. But to pick up the lingo requires immersion, immersion in the cloud of vector spaces, linear transformations, string diagrams... Once you have that, it becomes impossible to ignore the sweet sounds of this poem which nature has written for us.

With that in mind, we'll take the time to spell out our calculations step-by-step, especially at first, so that even if you don't know yet why something is happening, you can at least be sure what is happening. The problem with most popular accounts of quantum physics is that they move across the subject at a more-or-less verbal level, introducing you to the fantasias of physicists, but without giving you the tools to interrogate what you've learned, access to the underlying forms against which we can actually test our thinking about nature. On the other side, the problem with the most sophisticated accounts is that the motivations behind them and their philosophical principles are often obscured under the weight of technical detail. We'll try to find a happy medium between these two poles, although such a place, perhaps, doesn't exist. In the end, this is a world you're going to have to spend time in to really feel it in your gut. The point of these essays is to give you the tools to start playing around.

The essays are organized thematically, not necessarily from simplest to most difficult. We'll circle around and around certain topics again and again, elaborating them as time goes by. We begin with traversible wormholes, taking a detour around the bend of string diagrams, ending up taking pictures of quantum entanglement, and thence to the stars. More to come!

The Python Environment

To take the full advantage of these tutorials, you should run them at home as python notebooks. First, make sure to install conda. Then run in the shell:

conda create --name heyredhat
conda activate heyredhat
conda install vpython jupyterlab nodejs qutip matplotlib pyaudio sympy
jupyter labextension install vpython
git clone https://github.com/heyredhat/heyredhat.github.io

Then run jupyter lab. A word about vpython, which we use for 3D graphics. When you use it in a jupyter notebook, you should call vpython.rate(some_rate) afer each update to the graphics. It's also a good idea to make a new scene scene = vp.canvas(background=vp.color.white) in each jupyter cell. (If there's trouble, try clicking the notebook and selecting "Disable Scrolling for Outputs.") When used outside a jupyter notebook, vpython will open up a browser window alongside the console to display its graphics: vpython.rate isn't needed. We'll primarily use vpython outside of the notebook environment when we really want to interact with our visualizations, so make sure to run scripts interactively like python -i viz.py.

Alternatively, you can run the notebooks online: Binder.

Special Thanks

The images were made with tikzit. Polyhedra were reconstructed with polyhedrec.