Awesome
QAOA.jl
This package implements the Quantum Approximate Optimization Algorithm and the Mean-Field Approximate Optimization Algorithm.
Installation
To install, use Julia's built-in package manager
julia> ] add QAOA
Documentation & Examples
Our docs can be found here. Examples showcasing the use of QAOA.jl
are also presented in our examples folder.
Benchmarks
QAOA.jl
also supports gradient optimization via automatic differentiation. Below is a comparison of run times between PennyLane
[@PennyLane] and QAOA.jl
on an Apple M1 processor. The benchmarks are retrieved by performing 128 steps with the respective gradient optimizer on the same instance of size $N$ of the minimum vertex-cover problem.
Support & Contributing
In case you need support or have encountered a problem with the package, you are welcome to create an issue on GitHub. If you would like to contribute to QAOA.jl
, you can reach us via PGI-12.
Citations
If you are using code from this repository, please cite our work. Also consider our algorithmic paper:
@article{PRXQuantum.4.030335,
title = {Mean-Field Approximate Optimization Algorithm},
author = {Misra-Spieldenner, Aditi and Bode, Tim and Schuhmacher, Peter K. and Stollenwerk, Tobias and Bagrets, Dmitry and Wilhelm, Frank K.},
journal = {PRX Quantum},
volume = {4},
issue = {3},
pages = {030335},
numpages = {19},
year = {2023},
month = {Sep},
publisher = {American Physical Society},
doi = {10.1103/PRXQuantum.4.030335},
url = {https://link.aps.org/doi/10.1103/PRXQuantum.4.030335}
}