Time is specified in microseconds. For standard anneals, input times are rounded to two decimal places (a granularity of 0.01 \(\mu s\)); for the fast-anneal protocol, you can specify times to a maximum resolution of 0.05%.[1]

The following rules apply to the set of anneal-schedule points provided:

  • Time \(t\) must increase for all points in the schedule.

  • For forward annealing, the first point must be \((0, 0)\).

  • For reverse annealing, the anneal fraction \(s\) must start and end at \(s = 1\).

  • In the final point, anneal fraction \(s\) must equal 1 and time \(t\) must not exceed the maximum value in the annealing_time_range property.

  • The number of points must be \(\geq 2\).

  • The upper bound on the number of points is system-dependent; check the max_anneal_schedule_points property. For reverse annealing, the maximum number of points allowed is one more than the number given by this property.

  • The steepest slope of any curve segment, \(\frac{s_i - s_{i-1}}{t_i - t_{i-1}}\) must not be greater than the inverse of the minimum anneal time. For example, for a QPU with a annealing_time_range value of [ 0.5, 2000 ], the minimum anneal time is 0.5 \(\mu s\), so the steepest supported slope is 2 \(\mu s^{-1}\). If you want a section of the piecewise-linear curve that starts at time point \(t_4 = 30 \mu s\) to increase from \(s_4=0.7\) to \(s_5=0.8\), this example QPU supports a schedule that contains \(t_5 = 30.06 \mu s\) ([... [30.0, 0.7], [30.06, 0.8], ...]), which has a maximum slope of \(1 \frac{2}{3}\), but not one that contains \(t_5 = 30.04 \mu s\) ([... [30.0, 0.7], [30.04, 0.8], ...]), which has a maximum slope of \(2 \frac{1}{2}\).

    Note that the I/O system that delivers the anneal waveform—the \(\Phi_{\rm CCJJ}(s)\) term of equation (2) in the Annealing Implementation and Controls section—to a QPU limits bandwidth; if you configure a too-rapidly changing curve, even with supported slopes, expect distorted values of h and J for your problem.

  • Only two points can be specified when fast_anneal is True.

\begin{equation} {\cal H}_{ising} = - \frac{A({s})}{2} \left(\sum_i {\hat\sigma_{x}^{(i)}}\right) + \frac{B({s})}{2} \left(g(t) \sum_{i} h_i {\hat\sigma_{z}^{(i)}} + \sum_{i>j} J_{i,j} {\hat\sigma_{z}^{(i)}} {\hat\sigma_{z}^{(j)}}\right) \end{equation}

where \({\hat\sigma_{x,z}^{(i)}}\) are Pauli matrices operating on a qubit \(q_i\) and \(h_i\) and \(J_{i,j}\) are the qubit biases and coupling strengths.