• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Qiskit / qiskit / 23738581156
87%

Build:
DEFAULT BRANCH: main
Ran 30 Mar 2026 10:18AM UTC
Jobs 1
Files 929
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

30 Mar 2026 09:23AM UTC coverage: 87.493% (+0.01%) from 87.48%
23738581156

push

github

web-flow
Support commutation check between Pauli-based gates and standard gates (#15488)

* Transpiler: implement exact Pauli generators for LightCone in Rust

This PR adds exact Pauli generator expansions for the following gates:
- single-qubit: H (X+Z)
- 2-qubit: CX, CY, CZ, ECR, Swap, iSwap, CSX, CS, CSdg
- parametric: CRX, CRY, CRZ, CPhase, RXX, RYY, RZZ, RZX, XXPlusYY, XXMinusYY
- 3-qubit: CCX, CSwap

This enables high-performance bitwise commutation checks in the LightCone
pass, avoiding slow matrix-multiplication fallbacks. Parametric gates are
scaled dynamically in Rust using the input parameters.

Co-authored-by: Shelly Garion <shelly.garion@ibm.com>
Co-authored-by: Alexander Ivrii <alexander.ivrii@ibm.com>

* Lint: apply cargo fmt and fix clippy::map_clone in split_2q_unitaries.rs

* Expose generator_observable to Python

Following feedback from Alexander Ivrii, this commit exposes the Rust
generator_observable function and the StandardGate enum to Python under
the qiskit._accelerate.standard_generators submodule.

This allows developers to verify the mathematical generators directly from
Python and reuse the logic for other purposes like PauliEvolutionGate
verification. The Rust-internal API is maintained via a dedicated
generator_observable function that accepts slices.

* Refactor generator logic to use qiskit_circuit::StandardGate

* Update generator_observable with expansions for CCX/CCZ/CSwap

* Fix generator fallback for unsupported gates and update docs

* Narrow PR scope: remove split_2q_unitaries and pyext python wrapper

* Add generator support for CS, CSdg, CSX, CCX, CCZ; add commutation tests

* style: run black on test_commutation_checker.py

* style: run rustfmt on standard_generators.rs

* lint: fix license headers and pylint warnings

* style: remove decorative unicode lines and add operator equivalence tests

* fix: ensure strict Operator equivalence for all supported generators

* style: fix pylint reimport and missing variables in... (continued)

282 of 295 new or added lines in 5 files covered. (95.59%)

21 existing lines in 4 files now uncovered.

104300 of 119210 relevant lines covered (87.49%)

1018997.11 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
5
98.12
crates/quantum_info/src/sparse_observable/standard_generators.rs
8
89.07
-0.87% crates/transpiler/src/commutation_checker.rs

Uncovered Existing Lines

Lines Coverage ∆ File
1
86.99
0.0% crates/circuit/src/parameter/parameter_expression.rs
2
92.8
1.03% crates/qasm2/src/lex.rs
6
97.63
-0.47% crates/qasm2/src/parse.rs
12
73.81
-0.49% crates/circuit/src/parameter/symbol_expr.rs
Jobs
ID Job ID Ran Files Coverage
1 23738581156.1 30 Mar 2026 10:18AM UTC 929
87.49
GitHub Action Run
Source Files on build 23738581156
  • Tree
  • List 929
  • Changed 9
  • Source Changed 5
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23738581156
  • 3942c9c9 on github
  • Prev Build on gh-readonly-queue/main/pr-15897-2941838bbcf335563e27e9f92ba83dfec2720110 (#23708332878)
  • Next Build on main (#23746526776)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc