Here’s something to consider: A computer running as many bit strings as there are atoms in the universe. Yes, the universe.
Microsoft researcher Michael Beverland dangled that possibility during a presentation at Microsoft Ignite 2018 called “Explore how to develop quantum computing applications without a Ph.D.,” which he co-hosted with Microsoft Quantum software design engineer Bettina Heim. The session was part of our effort to acquaint new and aspiring quantum developers with tools they can use today to learn and explore quantum computing.
The quantum computer Beverland discussed would run 250 qubits (quantum bits). Because qubits amplify their power by interweaving with one another, that will lead to a computer exponentially more powerful than anything available today. Such a computer, or even one with far fewer qubits, will crack the code of incredibly complex chemical molecules, solve medical challenges, and lead to the manufacture of “lossless” power lines.
Beverland also discussed the Microsoft approach to creating a quantum computer. Our plan is to build a full-stack quantum system, scalable to meet real-world needs. Microsoft teams today are working on all the tools needed for quantum computing:
- Quantum Development Kit.
- Algorithms and applications.
- Cryogenic controls to create the incredibly cold temperatures a quantum computer will need.
- Topological qubits – scalable and stable quantum bits.
So what can we learn from the history of classical computing as we build a quantum computer? Beverland showed participants a photograph of ENIAC, one of the earliest electronic general-purposed computers. Built in 1945 at a cost of nearly $500,000, ENIAC could perform in 30 seconds certain tasks a human would require 20 hours to complete. Pointing at the people in the black-and-white photo – programmers Glen Beck and Betty Snyder – Beverland said: “I like to think that they could already sense that these machines, and others like them, would change the world. “In quantum computing we have a similar feeling. We think we’re on the precipice of a huge change that quantum computing will bring about.”
Watch a video of the presentation here:
In a second session, “An Introduction Quantum programming through the Quantum Development Kit and Q# Katas,” Bettina Heim showed developers how to use the Microsoft Quantum Katas, an open-source project containing a series of programming exercises that provide immediate feedback as one learns how to code in Q#. “Quantum computing is going to be much the same as classical computing, and will be expressed in similar terms,” Heim told her audience. “So you don’t need all the details and physics formulas – you can use the building blocks that we provide, and you just write algorithms.”
Heim then walked participants through a half-dozen programming tests, each time running the algorithm to show that it was “solved’ using quantum tools. Watch the session here:
As we noted in an earlier blog, it has been a year since Microsoft unveiled its vision for building a scalable quantum computer. The company is advancing toward that goal, with seven Microsoft quantum labs around the world actively engaged in engineering a topological quantum computer that scales to meet real-world computing challenges. We’re forming partnerships with institutions such as the Pacific Northwest National Laboratory (PNNL), and Case Western Reserve University (CWRU) to apply quantum principles that advance science and help people. And we’re offering industry-leading developer support in the form of the Microsoft Quantum Development Kit. We’re making real progress on creating a quantum computer and were delighted to have the chance to share our work at Ignite 2018.
Overheard at Ignite 2018 – what participants wanted to know about quantum computing
Audience questions, and answers offered by Beverland and Heim, have been edited to add context.
Question: What is the status of quantum computing? How close are we to using quantum computing to solve for RSA encryption?
Answer: There are various sizes of problems we might take on with quantum computers, and RSA is one of the largest. You will need a very powerful quantum computer to crack RSA for 2,000 characters. How close are we to that point? Across the world there are lots of approaches to building qubits, with all the teams working on them trying to scale up. Our approach is to build a system that scales from the outset and has much lower noise. But we are not at the stage where we have a large number of qubits. Some teams have qubits in the tens and hundreds, but they’re very noisy.
Question: My understanding is that once you read the value of qubits, they’re destroyed. So how do you know when a quantum computer has solved a problem?
Answer: The way that a quantum algorithm typically works is that you start the entire set of qubits in some very specific quantum state. That will be close to what we see in the classical state, with zeroes and ones. Quantum algorithms will start with all qubits being in, say, a zero state. It’s an art to develop a quantum algorithm that ensures that just before you measure the state of the qubits, you’re in or close to one of these classical states, so you don’t get highly random answers.
Question: Are there some kinds of problems that could be solved with a classical computer but not with a quantum computer?
Answer: Theoretically, no: A quantum computer can do everything a classical computer of the same size can do. However, we have very large classical computers (petabytes) and it will be a long time before we have quantum computers with “peta-qubits.” So there will be some problems for which quantum computers are theoretically as good as classical computers, but not much better, and we will presumably use classical computers to solve them simply because large classical computers will be cheaper. There are of course some high-value problems which we simply cannot solve on any classical computer in existence but which we can solve on small quantum computers. Those are the application areas we are most interested in.
Question: Does the Microsoft Quantum Development Kit come with error detection and resolution?
Answer: By design, if you’re running on something like a quantum simulator, it runs perfectly. Quantum algorithms are probabilistic so there is a certain amount of error because your algorithm is not designed to be fully deterministic. And there are potential hardware errors, which depends on the hardware. Even our knowledge of how these errors are supposed to behave is a tricky thing.
Question: There are a lot of sessions on AI (here at Ignite). Will quantum computing be more apt at building real artificial intelligence?
Answer: At the minute that’s unknown. It’s an active area of research. A quantum computer is fundamentally a different tool, so it could open new opportunities in AI.
Question: A qubit is a unit of storage. That also means we’re going to have problems with storing that and some way to process it. Are those the next steps?
Answer: We are thinking about what it takes to make a quantum application work end to end. There are practical considerations, like where does my memory go? If I want to load something then do something with it and then put it back, where does it go? Quantum computing is a little different in a lot of ways. You can have scratch space that simultaneously holds part of the memory for a computation that can be used for another computation without destroying the information it holds for the first part. Until we have the hardware to see if it works in reality, we won’t know.
Want to learn more?