Repository with code and data for results presented in "Partial Compilation of Variational Algorithms for Noisy Intermediate-Scale Quantum Machines" by Pranav Gokhale, Yongshan Ding, Thomas Propson, Christopher Winkler, Nelson Leung, Yunong Shi, David I. Schuster, Henry Hoffmann, Frederic T. Chong (University of Chicago).
Files are loosely organized and intended for record-keeping. Contact the authors for details.
Rough organization, with some key files listed:
- PY3_quantum-optimal-control: Python 3 version of https://github.com/SchusterLab/quantum-optimal-control.
- /quantum_optimal_control/core/hamiltonian.py: gmon system Hamiltonian
- /quantum_optimal_control/helper_functions/qutip_verification.py: verification script
- experiments: Contains most code for partial compilation techniques
- /Binary_Search_Strict_Partial_Compilation.ipynb: Binary search for shortest pulse times when performing partial compilation
- /QAOA: results for QAOA benchmarks
- /Gate_Times.ipynb: gate times for each gate in gate set, computed using optimal control
- /GateBasedTimes.ipynb: total gate-based runtimes for each VQE benchmark
- /StrictPartialBasedTimes.ipynb: compiling pulse time results for VQE benchmarks, using strict partial compilation
- /FlexiblePartialBasedTimes.ipynb: compiling pulse time results for VQE benchmarks, using flexible partial compilation
- /RealisticPulses.ipynb: results using more realistic pulses (include qutrit states, require smooth pulse shapes, lower sampling rate).
- fqc: code for breaking circuits into slices that can be partially compiled, especially in fqc/util
- scripts: scripts for sending large batches of compile jobs to computing cluster