This package implements the Quantum Approximate Optimization Algorithm and the Mean-Field Approximate Optimization Algorithm.
To install, use Julia's built-in package manager
julia> ] add QAOA
Our docs can be found here. Examples showcasing the use of QAOA.jl
are also presented in our examples folder.
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
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.
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}
}