Merging Jon Hanke's quadratic forms code into Sage 3.x

5 views
Skip to first unread message

mabshoff

unread,
Nov 8, 2008, 5:43:21 PM11/8/08
to sage-devel
Hello folks,

greetings from SD 11. I have spend some time with Jon Hanke and we are
attempting to sort out various issues with his Sage 2.8.14 based
quadratic forms code Jon wrote over the last year- see #4470. There
are a couple problems and people with more taste will hopefully sort
out design issues, but the short term goal is to get the code in and
have it beat into (better?) shape before Sage Days UGA around the end
of February (hopefully way before that).

Some comments:

* I have posted a bunch of comments at the above ticket, but I have
not yet attached a bundle, but that is coming
* the patch contains tables (a 250k line diff) which will be split
off into a database spkg
* the patch also contains a copy of Bernd Souvignier's AUTO code
which should be Cythonized/libraryfied/moved into its own spkg (it is
one C file, but still ...). The code has been licensed under a GPL V2+
compatible license, but that needs to be sorted out officially
* I have created a quadratic forms component in trac and reassigned
Justin's binary quadratic form's ticket to that component. I would
guess there will be enough development happening in that area from now
on to justify that category.

What is now needed are some people with taste who can (re)design and/
or review the code and its structure and make it pretty [not me :)].
Gonzalo and Craig expressed interest and hopefully in the next two
days here some things will happen. But input from third parties is
highly desired and before building more code on top of Justin and
Jon's code should have the basics are hammered out. It would also be
nice to know if people are missing functionality or have wishes that
to do, i.e. a wishlist, which should be collected somewhere and/or
tickets should be opened.

Thoughts?

Cheers,

Michael


mabshoff

unread,
Nov 8, 2008, 6:52:13 PM11/8/08
to sage-devel
Some more info: I have extracted the non-merge commits from Jon's
code:

mabshoff@sage:~$ wc -l /home/jonhanke/hanke_10*
9845 /home/jonhanke/hanke_10553-10566.patch
12783 /home/jonhanke/hanke_10568-10593.patch
2921 /home/jonhanke/hanke_10595-10605.patch
5628 /home/jonhanke/hanke_10608-10628.patch
31177 total

The total diff is roughly 31k lines, but as is those patches cannot be
imported since the headers do not match. In total we have 202 diffs
that nearly all go into quadratic_forms/*


/home/jonhanke/hanke_10553-10566.patch:diff -r b47ecf2103a2 -r
a8aa0db26793 sage/quadratic_forms/all.py
/home/jonhanke/hanke_10553-10566.patch:diff -r b47ecf2103a2 -r
a8aa0db26793 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10553-10566.patch:diff -r a8aa0db26793 -r
4621134f3316 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 4621134f3316 -r
13c67d588a44 sage/quadratic_forms/all.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 4621134f3316 -r
13c67d588a44 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 13c67d588a44 -r
659699cee916 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 659699cee916 -r
4655c2deaf58 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 4655c2deaf58 -r
1b8b3ca2cce9 sage/quadratic_forms/all.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 4655c2deaf58 -r
1b8b3ca2cce9 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 1b8b3ca2cce9 -r
ef767c34093b sage/quadratic_forms/extras.py
/home/jonhanke/hanke_10553-10566.patch:diff -r ef767c34093b -r
3c3788117d40 sage/quadratic_forms/count_local_2.py
/home/jonhanke/hanke_10553-10566.patch:diff -r ef767c34093b -r
3c3788117d40 sage/quadratic_forms/local_density_congruence.py
/home/jonhanke/hanke_10553-10566.patch:diff -r ef767c34093b -r
3c3788117d40 sage/quadratic_forms/local_density_interfaces.py
/home/jonhanke/hanke_10553-10566.patch:diff -r ef767c34093b -r
3c3788117d40 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 3c3788117d40 -r
d3c2cc9373ad sage/quadratic_forms/all.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 3c3788117d40 -r
d3c2cc9373ad sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 3c3788117d40 -r
d3c2cc9373ad sage/quadratic_forms/quadratic_form__count_local_2.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 3c3788117d40 -r
d3c2cc9373ad sage/quadratic_forms/
quadratic_form__local_density_congruence.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 3c3788117d40 -r
d3c2cc9373ad sage/quadratic_forms/
quadratic_form__local_density_interfaces.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 3c3788117d40 -r
d3c2cc9373ad sage/quadratic_forms/quadratic_form__theta_by_cholesky.py
/home/jonhanke/hanke_10553-10566.patch:diff -r d3c2cc9373ad -r
12f9cb3d3b18 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10553-10566.patch:diff -r d3c2cc9373ad -r
12f9cb3d3b18 sage/quadratic_forms/quadratic_form__count_local_2.py
/home/jonhanke/hanke_10553-10566.patch:diff -r d3c2cc9373ad -r
12f9cb3d3b18 sage/quadratic_forms/
quadratic_form__local_density_congruence.py
/home/jonhanke/hanke_10553-10566.patch:diff -r d3c2cc9373ad -r
12f9cb3d3b18 sage/quadratic_forms/quadratic_form__siegel_product.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 12f9cb3d3b18 -r
8d6fe5a89fea sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 8d6fe5a89fea -r
3a4b8fd88db6 sage/quadratic_forms/all.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 8d6fe5a89fea -r
3a4b8fd88db6 sage/quadratic_forms/extras.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 8d6fe5a89fea -r
3a4b8fd88db6 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 8d6fe5a89fea -r
3a4b8fd88db6 sage/quadratic_forms/quadratic_form__neighbors.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 8d6fe5a89fea -r
3a4b8fd88db6 sage/quadratic_forms/quadratic_form__reduction_theory.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 8d6fe5a89fea -r
3a4b8fd88db6 sage/quadratic_forms/quadratic_form__ternary_Tornaria.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 3a4b8fd88db6 -r
15296532d596 sage/quadratic_forms/all.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 3a4b8fd88db6 -r
15296532d596 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 3a4b8fd88db6 -r
15296532d596 sage/quadratic_forms/quadratic_form__siegel_product.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 3a4b8fd88db6 -r
15296532d596 sage/quadratic_forms/special_values.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 15296532d596 -r
2325bff07338 sage/quadratic_forms/all.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 15296532d596 -r
2325bff07338 sage/quadratic_forms/count_local_2.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 15296532d596 -r
2325bff07338 sage/quadratic_forms/local_density_congruence.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 15296532d596 -r
2325bff07338 sage/quadratic_forms/local_density_interfaces.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 15296532d596 -r
2325bff07338 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 15296532d596 -r
2325bff07338 sage/quadratic_forms/quadratic_form__count_local_2.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 15296532d596 -r
2325bff07338 sage/quadratic_forms/
quadratic_form__local_density_congruence.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 15296532d596 -r
2325bff07338 sage/quadratic_forms/
quadratic_form__local_density_interfaces.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 15296532d596 -r
2325bff07338 sage/quadratic_forms/quadratic_form__mass.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 15296532d596 -r
2325bff07338 sage/quadratic_forms/quadratic_form__reduction_theory.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 15296532d596 -r
2325bff07338 sage/quadratic_forms/quadratic_form__siegel_product.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 15296532d596 -r
2325bff07338 sage/quadratic_forms/quadratic_form__ternary_Tornaria.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 15296532d596 -r
2325bff07338 sage/quadratic_forms/quadratic_form__theta_by_cholesky.py
/home/jonhanke/hanke_10553-10566.patch:diff -r 15296532d596 -r
2325bff07338 sage/quadratic_forms/special_values.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 22fee559b081 -r
abf9c8d7aae4 sage/quadratic_forms/all.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 22fee559b081 -r
abf9c8d7aae4 sage/quadratic_forms/extras.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 22fee559b081 -r
abf9c8d7aae4 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 22fee559b081 -r
abf9c8d7aae4 sage/quadratic_forms/quadratic_form__count_local_2.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 22fee559b081 -r
abf9c8d7aae4 sage/quadratic_forms/
quadratic_form__local_density_congruence.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 22fee559b081 -r
abf9c8d7aae4 sage/quadratic_forms/
quadratic_form__local_density_interfaces.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 22fee559b081 -r
abf9c8d7aae4 sage/quadratic_forms/quadratic_form__mass.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 22fee559b081 -r
abf9c8d7aae4 sage/quadratic_forms/quadratic_form__neighbors.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 22fee559b081 -r
abf9c8d7aae4 sage/quadratic_forms/quadratic_form__reduction_theory.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 22fee559b081 -r
abf9c8d7aae4 sage/quadratic_forms/quadratic_form__siegel_product.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 22fee559b081 -r
abf9c8d7aae4 sage/quadratic_forms/quadratic_form__ternary_Tornaria.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 22fee559b081 -r
abf9c8d7aae4 sage/quadratic_forms/quadratic_form__theta_by_cholesky.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 22fee559b081 -r
abf9c8d7aae4 sage/quadratic_forms/special_values.py
/home/jonhanke/hanke_10568-10593.patch:diff -r abf9c8d7aae4 -r
8fa815df5c0c sage/quadratic_forms/all.py
/home/jonhanke/hanke_10568-10593.patch:diff -r abf9c8d7aae4 -r
8fa815df5c0c sage/quadratic_forms/genera/genus.py
/home/jonhanke/hanke_10568-10593.patch:diff -r abf9c8d7aae4 -r
8fa815df5c0c sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r abf9c8d7aae4 -r
8fa815df5c0c sage/quadratic_forms/quadratic_form__genus.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 8fa815df5c0c -r
cb1f22c6491d sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 8fa815df5c0c -r
cb1f22c6491d sage/quadratic_forms/quadratic_form__local_normal_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r cb1f22c6491d -r
e232ef03f61a sage/quadratic_forms/quadratic_form__local_normal_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r e232ef03f61a -r
dac66215e308 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r e232ef03f61a -r
dac66215e308 sage/quadratic_forms/quadratic_form__mass__Pall_Watson.py
/home/jonhanke/hanke_10568-10593.patch:diff -r dac66215e308 -r
84124066a905 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 84124066a905 -r
69cc453e773e sage/quadratic_forms/extras.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 84124066a905 -r
69cc453e773e sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 84124066a905 -r
69cc453e773e sage/quadratic_forms/quadratic_form__local_normal_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 69cc453e773e -r
6c36f4eef6a2 sage/quadratic_forms/
quadratic_form__local_field_invariants.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 69cc453e773e -r
6c36f4eef6a2 sage/quadratic_forms/quadratic_form__mass__Pall_Watson.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 69cc453e773e -r
6c36f4eef6a2 sage/quadratic_forms/
quadratic_form__variable_substitutions.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 6c36f4eef6a2 -r
b4730901580d sage/quadratic_forms/quadratic_form__mass__Pall_Watson.py
/home/jonhanke/hanke_10568-10593.patch:diff -r b4730901580d -r
445744df22a9 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r b4730901580d -r
445744df22a9 sage/quadratic_forms/quadratic_form__mass__Pall_Watson.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 445744df22a9 -r
9886bbe0b650 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 9886bbe0b650 -r
c66534e6e90b sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r c66534e6e90b -r
fbe98c73e1c2 sage/quadratic_forms/extras.py
/home/jonhanke/hanke_10568-10593.patch:diff -r c66534e6e90b -r
fbe98c73e1c2 sage/quadratic_forms/quadratic_form__mass__Pall_Watson.py
/home/jonhanke/hanke_10568-10593.patch:diff -r c66534e6e90b -r
fbe98c73e1c2 sage/quadratic_forms/special_values.py
/home/jonhanke/hanke_10568-10593.patch:diff -r fbe98c73e1c2 -r
704429a4705f sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r fbe98c73e1c2 -r
704429a4705f sage/quadratic_forms/quadratic_form__mass__Pall_Watson.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 704429a4705f -r
7cfb53936344 sage/quadratic_forms/extras.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 704429a4705f -r
7cfb53936344 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 704429a4705f -r
7cfb53936344 sage/quadratic_forms/quadratic_form__count_local_2.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 704429a4705f -r
7cfb53936344 sage/quadratic_forms/
quadratic_form__local_density_congruence.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 704429a4705f -r
7cfb53936344 sage/quadratic_forms/
quadratic_form__local_density_interfaces.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 704429a4705f -r
7cfb53936344 sage/quadratic_forms/
quadratic_form__local_representation_conditions.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 7cfb53936344 -r
ae9c05352aa3 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 7cfb53936344 -r
ae9c05352aa3 sage/quadratic_forms/
quadratic_form__split_local_covering.py
/home/jonhanke/hanke_10568-10593.patch:diff -r ae9c05352aa3 -r
189ec27f2d1a sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r ae9c05352aa3 -r
189ec27f2d1a sage/quadratic_forms/
quadratic_form__split_local_covering.py
/home/jonhanke/hanke_10568-10593.patch:diff -r ae9c05352aa3 -r
189ec27f2d1a sage/quadratic_forms/
quadratic_form__variable_substitutions.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 189ec27f2d1a -r
2ba1f77e222f sage/quadratic_forms/
quadratic_form__local_representation_conditions.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 2ba1f77e222f -r
5ba122bb149a sage/quadratic_forms/
quadratic_form__local_representation_conditions.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 5ba122bb149a -r
dcd3ff128990 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 5ba122bb149a -r
dcd3ff128990 sage/quadratic_forms/
quadratic_form__split_local_covering.py
/home/jonhanke/hanke_10568-10593.patch:diff -r dcd3ff128990 -r
a8af78040e93 sage/quadratic_forms/extras.py
/home/jonhanke/hanke_10568-10593.patch:diff -r dcd3ff128990 -r
a8af78040e93 sage/quadratic_forms/
quadratic_form__local_representation_conditions.py
/home/jonhanke/hanke_10568-10593.patch:diff -r a8af78040e93 -r
03e772319523 sage/quadratic_forms/
quadratic_form__local_representation_conditions.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 03e772319523 -r
81e8cdaeda80 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 03e772319523 -r
81e8cdaeda80 sage/quadratic_forms/
quadratic_form__split_local_covering.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 81e8cdaeda80 -r
fdffa9d0d082 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 81e8cdaeda80 -r
fdffa9d0d082 sage/quadratic_forms/
quadratic_form__local_field_invariants.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 81e8cdaeda80 -r
fdffa9d0d082 sage/quadratic_forms/quadratic_form__local_normal_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 81e8cdaeda80 -r
fdffa9d0d082 sage/quadratic_forms/quadratic_form__neighbors.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 81e8cdaeda80 -r
fdffa9d0d082 sage/quadratic_forms/quadratic_form__siegel_product.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 81e8cdaeda80 -r
fdffa9d0d082 sage/quadratic_forms/special_values.py
/home/jonhanke/hanke_10568-10593.patch:diff -r fdffa9d0d082 -r
86b10baf839d sage/quadratic_forms/count_local_2.pyx
/home/jonhanke/hanke_10568-10593.patch:diff -r fdffa9d0d082 -r
86b10baf839d sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r fdffa9d0d082 -r
86b10baf839d sage/quadratic_forms/quadratic_form__count_local_2.py
/home/jonhanke/hanke_10568-10593.patch:diff -r fdffa9d0d082 -r
86b10baf839d sage/quadratic_forms/quadratic_form__evaluate.pyx
/home/jonhanke/hanke_10568-10593.patch:diff -r fdffa9d0d082 -r
86b10baf839d setup.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 86b10baf839d -r
2e8359a2caa2 sage/quadratic_forms/
quadratic_form__local_field_invariants.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 86b10baf839d -r
2e8359a2caa2 sage/quadratic_forms/quadratic_form__local_normal_form.py
/home/jonhanke/hanke_10568-10593.patch:diff -r 86b10baf839d -r
2e8359a2caa2 sage/quadratic_forms/quadratic_form__mass__Pall_Watson.py
/home/jonhanke/hanke_10595-10605.patch:diff -r 838c23c79889 -r
af8e2381de74 sage/combinat/combinat.py
/home/jonhanke/hanke_10595-10605.patch:diff -r 838c23c79889 -r
af8e2381de74 sage/quadratic_forms/
quadratic_form__local_field_invariants.py
/home/jonhanke/hanke_10595-10605.patch:diff -r 838c23c79889 -r
af8e2381de74 sage/quadratic_forms/quadratic_form__mass__Pall_Watson.py
/home/jonhanke/hanke_10595-10605.patch:diff -r af8e2381de74 -r
84d665877983 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10595-10605.patch:diff -r af8e2381de74 -r
84d665877983 sage/quadratic_forms/quadratic_form__mass.py
/home/jonhanke/hanke_10595-10605.patch:diff -r af8e2381de74 -r
84d665877983 sage/quadratic_forms/
quadratic_form__mass__Conway_Sloane_masses.py
/home/jonhanke/hanke_10595-10605.patch:diff -r af8e2381de74 -r
84d665877983 sage/quadratic_forms/quadratic_form__mass__Pall_Watson.py
/home/jonhanke/hanke_10595-10605.patch:diff -r af8e2381de74 -r
84d665877983 sage/quadratic_forms/
quadratic_form__mass__Siegel_densities.py
/home/jonhanke/hanke_10595-10605.patch:diff -r 84d665877983 -r
f220b913963e sage/quadratic_forms/genera/genus.py
/home/jonhanke/hanke_10595-10605.patch:diff -r f220b913963e -r
89dfbfb4add3 sage/quadratic_forms/quadratic_form__genus.py
/home/jonhanke/hanke_10595-10605.patch:diff -r 89dfbfb4add3 -r
2ba0a32fb908 sage/quadratic_forms/binary_qf.py
/home/jonhanke/hanke_10595-10605.patch:diff -r 2ba0a32fb908 -r
a1629ff2b00d sage/ext/cdefs.pxi
/home/jonhanke/hanke_10595-10605.patch:diff -r 2ba0a32fb908 -r
a1629ff2b00d sage/rings/arith.py
/home/jonhanke/hanke_10595-10605.patch:diff -r 2ba0a32fb908 -r
a1629ff2b00d sage/rings/integer_mod.pxd
/home/jonhanke/hanke_10595-10605.patch:diff -r 2ba0a32fb908 -r
a1629ff2b00d sage/rings/integer_mod.pyx
/home/jonhanke/hanke_10595-10605.patch:diff -r a1629ff2b00d -r
785353659ef5 sage/quadratic_forms/count_local_2.pyx
/home/jonhanke/hanke_10595-10605.patch:diff -r 785353659ef5 -r
54be17a7adb1 sage/quadratic_forms/count_local_2.pyx
/home/jonhanke/hanke_10595-10605.patch:diff -r 54be17a7adb1 -r
6cf1e6d953bd sage/quadratic_forms/count_local_2.pyx
/home/jonhanke/hanke_10595-10605.patch:diff -r 6cf1e6d953bd -r
90d20410812f sage/quadratic_forms/count_local_2.pyx
/home/jonhanke/hanke_10595-10605.patch:diff -r 90d20410812f -r
743b0a979a45 sage/quadratic_forms/count_local_2.pyx
/home/jonhanke/hanke_10608-10628.patch:diff -r 2c7af2fc419b -r
2a1be1c57d34 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 2a1be1c57d34 -r
91e8ea07de4e sage/quadratic_forms/all.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 2a1be1c57d34 -r
91e8ea07de4e sage/quadratic_forms/random_quadraticform.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 91e8ea07de4e -r
e97435bccdd3 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 91e8ea07de4e -r
e97435bccdd3 sage/quadratic_forms/
quadratic_form__local_field_invariants.py
/home/jonhanke/hanke_10608-10628.patch:diff -r e97435bccdd3 -r
054747908e10 sage/quadratic_forms/random_quadraticform.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 054747908e10 -r
ac146e9cfb92 sage/quadratic_forms/quadratic_form__local_normal_form.py
/home/jonhanke/hanke_10608-10628.patch:diff -r ac146e9cfb92 -r
84118589d58e sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10608-10628.patch:diff -r ac146e9cfb92 -r
84118589d58e sage/quadratic_forms/
quadratic_form__mass__Conway_Sloane_masses.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 84118589d58e -r
dc97b73ebc15 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 84118589d58e -r
dc97b73ebc15 sage/quadratic_forms/quadratic_form__local_normal_form.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 84118589d58e -r
dc97b73ebc15 sage/quadratic_forms/
quadratic_form__mass__Conway_Sloane_masses.py
/home/jonhanke/hanke_10608-10628.patch:diff -r dc97b73ebc15 -r
cf91d0ac2f5d sage/quadratic_forms/all.py
/home/jonhanke/hanke_10608-10628.patch:diff -r dc97b73ebc15 -r
cf91d0ac2f5d sage/quadratic_forms/table_conversion.py
/home/jonhanke/hanke_10608-10628.patch:diff -r dc97b73ebc15 -r
cf91d0ac2f5d sage/quadratic_forms/table_creation.py
/home/jonhanke/hanke_10608-10628.patch:diff -r dc97b73ebc15 -r
cf91d0ac2f5d sage/quadratic_forms/tables.py
/home/jonhanke/hanke_10608-10628.patch:diff -r cf91d0ac2f5d -r
7f69d39c10f3 sage/quadratic_forms/tables.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 7f69d39c10f3 -r
9a790aca5c2c sage/quadratic_forms/all.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 7f69d39c10f3 -r
9a790aca5c2c sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 7f69d39c10f3 -r
9a790aca5c2c sage/quadratic_forms/quadratic_form__local_normal_form.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 7f69d39c10f3 -r
9a790aca5c2c sage/quadratic_forms/
quadratic_form__mass__Conway_Sloane_masses.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 7f69d39c10f3 -r
9a790aca5c2c sage/quadratic_forms/tables.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 9a790aca5c2c -r
c143cad7f58a sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 9a790aca5c2c -r
c143cad7f58a sage/quadratic_forms/quadratic_form__theta.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 9a790aca5c2c -r
c143cad7f58a sage/quadratic_forms/quadratic_form__theta_by_cholesky.py
/home/jonhanke/hanke_10608-10628.patch:diff -r c143cad7f58a -r
cfcd86282dc8 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10608-10628.patch:diff -r c143cad7f58a -r
cfcd86282dc8 sage/quadratic_forms/quadratic_form__automorphisms.py
/home/jonhanke/hanke_10608-10628.patch:diff -r cfcd86282dc8 -r
e0429544038d sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10608-10628.patch:diff -r cfcd86282dc8 -r
e0429544038d sage/quadratic_forms/quadratic_form__automorphisms.py
/home/jonhanke/hanke_10608-10628.patch:diff -r cfcd86282dc8 -r
e0429544038d sage/quadratic_forms/quadratic_form__local_normal_form.py
/home/jonhanke/hanke_10608-10628.patch:diff -r cfcd86282dc8 -r
e0429544038d sage/quadratic_forms/
quadratic_form__mass__Conway_Sloane_masses.py
/home/jonhanke/hanke_10608-10628.patch:diff -r cfcd86282dc8 -r
e0429544038d sage/quadratic_forms/tables.py
/home/jonhanke/hanke_10608-10628.patch:diff -r e0429544038d -r
535af6ad3c0c sage/quadratic_forms/all.py
/home/jonhanke/hanke_10608-10628.patch:diff -r e0429544038d -r
535af6ad3c0c sage/quadratic_forms/extras.py
/home/jonhanke/hanke_10608-10628.patch:diff -r e0429544038d -r
535af6ad3c0c sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10608-10628.patch:diff -r e0429544038d -r
535af6ad3c0c sage/quadratic_forms/
quadratic_form__local_field_invariants.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 535af6ad3c0c -r
4c62bd6af921 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 535af6ad3c0c -r
4c62bd6af921 sage/quadratic_forms/quadratic_form__theta.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 4c62bd6af921 -r
ea184e84f9d0 sage/quadratic_forms/quadratic_form__automorphisms.py
/home/jonhanke/hanke_10608-10628.patch:diff -r ea184e84f9d0 -r
9a48d660c347 sage/quadratic_forms/quadratic_form__automorphisms.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 9a48d660c347 -r
19c8736a2907 sage/quadratic_forms/all.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 9a48d660c347 -r
19c8736a2907 sage/quadratic_forms/extras.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 9a48d660c347 -r
19c8736a2907 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 9a48d660c347 -r
19c8736a2907 sage/quadratic_forms/quadratic_form__automorphisms.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 9a48d660c347 -r
19c8736a2907 sage/quadratic_forms/quadratic_form__genus.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 9a48d660c347 -r
19c8736a2907 sage/quadratic_forms/
quadratic_form__local_field_invariants.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 9a48d660c347 -r
19c8736a2907 sage/quadratic_forms/quadratic_form__local_normal_form.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 9a48d660c347 -r
19c8736a2907 sage/quadratic_forms/
quadratic_form__mass__Conway_Sloane_masses.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 9a48d660c347 -r
19c8736a2907 sage/quadratic_forms/quadratic_form__theta.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 19c8736a2907 -r
dcad7b2c0a42 sage/quadratic_forms/genera/genus.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 19c8736a2907 -r
dcad7b2c0a42 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10608-10628.patch:diff -r 19c8736a2907 -r
dcad7b2c0a42 sage/quadratic_forms/quadratic_form__genus.py
/home/jonhanke/hanke_10608-10628.patch:diff -r dcad7b2c0a42 -r
d2b90d6cd524 sage/quadratic_forms/quadratic_form.py
/home/jonhanke/hanke_10608-10628.patch:diff -r dcad7b2c0a42 -r
d2b90d6cd524 sage/quadratic_forms/quadratic_form__genus.py
/home/jonhanke/hanke_10608-10628.patch:diff -r d2b90d6cd524 -r
05a3db2f6057 sage/quadratic_forms/all.py
/home/jonhanke/hanke_10608-10628.patch:diff -r d2b90d6cd524 -r
05a3db2f6057 sage/quadratic_forms/genera/all.py
/home/jonhanke/hanke_10608-10628.patch:diff -r d2b90d6cd524 -r
05a3db2f6057 sage/quadratic_forms/genera/genus.py
/home/jonhanke/hanke_10608-10628.patch:diff -r d2b90d6cd524 -r
05a3db2f6057 sage/quadratic_forms/quadratic_form__automorphisms.py
/home/jonhanke/hanke_10608-10628.patch:diff -r d2b90d6cd524 -r
05a3db2f6057 sage/quadratic_forms/quadratic_form__genus.py
/home/jonhanke/hanke_10608-10628.patch:diff -r d2b90d6cd524 -r
05a3db2f6057 setup.py

I am not sure how to proceed from here. We could copy over the vast
majority of files from Jon's directory and check them in again and
then apply the diffs to the common files. The only file that has a
potential conflict is genera/genus.py.

Cheers,

Michael

mabshoff

unread,
Nov 8, 2008, 10:51:44 PM11/8/08
to sage-devel
Gonzalo, Jon and I spend a couple hours on the problem and now:

sage [sage-3.1.2]> ./sage
----------------------------------------------------------------------
| SAGE Version 3.1.2, Release Date: 2008-09-19 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
Loading SAGE library. Current Mercurial branch is: qfdevel
sage: Q = QuadraticForm(ZZ, 3, [1,2,3,4,5,6]); Q

Quadratic form in 3 variables over Integer Ring with coefficients:
[ 1 2 3 ]
[ * 4 5 ]
[ * * 6 ]

sage: Q.level()
164
sage: Q.theta_series()
1 + 2*q + 2*q^3 + 10*q^4 + 4*q^5 + 4*q^6 + 8*q^7 + 6*q^9 + 4*q^10 +
8*q^11 + 10*q^12 + 4*q^13 + 6*q^14 + 10*q^15 + 14*q^16 + 4*q^17 +
8*q^18 + 10*q^19 + 8*q^20 + 8*q^21 + 6*q^22 + 12*q^23 + 12*q^24 +
10*q^25 + 8*q^26 + 6*q^27 + 16*q^28 + 4*q^29 + 6*q^30 + 24*q^31 +
8*q^32

This is Jon's 2.8.14 upgraded to 3.1.2 and some small patches that are
not yet in upstream.

Gonzalo and I went through the diff from Jon's 2.8.14 and a vanilla
2.8.14 and after going through all the 730 lines of diff outside the
quadratic_forms directory we concluded that all those diffs have been
either merged upstream or do no longer apply. Gonzalo is putting all
that info on the #4470 ticket.

Now we are looking at the code inside the quadratic_forms directory
and there is some work to do cleaning things up. Unfortunately Jon's
build on sage.math is missing on Cython file for db support, so some
of the functionality has to wait until Jon gets home from SD 11 and
fishes it out of his backup. Until then I can offer a sage.math only
binary at

http://sage.math.washington.edu/home/mabshoff/hanke-qf-merge/sage-3.1.2-sage.math-qf-raw-x86_64-Linux.tar.gz

The plan now is to take everything but the table code and mold it into
one monolithic patch so it can be reviewed.

Watch this space for news.

Cheers,

Michael

mabshoff

unread,
Nov 11, 2008, 11:44:15 AM11/11/08
to sage-devel
Hi,

I have linked a diff for a first version from the ticket at

http://trac.sagemath.org/sage_trac/ticket/4470

It should not be considered anything final yet, i.e. the rename has
not been done yet. I am about to fly back, so hopefully in the next
day I will have a patch ready for the review process. The diff
requires 3.2.rc0 or higher due to potentially conflicting changes in
setup.py, but those can be easily resolved.

Cheers,

Michael
Reply all
Reply to author
Forward
0 new messages