mitiq icon indicating copy to clipboard operation
mitiq copied to clipboard

Mitiq <> Qrack tutorial

Open natestemen opened this issue 1 year ago • 7 comments

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

natestemen avatar Sep 08 '23 16:09 natestemen

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.

WrathfulSpatula avatar Sep 08 '23 17:09 WrathfulSpatula

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.

WrathfulSpatula avatar Sep 08 '23 17:09 WrathfulSpatula

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?

natestemen avatar Sep 11 '23 16:09 natestemen

Sounds good! I'll split this into those two parts, then, and improve the textual explanation.

WrathfulSpatula avatar Sep 11 '23 16:09 WrathfulSpatula

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.

WrathfulSpatula avatar Sep 11 '23 18:09 WrathfulSpatula

@farzadkianvash

Misty-W avatar Sep 29 '23 16:09 Misty-W

(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.)

WrathfulSpatula avatar Sep 29 '23 16:09 WrathfulSpatula