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

Qiskit / qiskit-ibm-runtime / 28514905957
87%

Build:
DEFAULT BRANCH: main
Ran 01 Jul 2026 11:45AM UTC
Jobs 8
Files 320
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

01 Jul 2026 11:35AM UTC coverage: 87.273% (+0.2%) from 87.026%
28514905957

push

github

web-flow
Add ZNE extrapolation module (#2889)

<!--
⚠️ The pull request title should be short detailed and understandable
for all.
⚠️ Also, please add a release note file using reno if the change needs
to be
  documented in the release notes.
⚠️ If your pull request fixes an open issue, please link to the issue.

✅ I have updated the documentation accordingly.
✅ I have read the CONTRIBUTING document.
-->

### Summary

This PR introduces an extrapolation module used for ZNE. It introduces
one public function, `process_extrapolated_expectation_values`, which is
identical in name and signature to the legacy implementation. We may
need to expose more functions from this module when we add PEA -- TBD.

To reduce software complexity, all non-fallback models will now be
implemented with NumPy and piped through the same `scipy.curve_fit` call
to fit to the data. Additionally, the variance for each extrapolated
point will be calculated in the same way, regardless of model, using the
method described
[here](https://www.astro.rug.nl/software/kapteyn/kmpfittutorial.html#confidence-and-prediction-intervals)
(same method used for non-linear variance estimation by legacy fitting
software internally). Piping all fits/extraps through the same workflow
allowed for a significant reduction in branches for different models,
and thus a reduction in code complexity.

This function is backward compatible with the legacy function of the
same name; however, different behaviors may be noticed in degenerate
cases. For example, using `exponential` on a curve with a few (~5)
linear points may now lead to the fit being (correctly) rejected;
whereas before, the extrapolated value may have collapsed to zero with
an erroneously small variance (will show this in unit tests).

### Details and comments
Fixes #2848

This implementation uses `numpy/scipy` to perform curve fitting and
extrapolation.

- [x] Add test suite for new module
- [x] Beef up public docstring. Include references to the heuris... (continued)

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

8476 of 9712 relevant lines covered (87.27%)

6.92 hits per line

Jobs
ID Job ID Ran Files Coverage
1 unit-tests_python3.13-windows-latest - 28514905957.1 01 Jul 2026 11:46AM UTC 320
85.71
GitHub Action Run
2 unit-tests_python3.12-windows-latest - 28514905957.2 01 Jul 2026 11:46AM UTC 320
85.71
GitHub Action Run
3 unit-tests_python3.13-ubuntu-latest - 28514905957.3 01 Jul 2026 11:45AM UTC 320
87.27
GitHub Action Run
4 unit-tests_python3.12-ubuntu-latest - 28514905957.4 01 Jul 2026 11:45AM UTC 320
87.27
GitHub Action Run
5 unit-tests_python3.11-windows-latest - 28514905957.5 01 Jul 2026 11:46AM UTC 320
85.71
GitHub Action Run
6 unit-tests_python3.11-ubuntu-latest - 28514905957.6 01 Jul 2026 11:45AM UTC 320
87.27
GitHub Action Run
7 unit-tests_python3.10-windows-latest - 28514905957.7 01 Jul 2026 11:46AM UTC 320
85.71
GitHub Action Run
8 unit-tests_python3.10-ubuntu-latest - 28514905957.8 01 Jul 2026 11:45AM UTC 320
87.27
GitHub Action Run
Source Files on build 28514905957
  • Tree
  • List 320
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28514905957
  • 005f9450 on github
  • Prev Build on main (#28459800779)
  • Delete
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