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
352 stars 156 forks source link

Add glossary of QEM concepts to docs #1582

Closed nickdgardner closed 1 year ago

nickdgardner commented 1 year ago

Feedback/suggestions very welcome, especially on:

Overleaf doc for drafting, additional notes: https://www.overleaf.com/7945521889pgjpnsvkjzyd

Issue Description

Coverage of certain core concepts necessary for understanding and motivating quantum error mitigation is not adequate in standard intro to QC resources currently (the coverage is variously too basic or advanced or dispersed). This makes Mitiq less accessible than it could be.

Proposed Solution

Add a single-page glossary of concepts that are important for understanding/motivating QEM but aren't covered adequately (for Mitiq's purposes) in the standard intro QC resources.

Each concept/term could consist of:

Candidate terms for glossary

For concepts that are intrinsically complex and/or have complicated formalisms, I think the aim while writing a definition should be to define it informally but as precisely as possible in a few sentences.

As for the imagined audience (lowest level of presumed background), I am thinking (but other suggestions welcome): someone with basic knowledge of quantum computing (not a total beginner) who may have heard of error mitigation and variational algorithms but who does not know what they are.

The goal of a glossary definition should be to provide a person from the imagined audience with additional background they need to follow the core Mitiq documentation and the examples.

Definitely Include

  1. Circuit Depth
  2. Clifford Data Regression (CDR)
  3. Digital Dynamical Decoupling (DDD)
  4. Expectation Value
  5. Gate Fidelity
  6. Global Folding
  7. Local Folding
  8. Observable
  9. Probabilistic Error Cancellation (PEC)
  10. Quantum Error Mitigation (QEM)
  11. Quantum Error Correction (QEC)
  12. Readout Error Mitigation (REM)
  13. Sampling Overhead
  14. Zero Noise Extrapolation (ZNE)

Maybe Include

  1. Ansatz
  2. Circuit Size
  3. Hamiltonian
  4. Monte Carlo Estimation
  5. Near-term Algorithm
  6. Noise Model
  7. Pulse Stretching
  8. Quantum Approximate Optimization Algorithm (QAOA)
  9. Quantum Channel
  10. Quasi-Probability Decomposition
  11. Variational Quantum Algorithm (VQA)
  12. Variational Quantum Eigensolver (VQE)

Action items

  1. Scan through Users Guide and Examples looking for (1) concepts that should be defined (for the imagined audience of Mitiq users) and (2) where in the documentation they are already defined (or note if they are not yet defined)

Additional references

Possible external resources to link in term definition, if a reader wants more detail

Papers (especially surveys)

If resource is a paper, should be included in Mitiq references and linked through there. TODO: clean up, add links

Other (online articles, documentation)

Models/inspiration from other documentation

github-actions[bot] commented 1 year ago

Hello @nickdgardner, thank you for your interest in Mitiq! If this is a bug report, please provide screenshots and/or minimum viable code to reproduce your issue, so we can do our best to help get it fixed. If you have any questions in the meantime, you can also ask us on the Unitary Fund Discord.

natestemen commented 1 year ago

Nice start Nick! Let's try to keep this limited to error mitigation specific terms and concepts for now. We have the common acronyms wiki page here, which could be a source of info.

I think starting small and building from there is the way to go for this.

nickdgardner commented 1 year ago

Ok sounds good! I'll put a link to a doc on the agenda ahead of Friday's meeting with some draft definitions for people to look at.

Misty-W commented 1 year ago

Link to Overleaf (thanks Nick!): https://www.overleaf.com/7945521889pgjpnsvkjzyd

nathanshammah commented 1 year ago

Thanks @nickdgardner, looks great. Can we move to discuss porting the "Definitely Include?" list? It could be good to assign some terms to others. But to begin, this issue could be resolved by adding the glossary to the docs quickly and creating the scaffolding for populating more terms.

nickdgardner commented 1 year ago

Sounds good! I'll have a draft glossary page to look at for the community call today and we can go from there.