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

Qiskit / qiskit-fermions / 30071413551
98%

Build:
DEFAULT BRANCH: main
Ran 24 Jul 2026 06:20AM UTC
Jobs 1
Files 91
Run time 1min
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

24 Jul 2026 06:08AM UTC coverage: 97.686% (+0.001%) from 97.685%
30071413551

push

github

web-flow
fix(transpiler): compensate JW Z-string for interleaved peeled modes in Slater synthesis (#206)

The peeling optimization in GivensDecompositionSlaterDeterminantSynthesis
prepared the wrong Slater determinant whenever a peeled unit-orbital sat
between two kept mixing modes.

The reduced Givens sweep emits rotations adjacent in reduced-local (kept-mode)
indexing, but the kept_modes remap can place a rotation's physical endpoints
across one or more peeled modes -- yielding an XXPlusYYGate on physically
non-adjacent qubits. The framework relies on a nearest-neighbor XXPlusYYGate
being the correct Jordan-Wigner fermionic hop with no explicit Z-string; a
non-adjacent gate omits the Z-string over the intervening modes. Since every
peeled mode is an occupied unit-orbital, each one strictly between the
endpoints contributes a JW sign, so an odd number of them flips the hop's
sign and corrupts the prepared state (e.g. overlap 0.0784 instead of 1.0).

Fold that sign back in: for each emitted rotation, count the peeled modes
strictly between the physical endpoints and set the sign of the XXPlusYYGate
phase's pi/2 offset from that parity (-pi/2 for even, +pi/2 for odd -- the two
differ by pi, and the gate is 2pi-periodic in its phase). This adds zero gates
and preserves the full peeling benefit. Only peeled modes need counting -- any
kept mode between the endpoints is itself swept, so its Z-string is already
carried implicitly by the nearest-neighbor chain in reduced-local space.

The existing Rust oracle (reconstruct_slater) reconstructs the single-particle
orbital-coefficient matrix and is blind to fermionic parity, so it could not
catch this. The regression tests therefore compare the synthesized statevector
against the faithful InitializeModes + OrbitalRotation reference (the trusted
square path never peels, so it is Z-string-correct): an odd-parity interleaved
repro, an even-parity guard proving the compensation stays inert, and a seeded
randomized sweep acr... (continued)

3 of 3 new or added lines in 1 file covered. (100.0%)

9921 of 10156 relevant lines covered (97.69%)

324.7 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30071413551.1 24 Jul 2026 06:20AM UTC 91
97.69
GitHub Action Run
Source Files on build 30071413551
  • Tree
  • List 91
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30071413551
  • 574ffcb6 on github
  • Prev Build on main (#30021896894)
  • Next Build on main (#30087167531)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc