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
358 stars 157 forks source link

Create getting started and installation #57

Closed willzeng closed 4 years ago

willzeng commented 4 years ago

For the beta release we'll need a getting started that shows how to install the library and shows examples of how to use the library.

I propose that the examples show one how to:

Other suggestions for the getting started?

willzeng commented 4 years ago

@nathanshammah Since you are already doing #34 this is a sub-issue of that. Can you assign this to yourself as well?

nathanshammah commented 4 years ago

Sure. I am actually tinkering with jupyter notebooks that would do that. Nothing working smooth yet but it is helping with some ideas and questions I have.

I also think that it is nice to add two or three other simple examples :

They have an overlap with the examples on the backends, but they may target a different need.

Factories

From my limited understanding and my guess, it could be that "Factories" would be more general than for ZNE. Maybe I am wrong, or it was not settled, but Factory could be a staple that interfaces also with other techniques such as quasiprobability, etc. In any case at this point they look to me like QuTiP's Qobj and Pennylane's QNode. They are a quite flexible class whose objects are used to do things in mitiq. Having something about them is helpful.

ZNE and Folding

Some researchers may get to know mitiq even without a proper knowledge of the quantum circuit stacks, but really as a curiosity into QEM. These two examples would tackle the most widely known approach and an innovation.

willzeng commented 4 years ago

Good points.

rmlarose commented 4 years ago

Should we make separate issues and assignees to avoid duplicated work? Summarizing from above, it looks like the examples we want to have now are:

Examples

I think we can discuss an example template (e.g., Jupyter notebook? script?) and once we all agree, branch off to develop the above examples with the template.

willzeng commented 4 years ago

Agreed, breaking this up is a great suggestion. Let's do that

On Fri, Mar 27, 2020, 1:37 PM Ryan LaRose notifications@github.com wrote:

Should we make separate issues and assignees to avoid duplicated work? Summarizing from above, it looks like the examples we want to have now are:

Examples

  • Minimal example of ZNE (with any frontend/backend).
  • ZNE with a Cirq program on a Cirq backend.
  • ZNE with a Qiskit program on a Qiskit backend.
  • ZNE with a Cirq program on a Qiskit backend.
  • Factories + how to make a custom factory and use it.
  • Folding methods + how to use a custom folding method.

I think we can discuss an example template (e.g., Jupyter notebook? script?) and once we all agree, branch off to develop the above examples with the template.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/unitaryfund/mitiq/issues/57#issuecomment-605145592, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABHZDARQKEOBWVDVRFQ5LKDRJTP5LANCNFSM4LSY6BNA .

rmlarose commented 4 years ago

Closing this in favor of separate issues #65, #66, #67, and #68 addressing the content of this issue.

Please reopen @willzeng or @nathanshammah if I missed anything.