# Quantum Computing

Despite the incredible power of today’s supercomputers, there are many complex computing problems that can’t be addressed by conventional systems. While we are only at the beginning of this journey, quantum computing has the potential to help solve some of the most complex national defense, scientific, technical, and commercial problems that organizations face. Quantum computing is the next frontier in technology, providing an entirely new approach to some of the world’s most difficult challenges.

A quantum computer taps directly into the fundamental fabric of reality—the strange and counterintuitive world of quantum mechanics—to speed computation. Rather than store information as 0s or 1s as conventional computers do, a quantum computer uses qubits—which can be 1 or 0 or both at the same time. This *quantum superposition*, along with the quantum effects of *entanglement* and *quantum tunneling*, enable quantum computers to consider and manipulate many combinations of bits simultaneously.

## The D-Wave 2000Q Quantum Computer

D‑Wave’s flagship product, the D-Wave 2000Q™ system, leverages quantum dynamics to accelerate and enable new methods for solving discrete optimization, sampling, machine learning, and cybersecurity problems. With 2000 qubits, it is the most advanced quantum computer in the world.

D‑Wave systems use a process called *quantum annealing* to search for solutions to a problem, Quantum annealing is fundamentally different from classical computing. It harnesses the natural tendency of real-world quantum systems to find low-energy states. If an optimization problem is analogous to a landscape of peaks and valleys, for instance, each coordinate represents a possible solution and its elevation represents its energy. The best solution is that with the lowest energy corresponding to the lowest point in the deepest valley in the landscape.

For quantum effects to play a role in computation, the quantum processing unit (QPU) requires an extreme, isolated environment. The closed cycle dilution refrigerator and layers of shielding create an internal high vacuum environment with a temperature close to absolute zero that is isolated from external magnetic fields, vibration, and RF signals of any form.

While traditional supercomputers generate massive amounts of heat and consume massive amounts of power, the D‑Wave system consumes less than 25 kW of power, most of which goes towards operating the cooling system and front-end servers.

## Software Tools

For quantum computing, as for classical, solving a problem requires that it be formulated in a way the computer and its software understand. D-Wave’s Ocean software development kit includes a suite of open-source Python tools on the D-Wave GitHub repository for solving hard problems with quantum computers. The software stack implements the computations needed to transform an arbitrarily posed problem to a form solvable on a quantum solver.

**The Ocean software fits between applications and the compute resources:**

**Application:**Original problem in its context (the “problem space”) including application data and a clearly defined goal. For example, a circuit-fault diagnosis application in chip manufacturing requires the identification of the minimum set of failed logic gates in a circuit.**Mapping Methods:**Tools that translate the application goal and data into a problem form suitable for quantum computing. They also receive solution samples and translate them back into solutions for the application layer. For example, dwave_networkx helps map structural imbalance analysis into a BQM.**Uniform Sampler API:**Abstraction layer that represents the problem in a form that can access the selected sampler.**Samplers:**Tools that receive a problem in the form of a BQM and return solution samples. Ocean implements several samplers that use the D-Wave QPU as well as classical compute resources. You can use Ocean tools to customize a D-Wave sampler, create your own, or use existing classical ones.**Compute Resources:**The processing hardware on which the problem is solved. This might be a D-Wave QPU but it may also be the CPU of your laptop computer.

While users can submit problems to the system in a number of different ways, ultimately a problem represents a set of values that correspond to the weights of the qubits and the strength of the couplers. The system takes these values along with other user-specified parameters and sends a single QMI to the QPU. Problem solutions correspond to the optimal configuration of qubits found; that is, the lowest points in the energy landscape. These values are returned to the user program over the network.

Because quantum computers are probabilistic rather than deterministic, multiple values can be returned, providing not only the best solution found, but also other very good alternatives from which to choose. Users can specify the number of solutions they want the system to return.

**The D-Wave 2000Q system also gives users important control over the quantum computation:**

**Virtual graphs:**Many optimization and machine learning algorithms are commonly described as graph problems. D-Wave’s virtual graphs feature improves accuracy in the upgraded system, by allowing control over the interaction of groups of qubits, to model a node or link in a complex graph. This new feature has improved success rates by 5 times over earlier D-Wave 2000Q systems, for common hard optimization problems and machine learning models.**Pause and Quench:**In the standard application of quantum annealing in D-Wave systems, qubits evolve according to a predetermined anneal schedule. Some types of research (e.g., quantum simulation), however, may benefit from fine-grained adjustments to the default schedule. In these cases, you can change the shape of the energy waveform by introducing a pause or quench (i.e., abrupt termination). This level of control helps investigate what is happening partway through the annealing process.**Reverse annealing:**This lets users program the system in an entirely new way, harnessing powerful heuristic search algorithms for optimization and machine learning, and applications such as cybersecurity and drug discovery. Reverse annealing allows users to specify the problem they wish to solve along with a predicted solution in order to narrow the search space for the computation. Using reverse annealing, D-Wave researchers observed a 150 times speedup over the current D-Wave 2000Q system.**Anneal offsets:**Certain problems benefit when some qubits anneal slightly before or after others. The anneal offsets feature lets users advance or delay anneal paths to enhance application performance. Algorithms using this feature have shown performance improvements of up to 1000 times for some problem types.