Skip to content

New ray class #39525

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

Draft
wants to merge 33 commits into
base: develop
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
34b628b
trac 15829 Ray class groups and Hecke characters
rharron Jul 18, 2017
b5ab41d
details in hecke_character
fchapoton May 31, 2021
24dca9d
Merge branch 'public/ticket/15829' in 9.4.b1
fchapoton Jun 7, 2021
d3b2b34
fix pari polcoeff to polcoef
fchapoton Jun 7, 2021
d23cac9
Merge branch 'public/ticket/15829' of https://github.com/sagemath/sag…
fchapoton Feb 14, 2025
a2e216e
fixes for the linter
fchapoton Feb 14, 2025
608c90c
adding to meson
fchapoton Feb 14, 2025
a0cae17
fix for the linter
fchapoton Feb 14, 2025
c409c29
detail
fchapoton Feb 14, 2025
36240a8
use unicode for infinity
fchapoton Feb 14, 2025
fd13fe8
fixing the obvious failing doctests
fchapoton Feb 15, 2025
e3c0fb7
fix two more doctests
fchapoton Feb 15, 2025
c74c2c8
simplify hecke_character
fchapoton Feb 15, 2025
29c4d9f
adding doctests, remove try except
fchapoton Feb 15, 2025
66e8b27
fixing doctests
fchapoton Feb 15, 2025
1584bd5
adding hecke_character to docs
fchapoton Feb 15, 2025
b6a6275
prepare for new LFunction usage
fchapoton Feb 16, 2025
4a643aa
fix typo
fchapoton Feb 17, 2025
2346a11
adding reference to wikipedia
fchapoton Feb 17, 2025
5b4154c
cosmetic details
fchapoton Feb 17, 2025
879c3dd
fix naming of characters
fchapoton Feb 17, 2025
27fd6c0
introduce conversion to pari (first steps)
fchapoton Feb 17, 2025
dde296e
try something
fchapoton Feb 17, 2025
b60e42a
working on L-function
fchapoton Feb 18, 2025
96ff812
add documentation and typing
fchapoton Feb 18, 2025
334180f
simplify one method
fchapoton Feb 18, 2025
c45574d
using bnrinit, tentative
fchapoton Feb 19, 2025
73710e4
remove gcharinit link
fchapoton Feb 19, 2025
3b692d6
almost working L-function
fchapoton Feb 19, 2025
ec4eb27
get rid of old version of L-function
fchapoton Feb 19, 2025
516e00a
adding and fixing doctests
fchapoton Feb 20, 2025
b364e64
Merge branch 'develop' into new_ray_class
fchapoton Jun 19, 2025
e675d41
add tolerance for L function
fchapoton Jun 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
using bnrinit, tentative
  • Loading branch information
fchapoton committed Feb 19, 2025
commit c45574d4f0e2bb6f57f4d994060f26e208ac0732
3 changes: 2 additions & 1 deletion src/sage/modular/hecke_character.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@

Evaluating at an element of the base field. ::

sage: chi(a / 2 + 33 / 2)

Check failure on line 65 in src/sage/modular/hecke_character.py

View workflow job for this annotation

GitHub Actions / test-new

Failed example:

Failed example:: Got: -1
1

Evaluating at ideals of the base field. ::
Expand Down Expand Up @@ -336,7 +336,7 @@
sage: F.<a> = NumberField(x^3 - 3*x -1)
sage: H = HeckeCharacterGroup(F.modulus(3, [0,1,2]))
sage: chi = H.gen(0)
sage: p_chi = pari(chi)

Check failure on line 339 in src/sage/modular/hecke_character.py

View workflow job for this annotation

GitHub Actions / test-new

Failed example:

Failed example:: Exception raised: Traceback (most recent call last): File "/sage/src/sage/doctest/forker.py", line 728, in _run self.compile_and_execute(example, compiler, test.globs) File "/sage/src/sage/doctest/forker.py", line 1152, in compile_and_execute exec(compiled, globs) File "<doctest sage.modular.hecke_character.HeckeCharacter._pari_init_[3]>", line 1, in <module> p_chi = pari(chi) File "cypari2/pari_instance.pyx", line 840, in cypari2.pari_instance.Pari.__call__ cdef Gen g = objtogen(s) File "cypari2/gen.pyx", line 4811, in cypari2.gen.objtogen return m() File "sage/structure/sage_object.pyx", line 976, in sage.structure.sage_object.SageObject.__pari__ x = pari(self._pari_init_()) File "/sage/src/sage/modular/hecke_character.py", line 350, in _pari_init_ return pari([self.parent(), pari.Col(self.exponents())]) File "cypari2/pari_instance.pyx", line 840, in cypari2.pari_instance.Pari.__call__ cdef Gen g = objtogen(s) File "cypari2/gen.pyx", line 4823, in cypari2.gen.objtogen L = [objtogen(x) for x in <list>s] File "cypari2/gen.pyx", line 4811, in cypari2.gen.objtogen return m() File "sage/structure/sage_object.pyx", line 976, in sage.structure.sage_object.SageObject.__pari__ x = pari(self._pari_init_()) File "/sage/src/sage/modular/hecke_character.py", line 537, in _pari_init_ return pari.bnrinit(self.number_field(), pari.Col(self.modulus())) File "cypari2/auto_instance.pxi", line 5402, in cypari2.pari_instance.Pari_auto.bnrinit File "cypari2/handle_error.pyx", line 211, in cypari2.handle_error._pari_err_handle raise PariError(errnum, pari_error_string, clone_gen_noclear(E)) cypari2.handle_error.PariError: incorrect type in checkbnf [please apply bnfinit()] (t_VEC)

TESTS::

Expand Down Expand Up @@ -395,9 +395,9 @@
sage: mf = F.modulus(F.ideal(4), [0, 1])
sage: H = HeckeCharacterGroup(mf)
sage: chi = H.gens()[1]
sage: L = chi.lfunction(); L

Check failure on line 398 in src/sage/modular/hecke_character.py

View workflow job for this annotation

GitHub Actions / test-new

Failed example:

Failed example:: Exception raised: Traceback (most recent call last): File "/sage/src/sage/doctest/forker.py", line 728, in _run self.compile_and_execute(example, compiler, test.globs) File "/sage/src/sage/doctest/forker.py", line 1152, in compile_and_execute exec(compiled, globs) File "<doctest sage.modular.hecke_character.HeckeCharacter.lfunction[4]>", line 1, in <module> L = chi.lfunction(); L File "/sage/src/sage/modular/hecke_character.py", line 439, in lfunction L = LFunction(lfun_hecke(self), prec=prec) File "/sage/src/sage/lfunctions/pari.py", line 284, in lfun_hecke Gv = chi._pari_init_() File "/sage/src/sage/modular/hecke_character.py", line 350, in _pari_init_ return pari([self.parent(), pari.Col(self.exponents())]) File "cypari2/pari_instance.pyx", line 840, in cypari2.pari_instance.Pari.__call__ cdef Gen g = objtogen(s) File "cypari2/gen.pyx", line 4823, in cypari2.gen.objtogen L = [objtogen(x) for x in <list>s] File "cypari2/gen.pyx", line 4811, in cypari2.gen.objtogen return m() File "sage/structure/sage_object.pyx", line 976, in sage.structure.sage_object.SageObject.__pari__ x = pari(self._pari_init_()) File "/sage/src/sage/modular/hecke_character.py", line 537, in _pari_init_ return pari.bnrinit(self.number_field(), pari.Col(self.modulus())) File "cypari2/auto_instance.pxi", line 5402, in cypari2.pari_instance.Pari_auto.bnrinit File "cypari2/handle_error.pyx", line 211, in cypari2.handle_error._pari_err_handle raise PariError(errnum, pari_error_string, clone_gen_noclear(E)) cypari2.handle_error.PariError: incorrect type in checkbnf [please apply bnfinit()] (t_VEC)
Hecke L-function of χ1
sage: [L(-n) for n in range(3)]

Check failure on line 400 in src/sage/modular/hecke_character.py

View workflow job for this annotation

GitHub Actions / test-new

Failed example:

Failed example:: Exception raised: Traceback (most recent call last): File "/sage/src/sage/doctest/forker.py", line 728, in _run self.compile_and_execute(example, compiler, test.globs) File "/sage/src/sage/doctest/forker.py", line 1152, in compile_and_execute exec(compiled, globs) File "<doctest sage.modular.hecke_character.HeckeCharacter.lfunction[5]>", line 1, in <module> [L(-n) for n in range(Integer(3))] File "<doctest sage.modular.hecke_character.HeckeCharacter.lfunction[5]>", line 1, in <listcomp> [L(-n) for n in range(Integer(3))] NameError: name 'L' is not defined
[1.00000000000000, 0.000000000000000, 15.0000000000000]
"""
# Figure out Gamma factors for more general characters
Expand Down Expand Up @@ -451,7 +451,7 @@
sage: mf = F.modulus(F.prime_above(5) * F.prime_above(29), [0,1])
sage: H = HeckeCharacterGroup(mf); H
Group of finite order Hecke characters modulo (Fractional ideal (-11/2*a - 5/2)) * ∞_0 * ∞_1
sage: [[chi(F.ideal(31)), chi(F.ideal(-12672))] for chi in H.gens()]

Check failure on line 454 in src/sage/modular/hecke_character.py

View workflow job for this annotation

GitHub Actions / test-new

Failed example:

Failed example:: Got: [[zeta4, -1], [1, -1]]
[[zeta4, 1], [1, -1]]

TESTS::
Expand Down Expand Up @@ -531,9 +531,10 @@

sage: F.<a> = NumberField(x^3 - 3*x -1)
sage: H = HeckeCharacterGroup(F.modulus(3, [0,1,2]))
sage: pH = pari(H)

Check failure on line 534 in src/sage/modular/hecke_character.py

View workflow job for this annotation

GitHub Actions / test-new

Failed example:

Failed example:: Exception raised: Traceback (most recent call last): File "/sage/src/sage/doctest/forker.py", line 728, in _run self.compile_and_execute(example, compiler, test.globs) File "/sage/src/sage/doctest/forker.py", line 1152, in compile_and_execute exec(compiled, globs) File "<doctest sage.modular.hecke_character.HeckeCharacterGroup._pari_init_[2]>", line 1, in <module> pH = pari(H) File "cypari2/pari_instance.pyx", line 840, in cypari2.pari_instance.Pari.__call__ cdef Gen g = objtogen(s) File "cypari2/gen.pyx", line 4811, in cypari2.gen.objtogen return m() File "sage/structure/sage_object.pyx", line 976, in sage.structure.sage_object.SageObject.__pari__ x = pari(self._pari_init_()) File "/sage/src/sage/modular/hecke_character.py", line 537, in _pari_init_ return pari.bnrinit(self.number_field(), pari.Col(self.modulus())) File "cypari2/auto_instance.pxi", line 5402, in cypari2.pari_instance.Pari_auto.bnrinit File "cypari2/handle_error.pyx", line 211, in cypari2.handle_error._pari_err_handle raise PariError(errnum, pari_error_string, clone_gen_noclear(E)) cypari2.handle_error.PariError: incorrect type in checkbnf [please apply bnfinit()] (t_VEC)
"""
return pari.gcharinit(self.number_field(), self.modulus())
# not working !
return pari.bnrinit(self.number_field(), pari.Col(self.modulus()))

def ray_class_gens(self) -> tuple:
"""
Expand Down
Loading
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy