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

Qiskit / qiskit-fermions / 29924432889
98%

Build:
DEFAULT BRANCH: main
Ran 22 Jul 2026 01:45PM UTC
Jobs 1
Files 87
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

22 Jul 2026 01:33PM UTC coverage: 97.688% (+0.09%) from 97.599%
29924432889

push

github

web-flow
Parallel `InitializeModes` via an assert-only validator (#198)

* feat(linalg): add occupation_axis_mask for partial-occupation subspaces

The upcoming InitializeModes validator needs to test whether a state
vector's amplitude is confined to the subspace a (possibly partial)
occupation defines. That subspace is a set of FCI determinants sharing a
fixed occupation on some orbitals while leaving the rest free -- a whole
family, not a single address -- so the existing single-determinant
slater_determinant_statevector seed is not enough.

occupation_axis_mask returns a boolean mask over a sector's addresses,
true where the determinant has all `occupied` bits set and all `empty`
bits clear. Building it from the canonical addr2str addressing keeps the
convention identical to the matvec kernels and ffsim, rather than
reimplementing combinatorial-number-system addressing elsewhere.

Unsatisfiable or malformed constraints (out-of-range bit, an orbital
forced both occupied and empty, or a free-orbital budget too small to
reach nocc) are reported as a dedicated OccupationMaskError instead of
silently yielding an all-false mask, so a caller bug surfaces loudly.

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

* feat(pyext): expose occupation_axis_mask to Python

Wraps the new core helper so the InitializeModes validator can build its
per-axis subspace mask from the canonical Rust addressing rather than
reimplementing combinatorial-number-system ranking in numpy.

pyo3-stub-gen has no NumPyScalar impl for `bool`, so the returned bool
array's stub type is spelled out via override_return_type to match the
numpy.typing.NDArray[...] convention the sibling functions render.

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

* refactor(circuit)!: make InitializeModes an assert-only validator

InitializeModes was a state *producer*: from vec=None it built a full
(norb, nelec) determinant, and given a real vector it discarded and
reseeded. Because the appl... (continued)

134 of 148 new or added lines in 3 files covered. (90.54%)

9762 of 9993 relevant lines covered (97.69%)

329.97 hits per line

Uncovered Changes

Lines Coverage ∆ File
13
97.63
-0.92% crates/core/src/linalg/fci.rs
1
98.51
1.01% python/qiskit_fermions/circuit/library/initialize_modes.py
Jobs
ID Job ID Ran Files Coverage
1 29924432889.1 22 Jul 2026 01:45PM UTC 87
97.69
GitHub Action Run
Source Files on build 29924432889
  • Tree
  • List 87
  • Changed 4
  • Source Changed 4
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29924432889
  • 86c4c1a5 on github
  • Prev Build on main (#29844319920)
  • Next Build on main (#29992301003)
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