Open areeq-hasan opened 2 years ago
This looks pretty good already.
After reviewing the Diátaxis framework's distinction between tutorials and how-to guides, I actually now think this should be placed in the how-tos
directory. (I was unsure where it belonged before reading this.)
The other important thing to get a handle on is the performance, so that we can continue to regularly run all notebooks as integration tests (using treon). I'm beginning to investigate this.
I mentioned in #21:
We will probably begin by parameterizing the various basis rotations, so that a single circuit can be sent to the primitives, along with various parameter sets.
One might reasonably hypothesize that repeatedly constructing the circuits takes more time than actually running them on the simulator. If so, then parametrizing the circuits might allow us to get many more shots than 1 (as this notebook uses currently) without much additional cost, as we would only have to generate the circuit once, regardless of number of shots. It would be interesting to evaluate whether my hypothesis is indeed correct (i.e., the relevant time spent generating the circuits vs. simulating them).
Summary
In this notebook, we evaluate the performance of QRAO by determining how closely it approximates the exact solution to MaxCut for 100 random 3-regular graphs. We also compare the performance of QRAO used with two different rounding schemes. In the process, we reproduce the main results of the paper (i.e. Fig. 1).
Details and comments
Running the magic rounding QRAO for a 40-node graph instance takes a while on my machine, so I've set the quantum instance that performs magic rounding to only do 1 shot. We can adjust this easily if necessary. Adding a section to the notebook that analyzes magic rounding QRAO performance (both approximation ratio and execution time) as a function of the number of shots of the rounding quantum instance could be also be interesting.