mitiq.readthedocs.io Open in urlscan Pro
2606:4700::6811:2152  Public Scan

Submitted URL: http://mitiq.readthedocs.io/
Effective URL: https://mitiq.readthedocs.io/en/stable/
Submission: On November 07 via api from US — Scanned from DE

Form analysis 2 forms found in the DOM

GET search.html

<form class="bd-search d-flex align-items-center" action="search.html" method="get">
  <i class="fa-solid fa-magnifying-glass"></i>
  <input type="search" class="form-control" name="q" id="search-input" placeholder="Search the docs ..." aria-label="Search the docs ..." autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false">
  <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form>

GET //readthedocs.org/projects/mitiq/search/

<form id="flyout-search-form" class="wy-form" target="_blank" action="//readthedocs.org/projects/mitiq/search/" method="get">
  <input type="text" name="q" aria-label="Dokumente durchsuchen" placeholder="Dokumente durchsuchen">
</form>

Text Content

Ctrl+K

Site Navigation

 * 
 * Users Guide
 * Examples
 * API-doc
 * Contributing
   More
   Changelog References

 * Source Repository



Site Navigation

 * 
 * Users Guide
 * Examples
 * API-doc
 * Contributing
   More
   Changelog References

 * Source Repository

Advertising for Developers Reach your niche with powerful contextual targeting
powered by ML
Ad by EthicalAds   ·   ℹ️


#



Mitiq is a Python toolkit for implementing error mitigation techniques on
quantum computers.

Current quantum computers are noisy due to interactions with the environment,
imperfect gate applications, state preparation and measurement errors, etc.
Error mitigation seeks to reduce these effects at the software level by
compiling quantum programs in clever ways.

Want to know more? Check out our documentation and chat with us on Discord.


QUICKSTART#


INSTALLATION#

pip install mitiq


Copy to clipboard


EXAMPLE#

Define a function which inputs a circuit and returns an expectation value you
want to compute, then use Mitiq to mitigate errors.

import cirq
from mitiq import zne, benchmarks


def execute(circuit, noise_level=0.005):
    """Returns Tr[ρ |0⟩⟨0|] where ρ is the state prepared by the circuit
    with depolarizing noise."""
    noisy_circuit = circuit.with_noise(cirq.depolarize(p=noise_level))
    return (
        cirq.DensityMatrixSimulator()
        .simulate(noisy_circuit)
        .final_density_matrix[0, 0]
        .real
    )


circuit = benchmarks.generate_rb_circuits(n_qubits=1, num_cliffords=50)[0]

true_value = execute(circuit, noise_level=0.0)      # Ideal quantum computer
noisy_value = execute(circuit)                      # Noisy quantum computer
zne_value = zne.execute_with_zne(circuit, execute)  # Noisy quantum computer + Mitiq

print(f"Error w/o  Mitiq: {abs((true_value - noisy_value) / true_value):.3f}")
print(f"Error w Mitiq:    {abs((true_value - zne_value) / true_value):.3f}")


Copy to clipboard

Sample output:

Error w/o  Mitiq: 0.264
Error w Mitiq:    0.073


Copy to clipboard


CALIBRATION#

Unsure which error mitigation technique or parameters to use? Try out the
calibration module demonstrated below to help find the best parameters for you
particular backend!



See our guides and examples for more explanation, techniques, and benchmarks.


QUICK TOUR#


ERROR MITIGATION TECHNIQUES#

Technique

Documentation

Mitiq module

Paper Reference(s)

Zero-noise extrapolation

ZNE

mitiq.zne

1611.09301
1612.02058
1805.04492

Probabilistic error cancellation

PEC

mitiq.pec

1612.02058
1712.09271
1905.10135

(Variable-noise) Clifford data regression

CDR

mitiq.cdr

2005.10189
2011.01157

Digital dynamical decoupling

DDD

mitiq.ddd

9803057
1807.08768

Readout-error mitigation

REM

mitiq.rem

1907.08518
2006.14044

See our roadmap for additional candidate techniques to implement. If there is a
technique you are looking for, please file a feature request.


INTERFACE#

We refer to any programming language you can write quantum circuits in as a
frontend, and any quantum computer / simulator you can simulate circuits in as a
backend.

SUPPORTED FRONTENDS#

Cirq

Qiskit

pyQuil

Braket

PennyLane









  

Note: Cirq is a core requirement of Mitiq and is installed when you pip install
mitiq.

SUPPORTED BACKENDS#

You can use Mitiq with any backend you have access to that can interface with
supported frontends.


CITING MITIQ#

If you use Mitiq in your research, please reference the Mitiq whitepaper using
the bibtex entry found in CITATION.bib.

A list of papers citing Mitiq can be found on Google Scholar / Semantic Scholar.


LICENSE#

GNU GPL v.3.0.


CONTRIBUTING#

We welcome contributions to Mitiq including bug fixes, feature requests, etc. To
get started, check out our contribution guidelines and/or documentation
guidelines.


CONTRIBUTORS ✨#

Thank you to all of the wonderful people that have made this project possible.
Non-code contributors are also much appreciated, and are listed here. Thank you
to

 * @francespoblete for much of Mitiq’s design work/vision

Contributions of any kind are welcome!

next



On this page
 * Quickstart
   * Installation
   * Example
   * Calibration
 * Quick Tour
   * Error mitigation techniques
   * Interface
     * Supported frontends
     * Supported backends
   * Citing Mitiq
 * License
 * Contributing
 * Contributors ✨



Show Source


© Copyright 2020 - 2023, Tech Team @ Unitary Fund.


Created using Sphinx 5.2.3.


  v: stable
Versionen latest stable v0.31.0 v0.30.0 v0.29.0 v0.28.0 v0.27.0 v0.26.0 v0.25.0
v0.24.0 v0.23.0 v0.21.0 v0.20.0 v0.19.0 v0.18.0 v0.17.1 v0.17.0 v0.16.0 v0.15.0
v0.14.0 v0.13.0 v0.12.0 v0.11.1 v0.11.0 v0.10.0 v0.9.2 v0.9.1 v0.9.0 v0.6.0
v0.5.0 v0.4.1 v0.4.0 v0.3.0 v0.2.0 v.0.1a2 v0.1.0 Auf Read the Docs
Projektstartseite Erstellungsprozesse Downloads Auf GitHub Ansehen Suche


--------------------------------------------------------------------------------

Bereitgestellt von Read the Docs · Datenschutz-Bestimmungen