I need to characterize an unknown 2-qubit operation. As I understand it, quantum process tomography (QPT) can do this, but will not account for state preparation and measurement (SPAM) errors. On the other hand, gate set tomography provides a full description of all operations involved in the gateset that is used for the tomography, but the downside is that it is very expensive (several hours of classical computation time). Is there something more efficient than GST if I only care about precisely characterizing my specific 2-qubit operation (but still accounting for SPAM errors), and I don't care about characterizing the other gates in the gateset? Would it help if I start with a good approximate guess for what the operation should be? Alternatively, can the classical computation of GST be sped up in any significant way to make it more feasible?
1 Answer
I'm one of the devs on the pyGSTi team (one of the main software packages for designing and analyzing gate set tomography experiments). 2-qubit GST can certainly be computationally expensive to perform analysis on. There are a number of ways to speed this up, however. The primary way is with parallelization, utilizing additional cores in the fitting process. pyGSTi has native support for parallelization using MPI, and there is a tutorial for how to set this up on github. For modestly sized experiment designs running on a modest workstation PC it is generally possible to run the GST analysis in well under an hour (that is admittedly still long for certain applications). We're always working on improving this, but that is the current state of things at time of my writing.
A couple other tweaks that you might find speed things up:
Try running the analysis without the complete positivity constraint (CP) turned on. Enforcing the CP constraint adds a considerable computational overhead, and as such TP-only fits often run significantly more quickly. I wouldn't recommend doing so for camera-ready results, but if your goal is to analyze a large number of experiments in short order and get some initial impressions out for the purposes of iterating on them this would be a reasonable thing to do in my opinion (you can always re-analyze any particularly interesting data sets properly using the CP constraint later on).
Streamline your experiment designs. The fewer circuits you have the faster the analysis will run. We have a number of built-in experiment designs in pyGSTi for commonly used gate sets in so-called modelpacks. But these are designed to work on many systems by default, and not to be the most streamlined experiment possible for your particular system. Try playing around with the fiducial selection and germ selection algorithms built-into pyGSTi to get smaller experiment designs. Another tool you can deploy is called fiducial pair reduction, which prunes down redundancy in your experiment design further (at the cost of a bit of robustness).
Seeding your fits using apriori information about your gates probably helps? I phrased that as a question because, while the functionality for passing in a non-ideal gate set as your seed for the fitting is built-into pyGSTi and straightforward to do, I've never personally tried this in practice. Intuitively, insofar as your initial guess is a good one, this ought to result in the optimizer converging faster, speeding up the analysis. In practice though you'd need to experiment and see how well it works for you. By default the CPTP fits are seeded using the ideal target gate set, while TP-only fits use linear-inversion GST (LGST) to seed the estimate (see sec 3).
Feel free to post on the github page (or use one of the alternative contact options listed therein) to reach out directly if you run into any issues with pygsti.
Circling back to your more general questions. Generally speaking, a full characterization factoring in SPAM, but only characterizing a particular gate, isn't really possible. Insofar as you're generating an informationally complete set of state preparations and measurements by using other gates in your gate set your options are either to make an assumption about the action of these gates, or to self-consistently characterize them alongside the one you care about.
In the vein of making assumptions about the SPAM, you might find this recent work from Chris Warren et. al. at Chalmers university interesting. In it they demonstrate a form of SPAM adjusted quantum process tomography for characterizing a native 3-qubit gate on their system. There are some references to the underlying theory results contained in the paper too. To get the SPAM adjustment they use the results of single-qubit GST (which only takes a few seconds to analyze on a laptop computer) to set their priors. This isn't perfect, of course, as there is an implicit assumption here that the action of a single-qubit gate when viewed in isolation is the same as its action when embedded in a multi-qubit setting. So you're implicitly assuming your system doesn't have significant levels of crosstalk (which is rarely true). Very likely a good deal better than assuming your SPAM is perfect, however.
One last thing I'll mention is that if you're happy with a partial characterization of your gate then there are alternative SPAM-robust characterization protocols you might be interest in. See for example spectral quantum tomography from Helsen, Battistel and Terhal. Or cycle benchmarking from Erhard et. al. Or Lindblad Tomography from Samach et. al.