In Part I of this series, we looked at some fundamental quantum mechanical principles that underpin emerging quantum technologies. In this article, we look at how those fundamental principles apply to quantum computing and describe some practical aspects of quantum computers.
When we think about quantum computers, we imagine them replacing current computers, both at home and in the office. However, quantum computers are huge machines that require entire rooms to house them. This is primarily because qubits need to be protected under vacuum and kept at extremely low temperatures, which requires sizeable cryogenic machines. Even qubits themselves are a few tenths of a millimetre, which is much larger than the nanometre-sized components of today’s smartphones. It is thus not currently physically possible for quantum computers to be manufactured or used in the same way as traditional computers.
Even though research is being done to reduce their current size, most academic studies and industrial applications are focused on building a small number of stable quantum computers that can be accessed via the cloud from people’s current laptops, desktops and mobile phones.
Although not widely known outside the quantum sector, anyone can currently gain access to a quantum computer, or at least a simulator of a quantum computer. For example, IBM’s publicly available “Quantum Platform” teaches users about building and implementing quantum algorithms to run on quantum computers. Similar cloud quantum computing services for running programmes on real quantum computers or simulators is also provided by various other companies. For example, “Azure Quantum” by Microsoft, has partnered with various providers to allow their users to test their quantum circuits.
In the transition from classical to quantum coding, various quantum programming languages have been developed, such as Q# by Microsoft. To make quantum coding as accessible and straightforward as possible, IBM developed a Python library, Qiskit. This can be used for building quantum circuits for research or for application development, which can then be run on any quantum computer or simulator. If you’re curious, it is free to set up an account and start building quantum circuits and for those who want to learn more, IBM provides educational resources teaching how to code using Qiskit.
Quantum codes are used for building quantum circuits, which are essentially graphical representations of quantum algorithms. The quantum circuits include a series of operations that act on qubits and end with a measurement. In classical computing, algorithms essentially perform a series of bit flips i.e. changing ‘0’ to ‘1’ and vice versa. However, quantum circuits usually involve much more complex operations such as phase flips, the creation of superposition states and the entanglement of specific qubits.
When the circuit terminates, the result has to be read out to a classical computer. This “measurement” of a qubit results in the irreversible collapse of the superposition state into one of the contributing states. We can think of this analogously to tossing a coin: when it is in the air the coin is neither heads nor tails and resembles a superposition state. When it lands, there is a 50/50 chance of getting heads or tails, just like measuring a qubit with an equal probability of it collapsing into a ‘0’ or ‘1’ state. Therefore, only partial information about the qubit’s state can be retrieved. Due to the probabilistic nature of measuring a qubit, many different “measurements” of the qubit’s state can be made to gain an understanding of the superposition state. Tossing a coin multiple times indicates the probabilities of getting heads or tails, and similarly measuring a qubit multiple times indicates the relative probabilities of the ‘0’ and ‘1’ states.
Quantum computing has the power to transform the speed of computing processes, but initially at least, quantum computers will run alongside classical computers, rather than replace them. The publicly accessible quantum computers (and simulators) described above have enabled the research community to test quantum circuits, computational chemistry models and develop tools to overcome computational errors. Enabling researchers, coders and software developers to study the limitations of quantum computers has led to a rapid development of widely beneficial software tools. Recently, the UK has contributed to these efforts by signing an agreement between the National Quantum Computing Centre (NQCC) and IBM, to provide the UK research community and public sector organisations with the highest available access to IBM’s quantum computers. If you’re interested in having a go yourself, there is an introduction to Quantum Programming from the Python Foundation here: Python Programming Tutorials.
This is the second article in our series on Patenting Quantum Computing in Europe. Our first article is available here.
 IBM Quantum. https://quantum-computing.ibm.com/
 Microsoft, Azure Quantum. https://learn.microsoft.com/en-us/azure/quantum/overview-azure-quantum
 National Quantum Computing Centre. “NQCC announces the signing of an agreement with IBM.” Press release, 2 Nov. 2023. https://www.nqcc.ac.uk/updates/nqcc-announces-the-signing-of-an-agreement-with-ibm
28.11.2023How a patent portfolio can shed light on new Electric Vehicle battery technology
Nathaniel Taylor interrogates Toyota’s patent portfolio in the hunt for the technical details behind their recent "battery breakthrough". Does their solution lie in a new solid state cathode material?
16.08.2023Inventive step at the EPO for AI inventions – T 2803/18
Assessment of inventive step at the European Patent Office is made with reference to the technical effect of the claimed invention. In particular, only those features of a claim that contribute to the technical character of an invention may be taken into account when determining whether an inventive step is present.