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

Qiskit / qiskit-fermions / 40293829302
98%

Build:
DEFAULT BRANCH: main
Ran 26 Oct 2026 08:45AM UTC
Jobs 1
Files 125
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

26 Oct 2026 08:39AM UTC coverage: 98.214% (-0.001%) from 98.215%
40293829302

push

github

web-flow
feat(transpiler): merge adjacent Evolution gates of the same operator (#396)

Two evolutions under the same operator compose exactly,
exp(-i t2 H) exp(-i t1 H) = exp(-i (t1 + t2) H), so neighbouring gates
that share an operator can always be fused. Palindromic product formulas
produce such neighbours at every seam: between repetitions, and between
the sub-sweeps of the higher-order Suzuki recursion.

Fusing inside FermionicSuzukiTrotter only sees the seams of a single
synthesis. The same neighbours also arise across gate boundaries (repeated
circuits, consecutive UCC/UCJ layers, qDRIFT samples), so add a general
MergeEvolutions pass in the style of MergeOrbitalRotations. Unlike orbital
rotations, a run of Evolution gates does not compose unconditionally, so
the pass splits each run into stretches of equivalent operators and merges
only gates that agree on wires, operator type, atomicity and synthesis. The
atomic and synthesis checks keep a merge from turning a terminal factor into
a splittable one, or changing how a gate decomposes.

Keep the in-synthesis fusion as well, behind a `merge_adjacent` flag that
defaults to on: it is O(n), needs no operator comparison, and also applies
to a bare `decompose()` without the transpiler. This changes the default
gate sequence for reps > 1 and order >= 4 (the guide's reps=4 count drops
from 20 to 17), hence the upgrade note; `merge_adjacent=False` restores it.

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>

50 of 51 new or added lines in 3 files covered. (98.04%)

14076 of 14332 relevant lines covered (98.21%)

456051.84 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
97.22
python/qiskit_fermions/transpiler/passes/optimization/merge_evolutions.py
Jobs
ID Job ID Ran Files Coverage
1 40293829302.1 26 Oct 2026 08:45AM UTC 125
98.21
GitHub Action Run
Source Files on build 40293829302
  • Tree
  • List 125
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #40293829302
  • e6c81ddd on github
  • Prev Build on main (#40201483640)
  • Next Build on main (#40320919908)
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