Skip to content

Add flatter support #40274

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

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

user202729
Copy link
Contributor

@user202729 user202729 commented Jun 20, 2025

Supports calling external flatter executable for LLL algorithm. (If the user wants to use this it is necessary to install from source from https://github.com/keeganryan/flatter)

📝 Checklist

  • The title is concise and informative.
  • The description explains in detail what this PR is about.
  • I have linked a relevant issue or discussion.
  • I have created tests covering the changes.
  • I have updated the documentation and checked the documentation preview.

⌛ Dependencies

Copy link

github-actions bot commented Jun 20, 2025

Documentation preview for this PR (built with commit dc5a22f; changes) is ready! 🎉
This preview will update shortly after each push to this PR.

@@ -3097,6 +3101,16 @@ cdef class Matrix_integer_dense(Matrix_dense):
[0 0 0]
[0 0 0]

When ``algorithm='flatter'``, some matrices are not supported depends
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the sentence is broken. When is a Germanism, too. You want something like

The ``algorithm='flatter'`` might not support matrices supported by other algorithms.

@@ -3024,6 +3024,10 @@ cdef class Matrix_integer_dense(Matrix_dense):

- ``'pari'`` -- pari's qflll

- ``'flatter'`` -- external executable ``flatter``, requires manual install (see caveats below).
Note that sufficiently new version of ``pari`` also supports FLATTER algorithm, see
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please provide Pari version info where this appeared. Also, do you know if this already is available from cypari2 ?

if fp is not None or early_red or use_givens or transformation or eta is not None or use_siegel:
raise TypeError("flatter does not support fp, early_red, use_givens, transformation, eta or use_siegel")
if kwds:
raise TypeError("flatter does not support additional keywords")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would it be more consistent to just ignore kwds here?

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

Successfully merging this pull request may close these issues.

2 participants