anneal_schedule details

There is a lack of detailed information in the docs about the 4 tuples meaning in the "anneal_schedule" parameter. I found this on the forum and I wonder if it is correct:


anneal_schedule = (
(0.0, 0.0), # Start the anneal (time 0.0) at 0.0 (min)
(1.0, 0.25), # Quickly ramp up to 0.25 anneal at 1us
(19.0, 0.75), # Hold the anneal at 0.25 until 19us, then go up to 0.75
(20.0, 1.0) # End the full anneal at 20us

response = sampler.sample_qubo(Q, anneal_schedule=anneal_schedule, num_reads)


Seems that the 2nd tuple is about the "quench", in this case, if I want to avoid the "quickly ramp", should I set up 2nd tuple to "(5, 0.25)" and 3rd tuple to (15, 075), right? The pause is the difference: 15us - 5us = 10us?

That example setup will run just 2us of the entire 20us anneal time? Just from 0 to 1us and from 19us to 20us?

I thought the "pause" will hold the anneal for some microseconds, but after that, the remain anneal time (19us) will run.

e.: in a 20us anneal, if I want to pause it at 50% for 100us, it's possible?! (run the first 10us, pause 100us, run the last 10us)

"(0.0, 0.0), (10.0, 0.50), (110.0, 0.50), (120.0, 1.0)" - is this considered a 20us annealing process with 100us pause, or is this a 120us annealing (QPU execution) process?

Where can I find the right information about those "anneal_schedule" 4 tuples?

Thank you very much.



1 comment
  • In my reading of the docs i concluded that this was piece wise linear and needed to be monotonic.  

    The use of pauses, where time changes but value doesn't, seems correct. 

    Comment actions Permalink

Please sign in to leave a comment.

Didn't find what you were looking for?

New post