lanl-ansi / QuantumAnnealing.jl

Tools for the Simulation and Execution of Quantum Annealing Algorithms
Other
23 stars 5 forks source link

Numerical Stability on Long Annealing Times #24

Open ccoffrin opened 2 years ago

ccoffrin commented 2 years ago

In the following example,

ising_model = Dict((1,) => 0.1, (1,2) => 1.0, (2,3) => 1.0, (1,3) => 1.0)
ρ = simulate(ising_model, 100000.0, AS_CIRCULAR)

The simulation error measures oscillate around iterations 14-16. Explore the source of this oscillation and possible remediations.

iter |  steps  |    max(Δ)    |    mean(Δ)   |
   1 |       4 | 4.502655e-01 | 1.083205e-01 |
   2 |       8 | 4.603277e-01 | 1.127451e-01 |
   3 |      16 | 6.024473e-01 | 1.320019e-01 |
   4 |      32 | 4.584239e-01 | 1.469889e-01 |
   5 |      64 | 4.222019e-01 | 1.399790e-01 |
   6 |     128 | 4.129427e-01 | 1.466072e-01 |
   7 |     256 | 3.346978e-01 | 1.003363e-01 |
   8 |     512 | 2.988492e-01 | 8.330287e-02 |
   9 |    1024 | 4.245753e-01 | 5.609475e-02 |
  10 |    2048 | 4.930871e-02 | 7.461533e-03 |
  11 |    4096 | 2.140870e-02 | 2.305103e-03 |
  12 |    8192 | 1.638600e-02 | 3.403855e-03 |
  13 |   16384 | 1.771054e-03 | 5.473394e-04 |
  14 |   32768 | 1.336050e-03 | 2.601251e-04 |
  15 |   65536 | 3.374804e-04 | 4.292236e-05 |
  16 |  131072 | 3.476103e-03 | 2.662018e-04 |
  17 |  262144 | 1.697244e-07 | 1.931474e-08 |

converged
   iterations........: 17
   simulation steps..: 262144
   maximum difference: 1.697244e-07 <= 1.000000e-04
   mean difference...: 1.931474e-08 <= 1.000000e-06
   runtime (seconds).: 22.523099

Tested with Julia v1.7.2, QA v0.1.0