Skip to content

Commit

Permalink
sagemathgh-36031: Cythonize `LatticePolytope.normal_form(algorithm='p…
Browse files Browse the repository at this point in the history
…alp_native')`, change to default, add as a `Polyhedron` method

    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

<!-- Why is this change required? What problem does it solve? -->
The current default algorithm, using the external, unmaintained `palp`
package, is unreliable.

Here, as a follow-up on sagemath#35997, we make the reimplementation of the PALP
algorithm in Python (`palp_native`) suitable as the new default by
speeding it up.

We also fix a bug in introduced in sagemath#35997.

We also make it available as a method of `Polyhedron` (for base ring
`ZZ`).

@xuluze
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [ ] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36031
Reported by: Matthias Köppe
Reviewer(s): Dima Pasechnik, Frédéric Chapoton, Matthias Köppe
  • Loading branch information
Release Manager committed Dec 4, 2023
2 parents b60398e + f9aeca5 commit c31f22e
Show file tree
Hide file tree
Showing 5 changed files with 748 additions and 245 deletions.
Loading

0 comments on commit c31f22e

Please sign in to comment.