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.
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.