#18199: sage.geometry.polyhedron should have an lrs (lrslib) backend
-----------------------------------+-----------------------------
Reporter: mkoeppe | Owner:
Type: enhancement | Status: new
Priority: major | Milestone: sage-wishlist
Component: geometry | Resolution:
Keywords: polyhedron, lrs | Merged in:
Authors: | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
Dependencies: #18127 | Stopgaps:
-----------------------------------+-----------------------------
Description changed by mkoeppe:
Old description:
> Sage already has lrs as an optional package (#18127 renames it lrslib).
>
> For higher-dimensional polytopes, computing vertices by lrs is often much
> faster than the implementations of the double description method in
> cddlib and ppl.
>
> lrs also has very fast and convenient code for removing redundant
> inequalities ("redund").
> See [https://groups.google.com/forum/#!topic/sage-support/WRpS5OgFMm8]
>
> Sage should have a backend_lrs.py to make use of the existing lrs
> package.
>
> Links to older discussions regarding lrs:
> [https://groups.google.com/forum/#!topic/sage-support/AZRzY7JyG_Y]
> [https://groups.google.com/forum/#!topic/sage-devel/oH6Jrjs-HUY]
>
> As has been said in these discussions, lrs also has a key benefit that it
> can generate the vertices as a stream, with very little memory use. This
> feature could be exposed using Python generators, using the Polyhedron
> methods Vrep_generator(), vertex_generator(), ray_generator(),
> line_generator().
New description:
Sage already has lrs as an optional package (#18127 renames it lrslib).
For higher-dimensional polytopes, computing vertices by lrs is often much
faster than the implementations of the double description method in cddlib
and ppl.
lrslib 6.2 (#20886) has two modes of parallel computation, `plrs` and
`mplrs`, see http://cgm.cs.mcgill.ca/~avis/C/lrs.html
lrs also has very fast and convenient code for removing redundant
inequalities ("redund").
See [https://groups.google.com/forum/#!topic/sage-support/WRpS5OgFMm8]
Sage should have a backend_lrs.py to make use of the existing lrs package.
Links to older discussions regarding lrs:
[https://groups.google.com/forum/#!topic/sage-support/AZRzY7JyG_Y]
[https://groups.google.com/forum/#!topic/sage-devel/oH6Jrjs-HUY]
As has been said in these discussions, lrs also has a key benefit that it
can generate the vertices as a stream, with very little memory use. This
feature could be exposed using Python generators, using the Polyhedron
methods `Vrep_generator()`, `vertex_generator()`, `ray_generator()`,
`line_generator()`.
See also: polymake (#20892) has an interface to at least some features of
lrs
--
--
Ticket URL: <https://trac.sagemath.org/ticket/18199#comment:6>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.