quantumlib / Cirq

A Python framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
Apache License 2.0
4.24k stars 1.01k forks source link

Added random single-qubit CUE and Clifford gates #6670

Closed gauravgyawali closed 2 months ago

gauravgyawali commented 2 months ago

Working from Seneca's last PR that provided class RandomizedMeasurements, I

  1. added an additional argument to the __call__ function to include unitary_ensemble: str = "pauli" which can be set to either "pauli", "clifford" or "cue"
  2. added functions for generating random single-qubit Clifford and cue gates.
  3. replaced unitaries_to_moment function with random_single_qubit_unitary_moment to incorporate all three unitary ensembles instead of just Pauli
codecov[bot] commented 2 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.82%. Comparing base (45a6bbb) to head (63051c3).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #6670 +/- ## ========================================== - Coverage 97.82% 97.82% -0.01% ========================================== Files 1072 1072 Lines 92030 92047 +17 ========================================== + Hits 90028 90041 +13 - Misses 2002 2006 +4 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.