# Introduction¶

The D-Wave 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

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 quantum processing
unit (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.

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 tools, see the Ocean 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.

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\) |