Dr. Brian La Cour from University of Texas at Austin gave a presentation on the latest state of quantum computing to Austin's Quantum Computing meetup in March of 2017. Here are some prominent points from it.
Several big companies are getting into quantum computing now: Google, Microsoft, IBM. There are significant differences between their approaches.
Google plans to solve a problem with 49 qubits, a problem that would demonstrate quantum supremacy (getting a clear speedup with a quantum algorithm over a classical algorithm), but is completely useless in real life. The problem with that is that when you progress to the quantum supremacy frontier, you can no longer check the answer with a regular device. Or it would take a very long time. So Google's argument will probably be based on asymptotic trend, with how they are doing with more qubits. But overall this problem of how to check the results will be more difficult in the future.
We are a long way from solving Shor's algorithm and breaking internet's encryption. But quantum simulation is a near term application. It goes back to Richard Feynman's discussions of quantum computing. We can simulate things on a digital computer, but it's not very efficient. When you want to add another spin, another atom, you have to double the memory. What better thing to simulate a quantum system than a quantum system?
There is a difference between gate-based quantum computing (like what IBM and partially Google does) and quantum annealing, like what D-Wave does, and partially Google.
Gate-based device (that operates on gates, similar to classical gates) is a universal quantum computer. D-Wave's computer is specialized, it is only useful for certain optimization problems. And so far those problems have been pretty contrived, not necessarily corresponding to anything in real life. Even so there is no definitive evidence that the D-Wave's computer is advantageous for solving specific practical problems, as compared to classical solvers. There is a professor somewhere who, every time when D-Wave claimed that their quantum computer was solving some problems more efficiently, took it as a challenge to find a classical algorithm that would beat it. And so far he has been successful. But lately this has become less clear, because he has been, in Brian's words "exploiting what he knows about the problem". (Mathematicians and computer scientists can make it sound like it's a bad thing. But perhaps he means that while the professor is exploiting special knowledge about a problem, the quantum annealing computer can't make use of that knowledge, thus he is not comparing apples to apples? -- E.)
IARPA -- funding agency for intelligence community, analogy of DARPA -- is focused on developing next-generation quantum annealing, a universal quantum annealer. Their goal is, can you take benchmark projects and scale them to the thousands of qubits that D-Wave has?
Microsoft is looking at high-level languages for quantum computing. They are designing high-level languages that optimize what low-level languages do. They also do their own research into topological quantum computing, which is a very different approach than the qubit-based QC, but Brian thinks that's technologically so far away it's probably never going to happen.
This brings us to another Brian La Cour point, which is that now is a good time even for ordinary software developers to get involved in quantum computing, and you don't have to be a researcher to do it. There are people who are building interfaces in conventional programming languages to QASM, IBM's Quantum assembly language. This is where you as an individual can make a contribution: figure out how to do things in QASM and implement an interface to it in your favorite language. Also, individuals can play around with the IBM's Quantum Experience, a web interface to the IBM's quantum computer, and familiarity with it could put you in a position to get a job at some company that does quantum computing (not that there are many of those currently -- E.).
According to Brian, quantum gamification is also a trend. However, he used the word "gamification" not the way it is typically used (to incentivize certain user behaviors by making them seem like a game). He meant it more literally in the sense of games that teach you something about quantum mechanics. In some of those games people perform actions that help quantum researchers. Here are some examples:
- qCraft -- a "mod" to the popular Minecraft game. It uses "quantum blocks" to teach superposition, observation, and entanglement.
- There are even games that have been programmed on IBM Quantum Experience, such as Quantum Battleship.
- Decodoku was developed to help researchers with quantum error correction. You are protecting researchers from errors.
- cat-paper-scissors game (I could not find it by googling -- E.)
- Quantum Cats from University of Waterloo, Canada. It's like angry birds, except cats can be in superpositions.
Brian La Cour noted that not only quantum computing research is strong in Canada, Canadian QC scientists also do a lot of educational outreach. US scientists don't do nearly as much, but they should.
As always, the least predictable part of any presentation is the audience's questions, and Brian got a few of those.
Audience member. Have you heard of neuromorphic computing?
Brian replied that he has heard about it, but that there wasn't any connection there to quantum computing. It was just another unconventional way to compute. Apropos of unconventional computing, quantum computing in a way is a throwback to analog computing: encoding information in continuous variables, except what comes out is still digital.
Audience member. Can quantum computing be used to mine bitcoins?
Aside from currently existing quantum computers being nowhere near powerful enough to mine bitcoins, Brian also noted that the value of bitcoin is based on the fact that bitcoins are computationally difficult to find. So if you find an algorithm to mine them fast and reliably, it will devalue them.
Audience member. How big a leap is it to go from classical programming to quantum programming? Is it a totally different beast?
Brian. It is a totally different beast. If you try to do things like conditionals and loops, you are doing it wrong. Instead of conditionals you have control gates, where value of one qubit controls what happens to another qubit. Which is sort of like conditional, but linear. A qubit in a superposition of 0/1 controls another qubit which is also in superposition.
The way you think about quantum computing is taking your entire data space, or state space, and think about it all at once.
You initialize all to 0 and apply Hadamard gates all at once. It puts them in superposition of all possible states, and then you do operation on them. You are looking at the whole haystack and apply operations to the whole haystack until you find a needle. You don't examine each value and look whether it's a needle.