-
Couldn't load subscription status.
- Fork 58
Description
There have been a significant number of improvements to our experiment design capabilities in pygsti over the past year-or-two, but so far none of these have trickled down in any significant way to the modelpacks (the recent addition of MS-gate modelpacks by @enielse being a possible exception). Moreover, certain design choices for the modelpacks made sense in the original context in which they were made, but are less ideal presently. Examples:
- Prep and measurement fiducial sets in the modelpacks for multi-qubit gate sets are designed use only single qubit gates. Using two-qubit gates for measurement fiducials often significantly reduces the number of fiducials required, sometimes by a factor of 2 or more (which translates directly into reductions of the same magnitude in experiment designs overall). Recent empirical findings also suggest that including two-qubit gates in measurement fiducials also improves the performance of per-germ FPR when applied.
- Most modelpacks include the option for returning FPRed experiment designs, but these are generally out of sync with the current state of the art and should ideally be brought up to date with our current implementations.
- For certain single-qubit modelpacks the decision was made to use a full state 2-design for the preparation and measurement fiducials. This decision has a good enough justification, but also requires significantly more circuits than is required by a minimally-informationally complete set and if nothing else warrants a brief explanation in the relevant docstrings.
To bring things up to date I suggest the following:
- Add preparation and measurement fiducial sets to the modelpacks including two-qubit gates. Add a flag to the corresponding modelpack functions for toggling between this and fiducial sets containing only single-qubit gates. Debate welcome about whether including two-qubit gates should be the default going forward or not.
- Replace the FPRed experiment designs in the modelpacks with versions generated with the latest experiment design code (perhaps keeping the older ones accessible with an appropriate flag for backwards compatibility). Debatable as to whether we should include just one design, or options for designs from both per-germ classic and the new per-germ global FPR schemes.
- For single qubit gate sets where we are using state 2-designs for the fiducials include an option for toggling between this and a MIC set. Not certain which should be the default going forward.
Some last thoughts:
A reasonable objection to some of the above might be that we risk bloating the modelpack interface too much by adding these additional experiment design options directly to them as opposed to pushing folks interested in more refined designs to use the experiment design generation code directly. While I am sympathetic to this perspective, so far as I can tell the vast majority of pygsti users rely nearly entirely on modelpacks for experiment designs and only a small number of power users ever actually touch the experiment design generation code. In other words, if we want people to actually use the cool new tech we've been developing in this area we'd be well-served to meet them where they currently are, which is in the modelpacks. End rant.
Thoughts?