Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

interactive_simplex_method: Improve support for base fields other than QQ, RDF #31312

Open
mkoeppe opened this issue Jan 31, 2021 · 10 comments · May be fixed by #37865
Open

interactive_simplex_method: Improve support for base fields other than QQ, RDF #31312

mkoeppe opened this issue Jan 31, 2021 · 10 comments · May be fixed by #37865

Comments

@mkoeppe
Copy link
Member

mkoeppe commented Jan 31, 2021

We remove the ad-hoc conversion of data to RDF in InteractiveLPProblem.feasible_set. This is outdated and problematic:

  • the polyhedra code over RDF is not robust at all
  • Sage has good support for algebraic polyhedra via normaliz.

We also make the printing code in _latex_product more robust:

  • it no longer relies on SR to decide whether a coefficient needs to be wrapped in parens; instead, we use the same simple test that sage.misc.repr.coeff_repr already uses
  • recognizing trivial coefficients (0, 1) is switched to comparing text instead of comparing elements - in order to support fields such as SR where == is magic

CC: @yuan-zhou @novoselt

Component: linear programming

Author: Matthias Koeppe, ...

Issue created by migration from https://trac.sagemath.org/ticket/31312

@mkoeppe mkoeppe added this to the sage-9.3 milestone Jan 31, 2021
@mkoeppe
Copy link
Member Author

mkoeppe commented Jan 31, 2021

@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Member Author

mkoeppe commented Jan 31, 2021

Author: Matthias Koeppe

@mkoeppe
Copy link
Member Author

mkoeppe commented Jan 31, 2021

Commit: f5dd363

@mkoeppe
Copy link
Member Author

mkoeppe commented Jan 31, 2021

New commits:

523a1d5InteractiveLPProblem.feasible_set: Remove coercion to floating point - no longer needed now that algebraic polyhedra are supported in Sage
fe4b405sage.numerical.interactive_lp._latex_product: Make use of parens around a coefficient depend on the same test that sage.misc.repr.coeff_repr uses
86ebce6src/sage/numerical/interactive_simplex_method.py (_latex_product): Do not compare coefficients with 0, compare latex representation with 0 instead
f5dd363_latex_product: Compare latex with '1' instead of comparing coefficient directly

@mkoeppe
Copy link
Member Author

mkoeppe commented Jan 31, 2021

Changed author from Matthias Koeppe to Matthias Koeppe, ...

@mkoeppe
Copy link
Member Author

mkoeppe commented Jan 31, 2021

comment:3

This probably needs some additional tests to make sure that the changes do not break problems with RDF data (which I never use)

@mkoeppe
Copy link
Member Author

mkoeppe commented Jan 31, 2021

comment:4

It would also be good to add a keyword argument backend to feasible_set which would be passed to the polyhedron constructor.

@mkoeppe
Copy link
Member Author

mkoeppe commented Mar 24, 2021

comment:5

Sage development has entered the release candidate phase for 9.3. Setting a new milestone for this ticket based on a cursory review of ticket status, priority, and last modification date.

@mkoeppe mkoeppe modified the milestones: sage-9.3, sage-9.4 Mar 24, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.4, sage-9.5 Jul 19, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.5, sage-9.6 Dec 14, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.6, sage-9.7 Mar 5, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Aug 31, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.8, sage-9.9 Jan 7, 2023
@mkoeppe mkoeppe removed this from the sage-10.0 milestone Apr 30, 2023
@mkoeppe
Copy link
Member Author

mkoeppe commented May 10, 2024

Removed branch from ticket description; replaced by PR #37865.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant