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
363 stars 163 forks source link

Clarify how CDR training circuits are generated #1393

Closed AminHosseinkhani closed 11 months ago

AminHosseinkhani commented 2 years ago

An important aspect of Clifford Data Regression is how the training circuits are constructed. In the original publication cited by Mitiq as the reference, Quantum 5, 592 (2021), the implementation of the methods is done via Markov Chain Monte Carlo (MCMC).

In the Mitiq cdr code, on the other hand, the training circuits are constracted using a simpler method based on how close the non-Clifford gates are to the set of Clifford gates. While this simplere technique is also mentioned in the original publication, as indicated before, all of the results presented in the original publication are obtained via MCMC.

To avoid possible confusion here, it would be very appropriate if the documentary of mitiq.cdr could be updated to clarify this issue and to explicitly mention that mitiq.cdr does not implement MCMC, but rather the simpler technique.

github-actions[bot] commented 2 years ago

Hello @AminHosseinkhani, 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.

andreamari commented 2 years ago

Hi @AminHosseinkhani, thanks for your useful feedback on CDR!

Based on your comments, there are two things that we can do:

  1. Updating the documentation with a warning based on your comment. Issue (this one): #1393 .
  2. Actually implementing the more advanced appraoch (Markov Chain Monte Carlo) for the generation of training circuits. I just opened a new issue dedicated to this aspect. Issue: #1399

@AminHosseinkhani, your are super welcome to take any of the above issues. If you are interested just leave a comment under the corresponding issue. Of course this is optional, no pressure.

natestemen commented 1 year ago

Scope of this issue is to update the docs to reflect we don't currently use MCMC to generate CDR training circuit since #1399 is open to implement the more advanced technique in code.