Skip to content

Add create TRSP solver function - #312

Open
jared321 wants to merge 19 commits into
mainfrom
291CreateSolver
Open

Add create TRSP solver function#312
jared321 wants to merge 19 commits into
mainfrom
291CreateSolver

Conversation

@jared321

@jared321 jared321 commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

This is an intermediate step performed for both Python and MATLAB. We should expect bitwise identical POUNDERS results compared to benchmarks.

PR Self-review

  • Review all changes
  • Confirm TRSP indices defined identically in MATLAB and Python and all spsolver docs are consistent
  • Confirm that passing MINQ8 in Python raises an exception with a useful error message
    • Repeated this in MATLAB but with spsolver set to 4
  • Confirm test suite fails in both Python and MATLAB with useful message if MINQ not in PATH or local clone set to wrong commit
  • Confirm warning logged in both Python and MATLAB if user requests the simple solver and that MINQ can be, but does not need to be, provided.
  • Confirm that test script shows bitwise identical results compared to both MATLAB and Python benchmarks
  • Review updated POUNDERS docs as rendered by RTD for this PR
  • Confirm all actions passing

@jared321 jared321 self-assigned this Jul 16, 2026
@codecov

codecov Bot commented Jul 16, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.20896% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 93.74%. Comparing base (e0c0152) to head (e7340f5).

Files with missing lines Patch % Lines
pounders/py/create_trsp_solver.py 92.85% 2 Missing ⚠️
pounders/py/pounders.py 66.66% 2 Missing ⚠️
pounders/py/pounders_concurrent.py 66.66% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #312      +/-   ##
==========================================
+ Coverage   93.24%   93.74%   +0.49%     
==========================================
  Files         106      111       +5     
  Lines        4977     5257     +280     
==========================================
+ Hits         4641     4928     +287     
+ Misses        336      329       -7     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

jared321 added 7 commits July 17, 2026 08:29
It's only for test/debug purposes.  Alert users to this if they still want to
use it.
For both Python and MATLAB, there are tests that hit the MINQ5 evaluation
budget.  Neither detects problems that are unbounded from below.

Also, make docs free from actual number index for the spsolvers and remove
whitespace that make flake8 sad.
More clearly delineate where subsolver-specific exit flags stop and the POUNDERS
exit flag starts.  At present, this does not impose any strong standard on the
subsolvers nor try to homogenize them in this new intermediate layer of code.
@jared321 jared321 changed the title DRAFT: Add create TRSP solver function Add create TRSP solver function Jul 21, 2026
@jared321
jared321 requested review from jmlarson1 and mmenickelly and removed request for mmenickelly July 21, 2026 19:16
jared321 added 8 commits July 27, 2026 10:16
Passing locally when called directly.  Called by nocoverage tox task.
This fixes the TRSP solver interface for the outputs.  Note that the MINQ
wrapper had to be updated to satisfy that interface.  As a result, POUNDERS no
longer needs to squeeze the solution vector.

Tests passing.
A port of the Python version of the test.  Align the variable names to those
declared in the interface by create_trsp_solver.py.

Test passing locally.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant