-
-
Notifications
You must be signed in to change notification settings - Fork 482
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
find integral solutions to matrix equations over PIDs #38019
find integral solutions to matrix equations over PIDs #38019
Conversation
Documentation preview for this PR (built with commit f158c4b; changes) is ready! 🎉 |
03779b6
to
f158c4b
Compare
Thanks, all done. |
Of course, the same can be done with a weaker normal form, the Hermite form. matrix_integer_dense has many algorithm options for that one... |
…_smith_form SageMath version 10.4.beta9, Release Date: 2024-06-09
That's a good suggestion, thanks. I gave it a try. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
Even for matrices explicitly defined over ℤ, the `.solve_left()` and `.solve_right()` methods may return solutions over ℚ. In this patch, we add an optional flag `integral=` to these methods which forces the computation of an integral solution if one exists (and throws an exception otherwise). The algorithm is completely standard, using the (pre-existing) `.smith_form()` method, but so far users had to implement the rest of the solution method on their own each time. Computing integral solutions to underdetermined systems is a common task when working with lattices. URL: sagemath#38019 Reported by: Lorenz Panny Reviewer(s): Matthias Köppe
Even for matrices explicitly defined over ℤ, the `.solve_left()` and `.solve_right()` methods may return solutions over ℚ. In this patch, we add an optional flag `integral=` to these methods which forces the computation of an integral solution if one exists (and throws an exception otherwise). The algorithm is completely standard, using the (pre-existing) `.smith_form()` method, but so far users had to implement the rest of the solution method on their own each time. Computing integral solutions to underdetermined systems is a common task when working with lattices. URL: sagemath#38019 Reported by: Lorenz Panny Reviewer(s): Matthias Köppe
Even for matrices explicitly defined over ℤ, the
.solve_left()
and.solve_right()
methods may return solutions over ℚ. In this patch, we add an optional flagintegral=
to these methods which forces the computation of an integral solution if one exists (and throws an exception otherwise).The algorithm is completely standard, using the (pre-existing)
.smith_form()
method, but so far users had to implement the rest of the solution method on their own each time.Computing integral solutions to underdetermined systems is a common task when working with lattices.