sage: hecke_series(5, 7, 10000, 5, modformsring=True) # long time (3.4s)
FWIW, on SageMath 9.7.beta2 the same thing takes less than a second.
Guillermo
$ ./sage
┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 9.7.beta3, Release Date: 2022-06-19 │
│ Using Python 3.9.13. Type "help()" for help. │
└────────────────────────────────────────────────────────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Warning: this is a prerelease version, and it may be unstable. ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
sage: hecke_series(5, 7, 10000, 5, modformsring=True) # long time (3.4s)
^C---------------------------------------------------------------------------
KeyboardInterrupt Traceback (most recent call last)
<ipython-input-1-7da51b444066> in <module>
----> 1 hecke_series(Integer(5), Integer(7), Integer(10000), Integer(5), modformsring=True) # long time (3.4s)
~/SageMath/Git/sage/local/var/lib/sage/venv-python3.9/lib/python3.9/site-packages/sage/modular/overconvergent/hecke_series.py in hecke_series(p, N, klist, m, modformsring, weightbound)
1187 Alist = level1_UpGj(p, klist, m)
1188 else:
-> 1189 Alist = higher_level_UpGj(p, N, klist, m, modformsring, weightbound)
1190
1191 Plist = []
~/SageMath/Git/sage/local/var/lib/sage/venv-python3.9/lib/python3.9/site-packages/sage/modular/overconvergent/hecke_series.py in higher_level_UpGj(p, N, klist, m, modformsring, bound, extra_data)
748 # Steps 2 and 3
749
--> 750 e, Ep1 = higher_level_katz_exp(p, N, k0, m, mdash, elldash, elldashp,
751 modformsring, bound)
752 ell = dimension(transpose(e)[0].parent())
~/SageMath/Git/sage/local/var/lib/sage/venv-python3.9/lib/python3.9/site-packages/sage/modular/overconvergent/hecke_series.py in higher_level_katz_exp(p, N, k0, m, mdash, elldash, elldashp, modformsring, bound)
582
583 n = floor(((p + 1) / (p - 1)) * (m + 1))
--> 584 Wjs = complementary_spaces(N, p, k0, n, mdash, elldashp, elldash, modformsring, bound)
585
586 Basis = []
~/SageMath/Git/sage/local/var/lib/sage/venv-python3.9/lib/python3.9/site-packages/sage/modular/overconvergent/hecke_series.py in complementary_spaces(N, p, k0, n, mdash, elldashp, elldash, modformsring, bound)
519 LWBModp = [ [ f.change_ring(GF(p)).truncate_powerseries(elldash) for f in x] for x in LWB]
520
--> 521 CompSpacesCode = complementary_spaces_modp(N, p, k0, n, elldash, LWBModp, bound)
522
523 Ws = []
~/SageMath/Git/sage/local/var/lib/sage/venv-python3.9/lib/python3.9/site-packages/sage/modular/overconvergent/hecke_series.py in complementary_spaces_modp(N, p, k0, n, elldash, LWBModp, bound)
457
458 for i in range(n + 1):
--> 459 NewBasisCodemi = random_new_basis_modp(N, p, k0 + i * (p - 1), LWBModp, TotalBasisModp, elldash, bound)
460 # TotalBasisModp is passed by reference and updated in function
461 CompSpacesCode.append(NewBasisCodemi)
~/SageMath/Git/sage/local/var/lib/sage/venv-python3.9/lib/python3.9/site-packages/sage/modular/overconvergent/hecke_series.py in random_new_basis_modp(N, p, k, LWBModp, TotalBasisModp, elldash, bound)
406 TotalBasisi = TotalBasisi * LWBModp[j][a]
407 TotalBasisiCode.append([j, a])
--> 408 TotalBasisModp[rk] = [TotalBasisi[j] for j in range(elldash)]
409 TotalBasisModp.echelonize()
410 rk = TotalBasisModp.rank()
~/SageMath/Git/sage/local/var/lib/sage/venv-python3.9/lib/python3.9/site-packages/sage/modular/overconvergent/hecke_series.py in <listcomp>(.0)
406 TotalBasisi = TotalBasisi * LWBModp[j][a]
407 TotalBasisiCode.append([j, a])
--> 408 TotalBasisModp[rk] = [TotalBasisi[j] for j in range(elldash)]
409 TotalBasisModp.echelonize()
410 rk = TotalBasisModp.rank()
src/cysignals/signals.pyx in cysignals.signals.python_check_interrupt()
KeyboardInterrupt:
sage:
% ./sage
┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 9.7.beta3, Release Date: 2022-06-19 │
│ Using Python 3.9.13. Type "help()" for help. │
└────────────────────────────────────────────────────────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Warning: this is a prerelease version, and it may be unstable. ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
sage: hecke_series(5, 7, 10000, 5, modformsring=True) # long time (3.4s)
^C---------------------------------------------------------------------------
KeyboardInterrupt Traceback (most recent call last)
<ipython-input-1-7da51b444066> in <module>
----> 1 hecke_series(Integer(5), Integer(7), Integer(10000), Integer(5), modformsring=True) # long time (3.4s)
~/SageMath/Git/sage/local/var/lib/sage/venv-python3.9/lib/python3.9/site-packages/sage/modular/overconvergent/hecke_series.py in hecke_series(p, N, klist, m, modformsring, weightbound)
1187 Alist = level1_UpGj(p, klist, m)
1188 else:
-> 1189 Alist = higher_level_UpGj(p, N, klist, m, modformsring, weightbound)
1190
1191 Plist = []
~/SageMath/Git/sage/local/var/lib/sage/venv-python3.9/lib/python3.9/site-packages/sage/modular/overconvergent/hecke_series.py in higher_level_UpGj(p, N, klist, m, modformsring, bound, extra_data)
748 # Steps 2 and 3
749
--> 750 e, Ep1 = higher_level_katz_exp(p, N, k0, m, mdash, elldash, elldashp,
751 modformsring, bound)
752 ell = dimension(transpose(e)[0].parent())
~/SageMath/Git/sage/local/var/lib/sage/venv-python3.9/lib/python3.9/site-packages/sage/modular/overconvergent/hecke_series.py in higher_level_katz_exp(p, N, k0, m, mdash, elldash, elldashp, modformsring, bound)
582
583 n = floor(((p + 1) / (p - 1)) * (m + 1))
--> 584 Wjs = complementary_spaces(N, p, k0, n, mdash, elldashp, elldash, modformsring, bound)
585
586 Basis = []
~/SageMath/Git/sage/local/var/lib/sage/venv-python3.9/lib/python3.9/site-packages/sage/modular/overconvergent/hecke_series.py in complementary_spaces(N, p, k0, n, mdash, elldashp, elldash, modformsring, bound)
519 LWBModp = [ [ f.change_ring(GF(p)).truncate_powerseries(elldash) for f in x] for x in LWB]
520
--> 521 CompSpacesCode = complementary_spaces_modp(N, p, k0, n, elldash, LWBModp, bound)
522
523 Ws = []
~/SageMath/Git/sage/local/var/lib/sage/venv-python3.9/lib/python3.9/site-packages/sage/modular/overconvergent/hecke_series.py in complementary_spaces_modp(N, p, k0, n, elldash, LWBModp, bound)
457
458 for i in range(n + 1):
--> 459 NewBasisCodemi = random_new_basis_modp(N, p, k0 + i * (p - 1), LWBModp, TotalBasisModp, elldash, bound)
460 # TotalBasisModp is passed by reference and updated in function
461 CompSpacesCode.append(NewBasisCodemi)
~/SageMath/Git/sage/local/var/lib/sage/venv-python3.9/lib/python3.9/site-packages/sage/modular/overconvergent/hecke_series.py in random_new_basis_modp(N, p, k, LWBModp, TotalBasisModp, elldash, bound)
398 while (rk < diminus1 + i):
399 # take random product of basis elements
--> 400 exps = random_solution(bound // 2, k // 2)
401 TotalBasisi = R(1)
402 TotalBasisiCode = []
~/SageMath/Git/sage/local/var/lib/sage/venv-python3.9/lib/python3.9/site-packages/sage/modular/overconvergent/hecke_series.py in random_solution(B, K)
282 ai = ZZ.random_element((K // i) + 1)
283 a.append(ai)
--> 284 K = K - ai*i
285 a.append(K)
286 a.reverse()
src/cysignals/signals.pyx in cysignals.signals.python_check_interrupt()
KeyboardInterrupt:
sage:
--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/2da6cecc-027f-47fe-8b7f-facd0ecf561cn%40googlegroups.com.