quantumlib / Cirq

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

Introduce gauge compilation #6526

Closed NoureldinYosri closed 7 months ago

NoureldinYosri commented 7 months ago

This PR introduces the abstraction for Gauge compilation as well as implementation for Sycamore gate, CZ gate, SqrtCZ gate, ZZ (a.k.a spin inversion), ISWAP gate, and SQRT_ISWAP gate

codecov[bot] commented 7 months ago

Codecov Report

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

Project coverage is 97.79%. Comparing base (45c5fa3) to head (87ab1bb).

:exclamation: Current head 87ab1bb differs from pull request most recent head db24b44. Consider uploading reports for the commit db24b44 to get more accurate results

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #6526 +/- ## ======================================== Coverage 97.78% 97.79% ======================================== Files 1107 1124 +17 Lines 95188 95460 +272 ======================================== + Hits 93079 93351 +272 Misses 2109 2109 ```

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

NoureldinYosri commented 7 months ago

For the sqrt_iswap gauges, since the gauges that you found are special cases of the continuous ones, I'm not sure it makes sense to include both. Maybe just include the continuous ones?

done