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
New code for binary quadratic forms #4120
Comments
Attachment: diff.gz Context diff of new, old versions of quadratic_forms/binary_qf.py |
comment:2
Justin, the diff is inverse and you should also add an extension patch to the file. Cheers, Michael |
comment:3
Attachment: sage-4120.patch.gz Updated patch, works with 3.1.1 and 3.1.2. Needs review. And maybe testing :-} Also incorporated performance changes from Holdsworth's changes. |
comment:5
I am planning to review this, which looks pretty good. First, some preliminary questions/comments:
|
comment:6
The patch also works with 3.1.3.alpha1. Doctests succeed. |
comment:7
Here's a second patch, to be applied on top of sage-4120.patch. This one fixes some bugs and typos in the first, cleans up some code, and adds more support for indefinite forms (equivalence checking, in particular). Probably adds a few bugs as well, but that's just a by-product. |
Attachment: sage-4120-2.patch.gz To be applied on top of sage-4120.patch |
comment:8
This is a third patch, applied on sage-4120-2.patch. This one extends support for indefinite forms and fixes a few bugs (both in code and in the Buchmann/Vollmer algorithms). One change in particular deserves discussion: I have changed the normalization and reduction procedures to return both the form in question and the transformation matrix used to derive that form. This makes things a bit more awkward in the code, so there are two questions: is this really useful, and if yes, is there a better way to do it? Also, I assigned this to me :-}. |
To be applied on top of sage-4120-2.patch |
comment:9
Attachment: sage-4120-3.patch.gz Applied all three patches against 3.1.3.rc0, one at a time, running the doctests each time. All doctests succeeded. No problems noted. |
REPLACES earlier patches |
comment:10
Attachment: sage-trac4120.new.patch.gz My patch sage-trac4120new.patch combines the three earlier ones and adds the following:
Regarding the latter I relented and removed the scale parameter; since the det is either +1 or -1 I am happy with multiplying (or dividing) by the determinant. Issues do remain:
That's all I can remember, but this will need more work before it can go in. |
comment:11
See also #4470 for Jon Hanke's work on quadratic forms. Cheers, Michael |
comment:15
To comment on the relationship with #4470:
Cheers, Michael |
comment:16
I've reviewed the code from the last patch as submitted by John Cremona (sage-trac4120.new.patch). It applies cleanly on 3.3 and also on top of the first two patches in #4470. Below are some comments about the code in
|
New patch; replaces previous patches. |
comment:17
Attachment: 4120-110324.patch.gz New patch. Primary content is support for indefinite binary forms. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Changed branch from u/pbruin/4120-binary_quadratic_forms to u/sbrandhorst/4120-binary_quadratic_forms |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:54
Some changes I made:
Question:
|
comment:55
The ticket is not perfect but I think it is okay. |
Changed reviewer from John Cremona, Peter Bruin to John Cremona, Peter Bruin, Simon Brandhorst |
comment:57
Note on my machine tests pass, doc builds and looks reasonable. |
comment:58
I agree with the decision not to change the default for the primitive-only parameter. |
comment:59
I agree too. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:62
Then let us finally get this reviewed :) |
comment:63
Fixed a SEEALSO block (causing docbuild to fail) and two pyflakes complaints. Let's get this ticket in before its 10-year anniversary. |
Changed branch from u/sbrandhorst/4120-binary_quadratic_forms to u/pbruin/4120-binary_quadratic_forms |
Changed branch from u/pbruin/4120-binary_quadratic_forms to |
Changed author from Justin Walker, Jon Hanke, Gonzalo Tornaría, John Cremona to Justin Walker, Jonathan Hanke, Gonzalo Tornaría, John Cremona |
Changed commit from |
The code supporting binary quadratic forms, in quadratic_forms/binary_qf.py, is missing some functionality. The patch in this ticket provides the following changes:
Doctests are in place for the new code, so the file remains at 100% coverage.
CC: @RalphieBoy @jonhanke @tornaria
Component: quadratic forms
Author: Justin Walker, Jonathan Hanke, Gonzalo Tornaría, John Cremona
Branch:
748d390
Reviewer: John Cremona, Peter Bruin, Simon Brandhorst
Issue created by migration from https://trac.sagemath.org/ticket/4120
The text was updated successfully, but these errors were encountered: