A significant update which shifts pyGSTi's focus to multiple qubits. Previous version, treated 1- and 2-qubit systems as the "normal" case, and n-qubit systems as the "special" case (evidenced by object and function naming and features, i.e. pyGSTi's API). This version takes a big step toward treating 1- and 2-qubit systems as special cases of a single, more general, n-qubit case.
This update breaks backward compatibility, which can mostly (often completely) be restored by running the included pyGSTi/scripts/update2v0.9.7.py script on old scripts and/or notebooks.
This update also revamps the tutorials, giving them into an intuitive network of hyper-linked notebooks. The updates will make both broadly learning what pyGSTi can do and located detailed guidance of specific topics much easier than it was in past versions. Begin by opening the pyGSTi/jupyter_notebooks/START_HERE.ipynb notebook.
Added
- Adds beta-level implementation of "Idle Tomography" (a new multi-qubit characterization protocol)
- Adds ability to compose gates by adding together their error generators.
- Adds support for exporting Circuit objects to IBM's OpenQASM specification and Rigetti Quantum Computing's Quil specification (more coming soon).
- Adds new "implicit" noise models designed for multi-qubit processors.
Fixed
- Bug fixes (particularly in the computation of gauge-invariant fidelities).
Changed
- the drift-detection sub-module is amidst an upgrade and is not completely functional in this release.