Rather than store information using bits represented by 0s or 1s as conventional digital computers do, quantum computers use quantum bits, or quits, encoding information as 0s, 1s, or both at the same time. This superposition of states—along with the other quantum mechanical phenomena of entanglement and tunneling—enables quantum computers to manipulate enormous combinations of states at once.
Programming a D-Wave system:
To program the system, a user maps a problem into a search for the “lowest point in a vast landscape,” corresponding to the best possible outcome. The quantum processing unit considers all the possibilities simultaneously to determine the lowest energy required to form those relationships.
The D-Wave system has a web API with client libraries available for C/C++, Python, and MATLAB.
D-Wave systems are intended to be used to complement classical computers. There are many examples of problems where a quantum computer can complement a high-performance computing system.
D-Wave Systems Work:
In nature, physical systems tend to evolve toward their lowest energy state: objects slide down hills; hot things cool down, and so on. This behavior also applies to quantum systems. To imagine this, think of a traveler looking for the best solution by finding the lowest valley in the energy landscape that represents the problem.
While it is generally most efficient to move downhill and avoid climbing hills that are too high, such classical algorithms are prone to leading the traveler into nearby valleys that may not be the global minimum.
In contrast, quantum annealing begins with the traveler simultaneously occupying many coordinates thanks to the quantum phenomenon of superposition. Quantum entanglement further improves the outcome by allowing the traveler to discover correlations between the coordinates that lead to deep valleys.
D-Wave’s flagship product, the 2000 quit D-Wave 2000Q quantum computer, is the most advanced quantum computer in the world.
It is best suited to tackling complex optimization problems that exist across many domains such as:
- Machine learning
- Sampling / Monte Carlo
- Pattern recognition and anomaly detection
- Cyber security
- Image analysis
- Financial analysis
- Software / hardware verification and validation
- Bioinformatics / cancer research