The general approach is to have data an presentation layers separate à-la MVC pattern.
data/*.nc
- data filesdata/generators/
- scripts that generate the dataplots/*.ipynb
- scripts that generate figuresplots/pdf/
- pdf output from figure generators
You'll need these to fully understand the code
- QTensor - tensor network simulator with focus on MaxCut
- Cartesian Explorer - a handy tool to map multi-dimensional data
- xarray - used to store datasets with their coordinates in netcdf format
- Gurobi and gurobipy - classical optimization of combinatorial problems.
See instructions on the official site, the general steps are the following:
- Register at the website gurobi.com
- Unpack an archive
- Run licensing code (included in
data/generators/*
)
All the figures in the paper are generated by notebooks in this repository.
- Figure 3:
plots/Longrange correlations [figure 3].ipynb
- Figure 4:
plots/Time bounds [figure4].ipynb
- Figures 5 and 6:
plots/Quantum match gurobi time [figure5, 6].ipynb
- Figure 7:
plots/Match quality multi-shot QAOA[figure 7].ipynb
- Figure 8:
plots/Cost variance vs N [figure8].ipynb
data in data/xarray_0.19.0
were obtained using an older version of xarray
.It was converted to json which was then converted to json and compressed
usng script data/convert/convert_xarray.py
. Some of them failed to load and may need to be converted using older version of xarray.
Note: if you don't see figures in notebooks, select "File -> Trust Notebook"