Skip to content

v0.3.0 — CDR Support

Choose a tag to compare

@FedorShind FedorShind released this 03 Apr 18:14
· 46 commits to main since this release

What's New

Clifford Data Regression (CDR) is now the third mitigation technique in EMRG, completing coverage of Mitiq's core mitigation stack.

CDR Support

  • Auto-selected when non-Clifford gate fraction > 20% and depth is 10-40
  • Training circuit count scales with gate count (8/12/16)
  • Code generation produces runnable execute_with_cdr scripts with classical simulator
  • Preview mode runs CDR end-to-end with Cirq DensityMatrixSimulator
  • --technique cdr override available in CLI and Python API

Three-Way Decision Engine

Priority order: PEC > CDR > ZNE (first match wins).

  • PEC: noise model available + shallow + low overhead
  • CDR: high non-Clifford fraction + moderate depth
  • ZNE: fallback with Linear/Richardson/Poly factory selection

Circuit Analysis

  • New fields: non_clifford_count, non_clifford_fraction
  • Classifies T, Tdg, arbitrary-angle rotations as non-Clifford
  • Clifford angles (multiples of pi/2) correctly identified with float tolerance
  • Covers sx, sxdg, iswap, and other IBM hardware basis gates

Benchmarks

CDR outperforms ZNE on non-Clifford-heavy circuits:

  • Rz-rotation 4q: CDR >1000x reduction vs ZNE 2.8x
  • VQE 4q: CDR 2.1x vs ZNE 1.4x

Other

  • 366 tests, 96% coverage, zero lint warnings
  • Rewritten VQE and QAOA tutorial notebooks with CDR coverage
  • README tightened with clear-writing pass

Full Changelog: v0.2.9...v0.3.0