Tools for the simulation and execution of quantum annealing algorithms.
Install the package,
] add QuantumAnnealing
Load the package and build a two spin ferromagnetic Ising model for simulation,
using QuantumAnnealing
ising_model = Dict((1,) => 0.1, (1,2) => -1.0)
Perform a basic simulation with an annealing time of 1.0
and a linear annealing schedule,
ρ = simulate(ising_model, 1.0, AS_LINEAR)
print_z_state_probabilities(ρ)
Increase the annealing time to approach the adiabatic limit,
ρ = simulate(ising_model, 5.0, AS_LINEAR)
print_z_state_probabilities(ρ)
Change the annealing schedule and observe different state probabilities,
ρ = simulate(ising_model, 5.0, AS_QUADRATIC)
print_z_state_probabilities(ρ)
For a more comprehensive introduction see the package documentation.
If QuantumAnnealing.jl proves useful in your work, please consider citing it using the following BibTeX citation for the pre-print, available here:
@misc{morrell2024quantumannealing,
title={QuantumAnnealing: A Julia Package for Simulating Dynamics of Transverse Field Ising Models},
author={Zachary Morrell and Marc Vuffray and Sidhant Misra and Carleton Coffrin},
year={2024},
eprint={2404.14501},
archivePrefix={arXiv},
primaryClass={quant-ph}
}
This software is provided under a BSD-ish license with a "modifications must be indicated" clause. See the LICENSE.md
file for the full text. This package is part of the Hybrid Quantum-Classical Computing suite, known internally as LA-CC-16-032.