Skip to content
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

Enumerate all genera of given signature, determinant and bounded scale of a jordan block. #24889

Closed
simonbrandhorst opened this issue Mar 2, 2018 · 57 comments

Comments

@simonbrandhorst
Copy link

Create a function that enumerates all genera of a given signature, determinant and with bounded scale of a jordan block.
The output should belong to sage.quadratic_forms.genera.Genus .

Depends on #24897
Depends on #25875

CC: @annahaensch

Component: quadratic forms

Author: Simon Brandhorst

Branch/Commit: 347320d

Reviewer: Travis Scrimshaw, Ursula Whitcher

Issue created by migration from https://trac.sagemath.org/ticket/24889

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 5, 2018

Branch pushed to git repo; I updated commit sha1. New commits:

e678debSmall fixes.
37adad4Merge branch 'develop' of git://trac.sagemath.org/sage into t/24889/enumerate_all_genera_of_given_signature__determinant_and_bounded_scale_of_a_jordan_block_
876819c24897: fix Cantor product with factors of length 1
9e05a0dMerge branch 'u/vdelecroix/24897' of git://trac.sagemath.org/sage into t/24889/enumerate_all_genera_of_given_signature__determinant_and_bounded_scale_of_a_jordan_block_
2606df0A first working version.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 5, 2018

Commit: 2606df0

@simonbrandhorst
Copy link
Author

Dependencies: #24897

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 15, 2018

Changed commit from 2606df0 to c1f9bbc

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 15, 2018

Branch pushed to git repo; I updated commit sha1. New commits:

c1f9bbcMerge branch 'develop' into t/24889/enumerate_all_genera_of_given_signature__determinant_and_bounded_scale_of_a_jordan_block_

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 20, 2018

Branch pushed to git repo; I updated commit sha1. New commits:

ffba0e4Enumeration of canonical symbols. This is faster but has other problems...

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 20, 2018

Changed commit from c1f9bbc to ffba0e4

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 10, 2018

Changed commit from ffba0e4 to e2b9be0

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 10, 2018

Branch pushed to git repo; I updated commit sha1. New commits:

e2b9be0Merge branch 'develop' into t/24889/enumerate_all_genera_of_given_signature__determinant_and_bounded_scale_of_a_jordan_block_

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 11, 2018

Branch pushed to git repo; I updated commit sha1. New commits:

52c15ebClean up

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 11, 2018

Changed commit from e2b9be0 to 52c15eb

@simonbrandhorst
Copy link
Author

Author: Simon Brandhorst

@simonbrandhorst simonbrandhorst modified the milestones: sage-8.2, sage-8.3 May 12, 2018
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 16, 2018

Changed commit from 52c15eb to 1701994

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 16, 2018

Branch pushed to git repo; I updated commit sha1. New commits:

a17edfeMerge branch 'develop' into t/24889/enumerate_all_genera_of_given_signature__determinant_and_bounded_scale_of_a_jordan_block_
1701994fixed a doctest

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 18, 2018

Changed commit from 1701994 to add11fa

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 18, 2018

Branch pushed to git repo; I updated commit sha1. New commits:

add11faMerge branch 'develop' into t/24889/enumerate_all_genera_of_given_signature__determinant_and_bounded_scale_of_a_jordan_block_

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 3, 2018

Branch pushed to git repo; I updated commit sha1. New commits:

08e63dbMerge branch 'develop' into t/24889/enumerate_all_genera_of_given_signature__determinant_and_bounded_scale_of_a_jordan_block_
7f53b1dMerge branch 'develop' into t/24889/enumerate_all_genera_of_given_signature__determinant_and_bounded_scale_of_a_jordan_block_
6f393f7docfix

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 3, 2018

Changed commit from add11fa to 6f393f7

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 19, 2018

Branch pushed to git repo; I updated commit sha1. New commits:

5fca826Documentation and access methods for the genus
de444a0Merge branch 'u/sbrandhorst/add_access_methods_to_the_genus_' of git://trac.sagemath.org/sage into t/25875/make_genera_immutable_and_add_a_reasonable_constructor
bba1834Construct a genus from a symbol list
b33dd62fix coverage
69b0811Merge branch 't/25682/add_access_methods_to_the_genus_' into t/25875/make_genera_immutable_and_add_a_reasonable_constructor
56b3994Add keyword factored determinant for the genus
d63626cMerge branch 't/25875/make_genera_immutable_and_add_a_reasonable_constructor' into t/24889/enumerate_all_genera_of_given_signature__determinant_and_bounded_scale_of_a_jordan_block_
e3d938ffix copy import and make output order deterministic

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 19, 2018

Changed commit from 6f393f7 to e3d938f

@simonbrandhorst
Copy link
Author

Changed dependencies from #24897 to #24897,#25683

@simonbrandhorst
Copy link
Author

Changed dependencies from #24897,#25683 to #24897,#25875

@simonbrandhorst
Copy link
Author

comment:29

After a second thought I do not want to make them iterators.
For one iterators are less convenient for the user. Further
for the 2-adic symbols we are overcounting and then removing duplicates.
I do not see how to do this properly with an iterator.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 23, 2019

Branch pushed to git repo; I updated commit sha1. New commits:

8742cd1cosmetics

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 23, 2019

Changed commit from fb0008c to 8742cd1

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 23, 2019

Changed commit from 8742cd1 to 621a9f5

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 23, 2019

Branch pushed to git repo; I updated commit sha1. New commits:

621a9f5change name to genera

@simonbrandhorst
Copy link
Author

comment:32

Ursula suggested QuadraticFormsGenera that is more specific than just genera, yet it is still relatively easy to discover starting from QuadraticForm

@sagetrac-ursula
Copy link
Mannequin

sagetrac-ursula mannequin commented Jan 24, 2019

comment:33

The patch builds and the example works. I still think it's more intuitive Sage syntax to have a top-level object with an associated enumeration method, rather than a function that's not associated to an object.

@simonbrandhorst
Copy link
Author

comment:34

Ouf, let us ask on sage devel. There are reasons for and against both.

@simonbrandhorst
Copy link
Author

@simonbrandhorst
Copy link
Author

comment:36

Writing in the quadratic forms class

    from sage.quadratic_forms.genera.genus import genera

works.
But

    @staticmethod
    from sage.quadratic_forms.genera.genus import genera

crashes. Ideas?

@tscrim
Copy link
Collaborator

tscrim commented Jan 25, 2019

comment:37

The latter does not make sense (at least with the context given here). genera is a function, so why should it be a @staticmethod?

I do not like QuadraticFormsGenera because it is a function, not a class. So following Python naming conventions, I would use quadratic_forms_genera.

@sagetrac-ursula The use for making this an object depends on how you use it. Fundamentally there is little computational overhead for making this into some Parent or CategoryObject, but there is some implementation burden. If it is not going to be a subclass of one of those, then I am not sure there would be a good reason to make it into an object (rather than a function). (Technical aside: this is more of a question about semantics rather than syntax.)

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 25, 2019

Changed commit from 621a9f5 to 347320d

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 25, 2019

Branch pushed to git repo; I updated commit sha1. New commits:

347320dadded static method genera to the class QuadraticForm

@simonbrandhorst
Copy link
Author

comment:39

staticmethod(genera) worked.
Now it is the static method
QuadraticForm.genera

@tscrim
Copy link
Collaborator

tscrim commented Feb 6, 2019

comment:41

@sagetrac-ursula You need your (real) name as a reviewer.

@tscrim
Copy link
Collaborator

tscrim commented Feb 6, 2019

Reviewer: Travis Scrimshaw

@sagetrac-ursula
Copy link
Mannequin

sagetrac-ursula mannequin commented Feb 7, 2019

Changed reviewer from Travis Scrimshaw to Travis Scrimshaw, Ursula Whitcher

@vbraun
Copy link
Member

vbraun commented Feb 8, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants