Introduction#

The D‑Wave quantum processing unit (QPU) can be viewed as a heuristic that minimizes Ising objective functions using a physically realized version of quantum annealing.

Such Ising objectives may represent discrete optimization, also known as combinatorial optimization, which is the optimization of objective functions defined over search spaces consisting of a finite set of objects. Any problem in the NP complexity class may be translated into this form (Ising problems defined over strings of -1/+1 symbols or into the equivalent quadratic unconstrained binary optimization, QUBO, problems defined over strings of \(0/1\) symbols).

The Ising objective function of \(N\) variables, \(\vc s=[s_1,...,s_N]\), where \(s_i \in \{+1,-1\}\), is given by

(1)#\[ \text{E}_{ising}(\vc s) = \sum_{i=1}^N h_i s_i + \sum_{i=1}^N \sum_{j=i+1}^N J_{i,j} s_i s_j.\]

Each variable \(s_i\) corresponds to a physical Ising spin that can be in a \(+1\) or \(-1\) state with a local applied field on each spin that causes it to prefer either the \(+1\) or \(-1\) state. The sign and magnitude of this preference—that is, the value of the local field—is denoted \(h_i\). There may also be couplings between spins \(i\) and \(j\) such that the system prefers the pair of spins to be in either of the two sets defined by \(s_i=s_j\) (ferromagnetic coupling) or \(s_i = -s_j\) (antiferromagnetic coupling). The sign and magnitude of this preference is denoted \(J_{i,j}\).

For example, in a single-spin system where \(h_1\) has a large positive value, then the lowest energy occurs when \(s_1\) is \(-1\). Similarly, for two spins, \(s_1\) and \(s_2\), with \(h_1 = h_2 = 0\) and \(J_{1,2} = -1\), the system has two degenerate lowest energy states: one with \(s_1 = -1\) and \(s_2 = -1\), and the other with \(s_1 = +1\) and \(s_2 = +1\).

In computer science, it is often more convenient to model with \(0/1\)-valued variables than the \(-1/1\)-valued Ising variables. Consider, for example, a maximum independent set (MIS) problem where the goal is to select the largest subset of vertices (the independent set) of a graph such that no pair of selected vertices is connected by an edge. For such a problem, it is more intuitive and succinct to define penalties to represent constraints using \(0/1\)-valued variables. QUBOs are typically expressed using matrix notation.

Ising and QUBO problems are NP-hard [Bar1982]. NP-hardness holds even when the problem is restricted to the Chimera™ (or Pegasus™) topology and to the QPU-specific range of \(h_i\) and \(J_{i,j}\) values. There are a number of tractable subclasses [Ber1999] of Ising/QUBO problems; for details, see [Kol2004], [Sch2009], or [Cou2009].

For more information on expressing QUBOs, converting between Ising and QUBO formulations, and mapping problems to the QPU topology, see the Getting Started with D-Wave Solvers guide.

Intended Audience#

This document is for users of the D‑Wave quantum computer system who want to better understand and leverage the physical implementation of the QPU. It assumes that readers have the level of understanding provided by the Getting Started with D-Wave Solvers guide.

Scope#

This document covers the following topics:

  • Description of the implementation of quantum annealing on the D‑Wave QPU and its controls.

  • Integrated control errors (ICE): Dynamic ranges of \(h\) and \(J\) values and how they may affect results.

  • Other sources of errors that affect performance: flux noise, temperature, photon flux, readout fidelity, and programming problems.

  • Procedure used to correct for drift.

  • Timing

The values discussed in this document are representative properties for a D‑Wave QPU. They are not product specifications.

This document does not provide programming instructions. For instructions on programming the system using D‑Wave’s open-source Ocean SDK, see the Ocean software documentation.

Technical Terms#

This document uses the following terms:

  • Hybrid solvers: Quantum-classical hybrid solvers implement state-of-the-art classical algorithms together with intelligent allocation of the QPU to parts of the problem where it benefits most.

  • Quantum processing unit (QPU): Quantum computational element within a D‑Wave system.

  • Quantum machine instruction (QMI): Set of information that is sent to the QPU, including the Ising model or QUBO parameters and annealing-cycle parameters.

  • Annealing cycle: Physical process of starting with the QMI (prepared for the D‑Wave system) and yielding a single sample to the QMI. Typically executed multiple times in a single QMI.

  • Sample, result, read, or solution: Terms for the result yielded by an annealing cycle; ‘sample’ is preferred to connote the nondeterministic behavior of the QPU.

The table below defines some of the mathematical symbols that are used throughout this document.

Table 32 Technical terms.#

Term

Context

Definition

\(q_i\)

QPU

Qubit \(i\) for \(i \in \{0, \ldots, N-1\}\)

\(N\)

QPU

Number of qubits in a QPU

\(s_i\)

Ising problems

Spin state at graph vertex \(i\) for \(i \in \{1, \ldots, N\}\); \(s_i \in \{+1,-1\}\)

\(\vc s\)

Ising problems

Vector of spin states \((s_1, \ldots, s_{N})\)

\(E_{(\vc s)}\)

Ising problems

Energy at spin configuration \(\vc s\)

\(h_i\)

Ising problems

Linear coefficient (bias) on qubit \(i\)

\(J_{i,j}\)

Ising problems

Coupling between spins \(s_i\) and \(s_j\)

\(J_{i,j} < 0\)

Ising problems

Ferromagnetic coupling between spins \(s_i\) and \(s_j\)

\(J_{i,j} > 0\)

Ising problems

Antiferromagnetic coupling between spins \(s_i\) and \(s_j\)

\(J_{i,j} = 0\)

Ising problems

No coupling between spins \(s_i\) and \(s_j\)

\(x_i\)

QUBO problems

Binary state at graph vertex \(i\) for \(i \in \{1, \ldots, N\}\); \(x_i \in \{0,1\}\)

\(\vc x\)

QUBO problems

Vector of binary states \((x_1, \ldots, x_{N})\)

\(\vc Q\)

QUBO problems

Matrix of interactions between variables

\(\vc Q_{i,j}\)

QUBO problems

Coupling between variables \(x_i\) and \(x_j\)

\(t\)

Anneal schedule

Current time during anneal

\(t_f\)

Anneal schedule

Total time for the anneal

\(s\)

Anneal schedule

Anneal fraction; abstract parameter ranging from 0 to 1. A linear anneal sets \(s = t / t_f\).

\(A(s)\)

Anneal schedule

Tunneling energy at anneal fraction \(s\)

\(B(s)\)

Anneal schedule

Problem Hamiltonian energy at anneal fraction \(s\)