-
-
Notifications
You must be signed in to change notification settings - Fork 580
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
Speed up NumberField_generic.zeta() and DirichletGroup() #15486
Comments
comment:1
Attachment: trac_15486_lazy_R_character.patch.gz |
comment:3
Here is a git branch New commits:
|
Commit: |
Author: Eric Larson |
Branch: public/15486 |
comment:4
I remember running into this slowness issue as well; most of the time was spent in PARI on something like a class group and unit group computation for the coefficient fields. It's nice that this computation does not always have to be done. |
Reviewer: Peter Bruin |
comment:5
|
comment:6
Hmm, I did create a local branch to doctest this ticket, but it seems I was so convinced that this couldn't break anything that I didn't even check the branch out from Trac. The failing doctest shows that the current patch removes the check for whether there are enough roots of unity. My comment above was not completely accurate; it was actually PARI's I made a new patch for this approach, which is now doctesting. If successful, we can see if it would be a suitable alternative fix. |
comment:7
The new branch makes both the |
Changed branch from public/15486 to u/pbruin/15486-roots_of_unity |
Dependencies: #15898 |
Changed keywords from none to roots of unity dirichlet group |
Changed author from Eric Larson to Peter Bruin |
Changed reviewer from Peter Bruin to none |
comment:10
The patchbot found one doctest failure, which is however completely unrelated to this ticket and is caused by the fact that the patchbot tests this ticket in a temporary directory. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
This comment has been minimized.
This comment has been minimized.
comment:16
As far as I can tell, this looks good. Disclaimer: I am not a number theorist. |
Reviewer: Frédéric Chapoton |
Changed branch from u/pbruin/15486-roots_of_unity to |
The runtime of the Newforms function is unacceptable for large conductors. To fix this, we speed up both the
DirichletGroup
constructor and thezeta(n)
method of number fields by avoiding the computation of the group of all roots of unity or its order.For a benchmark --- This reduces the runtime of Newforms(719, names='a') to 3--4 sec... from its previous value of over a day (interrupted before completion)!
Depends on #15898
Depends on #15767
Component: modular forms
Keywords: roots of unity dirichlet group
Author: Peter Bruin
Branch/Commit:
0bbfc15
Reviewer: Frédéric Chapoton
Issue created by migration from https://trac.sagemath.org/ticket/15486
The text was updated successfully, but these errors were encountered: