At its Ignite conference, Microsoft today put its stake in the ground and discussed its progress in building a quantum computer and giving developers tools to experiment with this new computing paradigm on their existing machines.
There's a lot to untangle here, and few people will claim that they understand the details of quantum computing. What Microsoft has done, though, is focus on a different aspect of how quantum computing can work -- and that may just allow it to get a jump on IBM, Google and other competitors that are also looking at this space. The main difference between what Microsoft is doing is that its system is based on advances in topology that the company previously discussed. Most of the theoretical work behind this comes from Fields Medal-recipient Michael Freedman, who joined Microsoft Research in 1997, and his team.
"What topology does is that it gives you this ability to have much better fidelity," Microsoft's corporate vice president for quantum research Todd Holmdahl told me. "If you look at our competitors, some of them have three nines of fidelity and we could be at a thousand or ten thousand times that. That means a logical qubit, we could potentially implement it with 10 physical qubits." What the team essentially did is use Freedman's theories to implement the error correction that's so central to quantum computing at the physical level. I'm not going to pretend I really understand what topological qubits are, but it's essentially harder to disturb than classical qubits (and in quantum computing, even at at the lowest currently achievable temperatures, you always need to account for some noise that can disturb the system's state).
With Station Q, Microsoft now runs its own quantum computing lab in Santa Barbara, and Holmdahl tells me the team tripled in size over the course of the last year. The idea here is clearly to build a commercial quantum computer. Whether Microsoft plans to sell the device itself or whether it will simply make it available through Azure remains to be seen. Holmdahl believes that while Microsoft hasn't figured out the business model yet, the most natural place for a quantum computer would be in the cloud. Every quantum computer, after all, also needs a classical computer to control it, and, in the data center, you could attach a quantum computer as an auxiliary processing unit to a regular machine.
For now, though, that's still a far way into the future. What developers will soon be able to do, though, is run Microsoft's simulator on their own machines (those machines need to be rather powerful, though). The company decided to not just release this simulator, though. In addition, the company developed a new programming language for writing these quantum applications, too. As Microsoft's Krysta Svore told me, the idea here is to offer a comprehensive full-stack solution for controlling the quantum computer and writing applications for it. "We like to talk about co-development," she said. "We are developing those [the hardware and software stack] together so that you're really feeding back information between the software and the hardware as we learn, and this means that we can really develop a very optimized solution."
The programming language takes its key concepts for C#, F#, Python and other languages, but with the addition of new features for accessing the features of a quantum computer, too. The simulator will allow developers to figure out if their algorithms are actually feasible and can run on a quantum computer, and where there's surely a barrier of entry here, both Svore and Holmdahl argue that getting started with this shouldn't be all that different from learning how to program an FPGA, for example. "If you have a decent computer science background, I believe the delta is smaller than you think," Holmdahl said.
All of these software tools will be available by the end of the year. Don't expect them to be open source, though. Svore argues that the internals of the compiler aren't what you really need to write your quantum applications anyway, but you could say the same about .NET apps, and Microsoft did open source the .NET compiler platform.