mitiq
mitiq copied to clipboard
Mitiq <> Qrack tutorial
We should create a tutorial demonstrating how to use Mitiq in conjunction with Qrack as a simulation backend. Which error mitigation technique to use could be up to the author.
cc @WrathfulSpatula
I have this, for "reduced density matrix ("RDM") approximate near-Clifford technique in Qrack, mitigated with Mitiq:
https://github.com/vm6502q/pyqrack-jupyter/blob/main/Clifford_RZ_Mitiq_RCS.ipynb
The near-Clifford work has since even moved past this: "near-Clifford rounding" approximate simulation is what I was talking about in the community call today, which has done 64/64(x2)/64(x2) [width]/[circuit depth layers]/[non-Clifford gates] mirror circuit benchmarks at ~90% fidelity, (in a few hours, and that's not the upper limit). However, in that case, we can't mitigate the probability amplitude: it tends to be (discrete) 100%, 50%, and 0% fidelity only. It should be possible to define some observable expectation value on these outcomes that varies more continuously, though.
I'm happy to assign myself, here, unless someone else would strongly prefer to work with me (presumably) to better explore the potential interface between the Mitiq side and the Qrack side.
https://github.com/vm6502q/pyqrack-jupyter/blob/main/Clifford_RZ_Mitiq_RCS.ipynb
I think this could be a good basis for a tutorial, but I think if we went this direction, we should have two parts. The first part would be defining an executor that simulates a circuit using Qrack and the second can be a more advanced dive into using both more advanced features of Mitiq and Qrack.
WDYT?
Sounds good! I'll split this into those two parts, then, and improve the textual explanation.
By the way, I'd like to demonstrate these general principles using "near-Clifford rounding" technique rather than (near-Clifford) "reduced density matrix" approximation technique. The former seems to be much more powerful and accurate, but it's a little tricky to cast the results in a form that Mitiq can effectively mitigate. However, in the field, we'd start with the best base approximate simulation technique we have, so it's important that the tutorial use the best in Qrack and demonstrate a real use case, if possible.
@farzadkianvash
(Note that mirror circuits, as used in the original example, will now likely complete even at high widths in 100% fidelity; we need to mitigate something besides overall mirror circuit fidelity, after recent improvements in Qrack.)