Quantum Programming Languages

So the big news today in quantum computing came from IBM — here is the MIT Technology Review’s announcement, plus Tech Crunch’s. Basically IBM has prototyped a 50-qubit machine, and they are allowing the public to use a new 20-bit machine via their QISKit library. In the past, they allowed the public to use 5-qubits and researchers to register for 17-qubit access, but now everyone will have access to 20! It will be interesting to see what additional research folks can carry out now…I recall reading that there have been ~30 papers published using the IBM system, so researchers should be able to do every more things now.

I have also been spending some time reading through the tutorial Jupyter notebooks for QISKit … wow. The library still seems to assume a strong grasp of quantum mechanics. It allows you to do things like set gates and levels in the quantum circuits, which is pretty cool. But you have to understand how to calculate the energy equation for your problem in the first place (and then, how the combination of gates defines your energy function — this, I think can be codified). I would love to see either or both of:

  • More tutorials on how to construct quantum algorithms from real-world problems. Ising what? Do I need a Ph.D. for this?
  • Libraries that abstract away the quantum weeds. So I don’t need to manipulate and set the individual gates, the possible combinations should be abstracted away by some higher-level command. I feel like this is simpler than the first bullet, honestly.

Quantum Cooking

Quantum computing definitely seems like a black box, and I was trying to find a real-world comparison. Here is how I see it:

Traditional cake recipe (courtesy of AllRecipes.com):

  1. Preheat oven to 350 degrees F (175 degrees C). Grease and flour a 9×9 inch pan or line a muffin pan with paper liners.
  2. In a medium bowl, cream together the sugar and butter. Beat in the eggs, one at a time, then stir in the vanilla. Combine flour and baking powder, add to the creamed mixture and mix well. Finally stir in the milk until batter is smooth. Pour or spoon batter into the prepared pan.
  3. Bake for 30 to 40 minutes in the preheated oven. For cupcakes, bake 20 to 25 minutes. Cake is done when it springs back to the touch.

Quantum computing cake recipe (as I understand quantum computing):

  1. Place eggs in a single-file line 6″ from the left of the countertop and 1″ away from you. Make sure the odd-sequenced ones are all aligned North-South and the even-sequenced ones are aligned East-West.
  2. Scatter flour into a 12″ by 8.43″ rectangle, exactly 2.58″ above the eggs.
  3. Levitate half cup of melted butter 7″ above your head.
  4. Stick your left thumb into your right ear and hop on one foot.
  5. In 5 minutes and 32 seconds, check your oven. There is an 80% chance you’ll find a cake, and a 1% chance you’ll find a squirrel. You won’t know until you check. Repeat this process 1000 times and you’ll figure out if that is really a recipe for cake, a squirrel, or nothing.