Quantum computing harnesses the phenomena of quantum mechanics to deliver a huge leap forward in computation to solve certain problems.
IBM designed quantum computers to solve complex problems that today's most powerful supercomputers cannot solve, and never will.
Dive in
Progress has been swift. In a few short years we now have over 20 of the world's most powerful quantum computers, accessible for free on the IBM Cloud.
If you're a developer, jump right in by joining the world's largest quantum developer community and start today.
For everyone else, here's a simple explanation of quantum computing.
Until now, we’ve relied on supercomputers to solve most problems. These are very large classical computers, often with thousands of classical CPU and GPU cores. However, supercomputers aren’t very good at solving certain types of problems, which seem easy at first glance. This is why we need quantum computers.
Total combinations
The answer is over 3 million and that's just 10 people around a table.
Larger versions of these kinds of problems stump our most powerful supercomputers, because:
Supercomputers don't have the working memory to hold the myriad combinations of real world problems.
Supercomputers have to analyze each combination one after another, which can take a long time.
Here are some simple examples of these combinatorial optimization problems:
A logistics company, delivering to 50 cities, wants to know the optimal route to save on fuel costs.
An investment company wants to balance risk of their investment portfolios.
A pharmaceutical company wants to simulate molecules to better understand drug interactions.
Since 2017 IBM Quantum has been working with clients and partners to solve problems like these. Here are real life quantum computing applications.
A new generation of electric vehicles through quantum battery technology
Reducing atmospheric carbon emissions using quantum computing aided material discovery
Searching for Higgs events and the origins of the universe
For over two decades, IBM has been pioneering the development of quantum computer systems to solve these sorts of problems in fundamentally news ways, making use of these two approaches.
Quantum computers can create vast multidimensional spaces in which to represent these very large problems. Classical supercomputers cannot do this.
Algorithms that employ quantum wave interference are then used to find solutions in this space, and translate them back into forms we can use and understand.
Here’s why it matters
One promising quantum algorithm that uses these techniques is called Grover's Search. Suppose you need to find one item from a list of N items. On a classical computer you'd have to check N/2 items on average, and in the worst case you would need to check all N.
Using Grover's search on a quantum computer you would find the item after checking roughly √N of them. This represents a remarkable increase in processing efficiency and time saved. For example, if you wanted to find one item in a list of 1 trillion, and each item took 1 microsecond to check:
Classical computer
About 1 week
Quantum computer
About 1 second
You don't have to know how quantum computers work to use them, however the science is interesting because it represents so many advanced fields coming together.
Given the potential computational power of quantum computers, you might expect them to be gigantic. In fact they are currently about the size of a domestic fridge, with an accompanying wardrobe-sized box of control electronics.
In the same way that bits are used in a classical computer, at the heart of the quantum computer are quantum bits or qubits (CUE-bits) which can store information in quantum form.
First we use superfluids to chill superconductors. We get these superconductors very cold – about a hundredth of a degree Celsius above absolute zero: the theoretically lowest temperature allowed by the laws of physics.
You can explore the world of quantum computing for free on the IBM Cloud, and learn to write quantum code – starting with absolute zero experience.
IBM's quantum computers are programmed using Qiskit, a software development kit in Python. Qiskit is free, open source, and accompanied with a comprehensive textbook and semester-long course.