Skip to content

sage.features.lrs: Make it a JoinFeature of Lrs, LrsNash; use Executable.absolute_filename #33466

@mkoeppe

Description

@mkoeppe

... as suggested in #33167 comment:4

Then use Lrs().absolute_filename()
and LrsNash().absolute_filename() (see #31296).

This makes these parts of the Sage library fully functional even when not being run from within sage-env (which sets PATH). To test this on a system without system lrslib installed, after sage -i lrslib:

$ venv/bin/python3 -c 'from sage.all import *; print(polytopes.hypercube(3).volume(engine="lrs"))'
$ venv/bin/python3 -c 'from sage.all import *; A = matrix([[1, -1], [-1, 1]]); B = matrix([[-1, 1], [1, -1]]); matching_pennies = NormalFormGame([A, B]); print(matching_pennies.obtain_nash(algorithm="lrs"))'

Depends on #31296

CC: @mwageringel @seblabbe @dimpase @saraedum @dcoudert @kliem

Component: refactoring

Author: Matthias Koeppe

Branch/Commit: b65f6a6

Reviewer: Sébastien Labbé

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions