For many of us, the fast-evolving pace of technology means we are increasingly surrounded by one black box after another. We may have a rudimentary idea of how things work, but not enough to do anything more than understand the instructions.
To really understand, you have to be able to open up the black box, actually see how it works and then put it back together. The latter point is one reason I leave my car engine well alone. The same goes for my laptop – I’m happy to leave that to the techies and the coders.
But even if I was computer savvy, how am I supposed to get my head around the quantum computer revolution heading our way, when it’s impossible to look inside while it’s running?
One of the many quirks of quantum computing is that it relies on the strange interaction of atoms and subatomic particles, and then there’s the small matter that the whole fragile quantum state collapses once you try and look at what’s actually going on.
Seeing quantum computing in action
“A quantum computer is the ultimate black box,” smiles quantum physicist Professor Lloyd Hollenberg who heads the University of Melbourne’s first ever course on quantum computer programming.
He’s smiling because even after just 15 minutes, he is pleased a dullard like me is starting to show some rudimentary understanding of how quantum computing works. And it’s all thanks to a quantum computer simulator he and his colleagues have developed that basically lets you operate a quantum computer... with the lid off.
“To see how a quantum computer works you want to crack it open, but in the process, you collapse the quantum state, so what do you do? Our simulator was designed to solve that problem, and in terms of its ease of use and what it tells you, it’s unique,” says Professor Hollenberg.
There are already opportunities for people to access online a few of the small-scale quantum computers that have so far been developed, but generally programmers will only get back the final output from their coding – they won’t be able to ‘see’ how it works.
It’s this ability to see inside that Professor Hollenberg says is crucial to help students learn by actually doing, and for professionals to debug their quantum code.
qubits and pieces
The simulator – the Quantum User Interface or QUI – is software that lets you click and drag logic instructions that operate on quantum bits (known as qubits) in order to write a program.
A remote cluster of computers at the University runs the program on a simulated quantum computer and sends back the results in real time so the user can inspect and visualise all aspects of the quantum computer’s state at every stage in the program.
A qubit is simply the quantum version of a classical computer ‘bit’ – the basic unit of computer data that exists in one of two states, which in programming we know as 0 or 1. This is the basis of all computer coding, and in a classical computer the 0s or 1s are usually represented by the different voltages that run through its transistor.
But in a quantum computer the bits, or qubits, are quantum objects, like an electron in an atom, which can be in one of two states that we can likewise label for convenience as 0 or 1.
What these quantum objects actually are varies across different quantum computer systems, but for the computer programmer that isn’t so important. What is important is the 0 and 1 generated by the quantum objects enables us to use the objects for coding.
Getting past the weird physics
What’s different about qubits is that because of the weird physics that exists at the atomic scale, each qubit can be in an unresolved ‘quantum superposition’ state of 1 and 0. When observed (which, remember, collapses the quantum state) each will have some probability of being 0 or 1, depending on how the quantum superposition was formed.
Qubits can also be made to influence each other through a property called entanglement so that if a qubit is resolved as 0, another might automatically be 1.
It is these peculiarities of quantum physics that promise to make quantum computers much more powerful than classical computers and, therefore, able to address difficult problems – like optimising complex routes or systems from weather forecasting to finance, designing new materials, or aiding machine learning.
Unlike a classical computer that laboriously computes all possibilities before finding the right answer, a quantum computer uses the wave-like properties of data structures and numbers to narrow down the probability of the correct answer for problems that, theoretically, our current computers have no hope of matching.
For the students accustomed to classic computer programming – it’s like learning from scratch.
“You have to think really differently with quantum programming,” says electrical engineering student Fenella McAndrew, who is doing the course.
“We’re basically going back to the start of the programming process, like working at the level of one circuit in conventional programming.”
And the rules of how numbers are processed in a quantum computer is, for the uninitiated, mind boggling.
“Teaching the material is a challenge, especially without a quantum mechanics background,” says Professor Hollenberg. “But there is a clear demand from students and professionals to learn more about the technology and get themselves ‘quantum ready’.”
It was this need to make quantum computing more accessible to people with no physics background that was the genesis of developing QUI. The system allows programmers to see each phase of the operation and exactly what the quantum computer is doing – in particular how the quantum data is being manipulated to produce the output of the program.
This is critical information for a would-be quantum programmer to understand.
For students grappling with quantum theory that even experts struggle to explain, it’s reassuring to get started using the QUI and actually see quantum computing at work.
“Quantum software design is such a new concept, and it feels more abstract than conventional computer coding, so being able to see what is happening when we design a function really helps,” says Daniel Johnston, a maths student taking the course.
SOLVING PROBLEMS IMMEDIATELY
Professor Hollenberg’s co-teacher, physicist Dr Charles Hill, says QUI means students are actually doing quantum computing themselves from the outset of the course.
“People learning quantum computing need to understand how bits of information are manipulated with the unique rules that are different from classic computing, and then write their programs in a way that solves the problem they are looking at.
“We’ve found that the QUI is easy and intuitive to use. It takes the beginner no more than five minutes to get started with the system and writing programs,” Dr Hill says.
According to Professor Hollenberg, further versions of QUI are now in the works.
“We are working on improvements and add-ons which will not only enhance the user experience, but also the uptake of the system more broadly in teaching and research,” he says.
Budding quantum software programmers, or indeed anyone interested in quantum computing, can view the introductory video and try the system at QUIspace.org.
In addition to Professor Hollenberg and Dr Hill, the QUI development team comprised Aidan Dang, Alex Zable and Matt Davis; IT experts Dr Melissa Makin and Dr Uli Felzmann; and research students Sam Tonetto, Gary Mooney and Greg White.
Find out about University of Melbourne’s IBM Quantum Hub.
Banner Image: Peaks of probabilities associated with data in a quantum algorithm evolve through time in a complicated way. The example pictured is part of a simulation of a quantum computer finding the prime factors of a number using Shor’s Algorithm. Picture: Matthew Davis, Gregory White and Aidan Dang