unitaryfund / mitiq

Mitiq is an open source toolkit for implementing error mitigation techniques on most current intermediate-scale quantum computers.
https://mitiq.readthedocs.io
GNU General Public License v3.0
356 stars 157 forks source link

Add documentation for beginner introduction to QEM #2188

Open natestemen opened 6 months ago

natestemen commented 6 months ago

Our documentation could use a page that orients them as to what QEM is, what it can do, and a quick demonstration. We have the start of this on our About Error Mitigation page.

cc @bdg221 @purva-thakre since you both mentioned this topic during the retrospective. Do you have ideas about what this a page like this should look like? How does it differ from what we have in the page linked above?

bdg221 commented 6 months ago

@natestemen what is the intended target for the About Error Mitigation page? Is it aimed at a wide range of audiences from completely non-technical to a QC researcher?

I would think that this page is specifically for those without experience. I know there is big push for at least exposure to quantum computing for students of all levels (including high school) and different disciplines. The about page should be aimed at them. I would want a high schooler to be able to read this page and at least get the general idea of error mitigation, ZNE, and PEC.

Those with more experience or looking for a more technical explanation can follow links or go to the "theory behind" pages to learn more.

With that in mind, I am looking at the page as though a very smart high school student was reading it.

What is quantum error mitigation?

Zero-noise extrapolation:

Limitations of zero-noise extrapolation:

I'll stop here and see what you two have to say, as the PEC section gets more technical.

natestemen commented 6 months ago

what is the intended target for the About Error Mitigation page?

Great question(!) and one that we should be thinking about a lot more when writing documentation in general. In my opinion, this page should be written for someone with an understanding of the circuit model of quantum computation, but not necessarily much else. Currently, I think we assume the reader is familiar with how one models quantum noise, what it is, and why it needs mitigating in the first place. Those things could use some more motivation here!

I would want a high schooler to be able to read this page and at least get the general idea of error mitigation, ZNE, and PEC.

Of course I want this too, but I don't think we should aim for being a resource for someone who does not have a basic understanding of quantum computation. Do you think there is merit in writing about why QEM is needed to a more general audience?

I like all of your suggestions on how to make the ZNE section of this page better! Thanks so much for them!

(More) Suggestions

  1. The PEC section has way too much math! Lets keep that in the theory section of the user guide.
  2. This page would really benefit from some pictures/diagrams. The classic ZNE plot would be good, as well as a general one for QEM like the right side of this.
  3. There are now three growing distinctions in our field that are probably worth having on this page
    1. Error suppression (DDD is the only technique in Mitiq, as far as I know, that falls under this category)
    2. Error mitigation (ZNE et al)
    3. Error correction (QECCs)
  4. I like the software portion of this page, but it's definitely not currently being kept up to date. We could make it just software related to QEM. There we have Mitiq, Qiskits built in stuff, mthree, and Qermit as far as I'm aware.

Overall, my takeaway from thinking about this a bit more is that indeed we should use this About EM page as an on ramp to more QEM material. Teaching someone who knows the basics of quantum computation to understanding the basics of quantum computation with noise to mitigation noise on quantum computers seems like a good pedagogical flow.