# 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

Just as the classical computing world needed a software ecosystem to build a broad community of application developers and users, the quantum computing world does as well. D‑Wave has undertaken a strategic initiative to build and foster a quantum software development ecosystem. D‑Wave customers, users, third party developers, and quantum software companies have introduced system software, higher level tools, and applications that leverage the power of the D‑Wave system. Using these development tools and client libraries, developers can create algorithms and applications within their existing environments using industry-standard tools.

D‑Wave is also using open source as a way to get tools into the hands of more developers. In early 2017, we released an open-source, quantum software tool, qbsolv^{TM}, which enables developers to build higher level tools and applications leveraging the quantum computing power of D‑Wave’s systems, without the need to understand the complex physics of quantum computers.

D‑Wave’s release of qbsolv adds to a growing software ecosystem that enables application developers to use D‑Wave’s quantum systems more quickly and easily. Quantum software companies such as 1QBit, QC Ware, and QxBranch as well as users of D‑Wave’s systems from organizations including Los Alamos National Laboratory and Oak Ridge National Laboratory, have already built tools and applications.

## Programming

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 quantum machine instruction (QMI) to the QPU. Solutions to the problem 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.

Users can submit problems to the D‑Wave quantum computer in several ways:

- Using a program in C, C++, Python, or MATLAB to create and execute QMIs
- Using a D‑Wave tool such as:

– QSage, a translator designed for optimization problems

– ToQ, a high-level language translator used for constraint satisfaction problems and designed to let users “speak” in the language of their problem domain

– qbsolv, an open-source, hybrid partitioning optimization solver for problems that are larger than will fit natively on the QPU. Qbsolv can be downloaded here.

– dw, which executes QMIs created via a text editor - By directly programming the system via QMIs