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

QuantEcon / QuantEcon.py / 34295292025
94%

Build:
DEFAULT BRANCH: main
Ran 09 Sep 2026 12:34AM UTC
Jobs 1
Files 95
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

09 Sep 2026 12:30AM UTC coverage: 90.837% (+0.06%) from 90.78%
34295292025

push

github

web-flow
FIX: Pivoting routines: Report numerical breakdown correctly (#949)

* FIX: Do not report an unresolved lexicographic tie as "not found"

`_lex_min_ratio_test` returned `found=False` both when the pivot column
has no positive entry and when the lexicographic tie breaking failed to
single out one row among the candidates of the ratio test. The caller
`solve_tableau` treats `found=False` as "unbounded", so the second case
was reported as unbounded although the pivot column does have positive
entries. It arises when the tableau entries are large relative to the
absolute tolerance `tol_ratio_diff`, e.g. for `A_ub = [[1e14], [1e14]]`,
where the ratios in all columns tie within the tolerance.

Now `found` is True whenever the first pass finds a candidate, and if the
tie breaking leaves several rows, which are then indistinguishable within
`tol_ratio_diff`, the first of them is taken.

Add tests: a unit test of `_lex_min_ratio_test` and the linprog_simplex
example above. Add the analogous Lemke-Howson example (payoffs scaled by
1e16) as an expected failure: it also requires the tolerance to be
scale-aware, which is left for later.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* FIX: lemke_howson: Stop with converged=False on numerical breakdown

`_lemke_howson_tbl` ignored the `found` flag of `_lex_min_ratio_test`
and, when the pivot column had no positive entry (up to `tol_piv`),
pivoted on a meaningless row and could return a wrong "equilibrium" with
`converged=True`. This cannot happen in exact arithmetic, and is a
numerical breakdown; now the pivoting stops and `converged=False` is
returned, so that the capping loop moves on to the next initial pivot.

Add a test of the breakdown path.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* ENH: _lex_min_ratio_test: Report whether the tie was resolved

Return a third value `resolved`: True if the row returned is the unique
lexico-minimum row, False if no candidate was found or if the
le... (continued)

83 of 85 new or added lines in 6 files covered. (97.65%)

6 existing lines in 2 files now uncovered.

5294 of 5828 relevant lines covered (90.84%)

0.91 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
93.85
-2.93% quantecon/game_theory/howson_lcp.py

Coverage Regressions

Lines Coverage ∆ File
5
98.48
0.03% quantecon/quad.py
1
96.65
0.12% quantecon/_compute_fp.py
Jobs
ID Job ID Ran Files Coverage
1 34295292025.1 09 Sep 2026 12:34AM UTC 95
90.84
GitHub Action Run
Source Files on build 34295292025
  • Tree
  • List 95
  • Changed 7
  • Source Changed 7
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34295292025
  • 25e2a652 on github
  • Prev Build on main (#32448903865)
  • Next Build on main (#34295239773)
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