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

Qiskit / qiskit-fermions / 30021896894
98%

Build:
DEFAULT BRANCH: main
Ran 23 Jul 2026 03:56PM 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

23 Jul 2026 03:43PM UTC coverage: 97.685% (-0.004%) from 97.689%
30021896894

push

github

web-flow
feat(transpiler): fuse `InitializeModes` + `OrbitalRotation` into `PrepareSlaterDeterminant` (#205)

* feat(transpiler): fuse InitializeModes+OrbitalRotation into PrepareSlaterDeterminant

An InitializeModes immediately followed by an OrbitalRotation is a Slater
determinant preparation. Recognizing that pattern lets a later synthesis stage
lower it with the reduced rectangular Givens decomposition rather than the full
square orbital rotation -- but only if the two gates are first fused into a
single PrepareSlaterDeterminant, since the plugin dispatches on gate type.

This pass does that fusion. It stays deliberately conservative and
adjacency-based so the rewrite is easy to verify correct: a rotation fuses only
when the InitializeModes is its sole DAG predecessor across all its wires (so
nothing intervenes), and only the three spin-sector shapes from the plan are
matched -- full-register/spinless, per-sector, and a global init split by two
per-spin rotations. Because PrepareSlaterDeterminant is validate-then-rotate
under simulation, the rewrite is a no-op on the simulated state and only unlocks
the cheaper synthesis; anything not matching is copied through untouched (in
particular a half-covered init is left alone rather than dropping its validation
on the un-rotated modes).

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* feat(transpiler): run the Slater-prep merge in the preset JW pipeline

Wire MergeSlaterDeterminantPreparation into the preset Jordan-Wigner pass
manager's optimization stage so an InitializeModes followed by an
OrbitalRotation is fused and lowered with the reduced Slater decomposition by
default -- the user no longer has to build a PrepareSlaterDeterminant by hand or
assemble the pass manager themselves to get the cheaper synthesis.

This is safe to enable by default precisely because the merge is a no-op on the
simulated state (PrepareSlaterDeterminant is validate-then-rotate): it only ever
changes how the gate is synthe... (continued)

70 of 72 new or added lines in 3 files covered. (97.22%)

9918 of 10153 relevant lines covered (97.69%)

324.79 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
97.14
python/qiskit_fermions/transpiler/passes/optimization/merge_initialize_rotation.py
Jobs
ID Job ID Ran Files Coverage
1 30021896894.1 23 Jul 2026 03:56PM UTC 91
97.69
GitHub Action Run
Source Files on build 30021896894
  • Tree
  • List 91
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30021896894
  • 0a39d9da on github
  • Prev Build on main (#30013580023)
  • Next Build on main (#30071413551)
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