Commit
1 year ago
gh-37644: Corrections in `.normalize_basis_at_p` and `.maximal_order()` of `quaternion_algebra.py` - Corrected in `.normalize_basis_at_p` the wrong assignments of `f0, f1`: The idea is to replace `f0` by `f0 + f1` and `f1` by `f0` _simultaneously_ - the original code, however, first replaced `f0` by `f0 + f1` and then copied the value to `f1`, hence causing a decrease in dimension - Corrected an index error just before the recursive call of `normalize_basis_at_p` in the off-diagnonal case for `p = 2` (the `else`-block) - In `.maximal_order()` the intermediate basis `e_n` might not define an order anymore (as seen in the comments, this was known to the author(s) of the method) - therefore we need to manually compute the discriminant in the loop instead of relying on the `.discriminant()`-method of quaternion orders - Adapted an example in `.maximal_order()` to use the new method `.is_maximal()` Fixes #37217 (both parts) and #37417. Disclaimer: I am aware of #37239, but since progress on that PR seems to have halted, I took the liberty to fix the issues myself :) URL: https://github.com/sagemath/sage/pull/37644 Reported by: Sebastian A. Spindler Reviewer(s): Matthias Köppe
Author
Release Manager
Loading