Commit
54 days ago
gh-41287: Improve normalization and inverse handling for Laurent Polynomials Fix #41282 1. `has_inverse_of(i)` called `_normalize(i)` which mutated self, even though it should be a read-only query 2. `_normalize(i)` had a bug: it divided `_poly` by `gen(i)` once instead of by `gen(i)**e` 3. `has_any_inverse()` only checked `_mon` without considering if the representation was non-normalized 4. `__call__` evaluated `_poly` directly, which gave wrong results for non-normalized representations <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes #12345". --> ### :memo: Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] 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. ### :hourglass: Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - #12345: short description why this is a dependency --> <!-- - #34567: ... --> URL: https://github.com/sagemath/sage/pull/41287 Reported by: Chenxin Zhong Reviewer(s): Travis Scrimshaw
Author
Release Manager
Loading