I’ve run my first quantum computation!

Since I was working on the latest iteration of classical computer manufacturing techniques (EUV lithography), everyone asked me what were my thought on the future of Moore’s law, and what did I think about quantum computing. To the first question, I could mumble things about transistor size and the fact that we’re getting awfully close to the atomic size; to the latter question… I just had to go figure out myself!

Back in April, I’ve invited Irfan Siddiqi (qnl.berkeley.edu), founding director of the brand new Center for Quantum Coherent Science, and his postdocs at Berkeley lab to give a talk to postdocs, and last the lab announced the first 45-qubits quantum simulations on the NERSC… things are going VERY fast! (read the Quantum manifesto)

Kevin O'Brien on multiplexing qubit readouts

Kevin O’Brien on multiplexing qubit readouts

This is thanks to Rigetti, a full-stack quantum computer startup based in Berkeley (Wired, IEEE Spectrum).

The way to do this is to use Forest (you can get an API key by registering here), which is a quantum computing environment that either simulate quantum computer, or send the result to a real quantum computer and send back the results.

To get started you can use PyQuil (on github, or by running pip install pyquil in your terminal, if you have a Mac, though I had to modify line 318 in api.py to raise DeprecationWarning(“Version checks…), because it was using Python 2.7 syntax); if you want to use the API, you need to have a .pyquil_config file in your home folder with the API information.

You can also use the @quilbot on twitter to perform your simulation :

It’s actually quite interesting to play around with qubits; I was really suprise to deal with non-zero entities all the time (basically, you can have |1> or |0> state, but the |0> is not really a zero state, in the sense that it still has a unitary amplitude. For example, if you perform a quantum Fourier Transform of an array of |0>‘s, you actually get a Dirac of  |0> — pretty weird, and exciting!)

The wikipedia page on quantum gates is quite good, and I am quite surprised by the deep relations it bears with polarization in optics: Bloch sphere really is only an other name for the Poincare sphere, while Pauli matrices are just canonical Jones matrices. Things get very strange when you start playing entanglement and CNOT gates…

Just getting started, but wow, there’s a lot fun ahead!