passagemath-schemes 10.8.1a4__cp314-cp314t-macosx_13_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. passagemath_schemes/.dylibs/libflint.22.0.dylib +0 -0
  2. passagemath_schemes/.dylibs/libgmp.10.dylib +0 -0
  3. passagemath_schemes/.dylibs/libgmpxx.4.dylib +0 -0
  4. passagemath_schemes/.dylibs/libmpfr.6.dylib +0 -0
  5. passagemath_schemes/__init__.py +3 -0
  6. passagemath_schemes-10.8.1a4.dist-info/METADATA +203 -0
  7. passagemath_schemes-10.8.1a4.dist-info/METADATA.bak +204 -0
  8. passagemath_schemes-10.8.1a4.dist-info/RECORD +312 -0
  9. passagemath_schemes-10.8.1a4.dist-info/WHEEL +6 -0
  10. passagemath_schemes-10.8.1a4.dist-info/top_level.txt +3 -0
  11. sage/all__sagemath_schemes.py +23 -0
  12. sage/databases/all__sagemath_schemes.py +7 -0
  13. sage/databases/cremona.py +1723 -0
  14. sage/dynamics/all__sagemath_schemes.py +2 -0
  15. sage/dynamics/arithmetic_dynamics/affine_ds.py +1083 -0
  16. sage/dynamics/arithmetic_dynamics/all.py +14 -0
  17. sage/dynamics/arithmetic_dynamics/berkovich_ds.py +1101 -0
  18. sage/dynamics/arithmetic_dynamics/dynamical_semigroup.py +1543 -0
  19. sage/dynamics/arithmetic_dynamics/endPN_automorphism_group.py +2426 -0
  20. sage/dynamics/arithmetic_dynamics/endPN_minimal_model.py +1169 -0
  21. sage/dynamics/arithmetic_dynamics/generic_ds.py +663 -0
  22. sage/dynamics/arithmetic_dynamics/product_projective_ds.py +339 -0
  23. sage/dynamics/arithmetic_dynamics/projective_ds.py +9556 -0
  24. sage/dynamics/arithmetic_dynamics/projective_ds_helper.cpython-314t-darwin.so +0 -0
  25. sage/dynamics/arithmetic_dynamics/projective_ds_helper.pyx +301 -0
  26. sage/dynamics/arithmetic_dynamics/wehlerK3.py +2578 -0
  27. sage/lfunctions/all.py +18 -0
  28. sage/lfunctions/dokchitser.py +727 -0
  29. sage/lfunctions/pari.py +971 -0
  30. sage/lfunctions/zero_sums.cpython-314t-darwin.so +0 -0
  31. sage/lfunctions/zero_sums.pyx +1847 -0
  32. sage/modular/abvar/abvar.py +5132 -0
  33. sage/modular/abvar/abvar_ambient_jacobian.py +414 -0
  34. sage/modular/abvar/abvar_newform.py +246 -0
  35. sage/modular/abvar/all.py +8 -0
  36. sage/modular/abvar/constructor.py +187 -0
  37. sage/modular/abvar/cuspidal_subgroup.py +371 -0
  38. sage/modular/abvar/finite_subgroup.py +896 -0
  39. sage/modular/abvar/homology.py +721 -0
  40. sage/modular/abvar/homspace.py +989 -0
  41. sage/modular/abvar/lseries.py +415 -0
  42. sage/modular/abvar/morphism.py +935 -0
  43. sage/modular/abvar/torsion_point.py +274 -0
  44. sage/modular/abvar/torsion_subgroup.py +741 -0
  45. sage/modular/all.py +43 -0
  46. sage/modular/arithgroup/all.py +20 -0
  47. sage/modular/arithgroup/arithgroup_element.cpython-314t-darwin.so +0 -0
  48. sage/modular/arithgroup/arithgroup_element.pyx +474 -0
  49. sage/modular/arithgroup/arithgroup_generic.py +1406 -0
  50. sage/modular/arithgroup/arithgroup_perm.py +2692 -0
  51. sage/modular/arithgroup/congroup.cpython-314t-darwin.so +0 -0
  52. sage/modular/arithgroup/congroup.pyx +334 -0
  53. sage/modular/arithgroup/congroup_gamma.py +361 -0
  54. sage/modular/arithgroup/congroup_gamma0.py +692 -0
  55. sage/modular/arithgroup/congroup_gamma1.py +659 -0
  56. sage/modular/arithgroup/congroup_gammaH.py +1491 -0
  57. sage/modular/arithgroup/congroup_generic.py +630 -0
  58. sage/modular/arithgroup/congroup_sl2z.py +266 -0
  59. sage/modular/arithgroup/farey_symbol.cpython-314t-darwin.so +0 -0
  60. sage/modular/arithgroup/farey_symbol.pyx +1067 -0
  61. sage/modular/arithgroup/tests.py +425 -0
  62. sage/modular/btquotients/all.py +4 -0
  63. sage/modular/btquotients/btquotient.py +3736 -0
  64. sage/modular/btquotients/pautomorphicform.py +2564 -0
  65. sage/modular/buzzard.py +100 -0
  66. sage/modular/congroup.py +29 -0
  67. sage/modular/congroup_element.py +13 -0
  68. sage/modular/cusps.py +1107 -0
  69. sage/modular/cusps_nf.py +1270 -0
  70. sage/modular/dims.py +571 -0
  71. sage/modular/dirichlet.py +3310 -0
  72. sage/modular/drinfeld_modform/all.py +2 -0
  73. sage/modular/drinfeld_modform/element.py +446 -0
  74. sage/modular/drinfeld_modform/ring.py +773 -0
  75. sage/modular/drinfeld_modform/tutorial.py +236 -0
  76. sage/modular/etaproducts.py +1076 -0
  77. sage/modular/hecke/algebra.py +725 -0
  78. sage/modular/hecke/all.py +19 -0
  79. sage/modular/hecke/ambient_module.py +994 -0
  80. sage/modular/hecke/degenmap.py +119 -0
  81. sage/modular/hecke/element.py +302 -0
  82. sage/modular/hecke/hecke_operator.py +736 -0
  83. sage/modular/hecke/homspace.py +185 -0
  84. sage/modular/hecke/module.py +1744 -0
  85. sage/modular/hecke/morphism.py +139 -0
  86. sage/modular/hecke/submodule.py +970 -0
  87. sage/modular/hypergeometric_misc.cpython-314t-darwin.so +0 -0
  88. sage/modular/hypergeometric_misc.pxd +4 -0
  89. sage/modular/hypergeometric_misc.pyx +166 -0
  90. sage/modular/hypergeometric_motive.py +2020 -0
  91. sage/modular/local_comp/all.py +2 -0
  92. sage/modular/local_comp/liftings.py +292 -0
  93. sage/modular/local_comp/local_comp.py +1070 -0
  94. sage/modular/local_comp/smoothchar.py +1825 -0
  95. sage/modular/local_comp/type_space.py +748 -0
  96. sage/modular/modform/all.py +30 -0
  97. sage/modular/modform/ambient.py +817 -0
  98. sage/modular/modform/ambient_R.py +177 -0
  99. sage/modular/modform/ambient_eps.py +306 -0
  100. sage/modular/modform/ambient_g0.py +120 -0
  101. sage/modular/modform/ambient_g1.py +199 -0
  102. sage/modular/modform/constructor.py +545 -0
  103. sage/modular/modform/cuspidal_submodule.py +708 -0
  104. sage/modular/modform/defaults.py +14 -0
  105. sage/modular/modform/eis_series.py +487 -0
  106. sage/modular/modform/eisenstein_submodule.py +663 -0
  107. sage/modular/modform/element.py +4105 -0
  108. sage/modular/modform/half_integral.py +154 -0
  109. sage/modular/modform/hecke_operator_on_qexp.py +247 -0
  110. sage/modular/modform/j_invariant.py +47 -0
  111. sage/modular/modform/l_series_gross_zagier.py +127 -0
  112. sage/modular/modform/l_series_gross_zagier_coeffs.cpython-314t-darwin.so +0 -0
  113. sage/modular/modform/l_series_gross_zagier_coeffs.pyx +177 -0
  114. sage/modular/modform/notes.py +45 -0
  115. sage/modular/modform/numerical.py +514 -0
  116. sage/modular/modform/periods.py +14 -0
  117. sage/modular/modform/ring.py +1257 -0
  118. sage/modular/modform/space.py +1859 -0
  119. sage/modular/modform/submodule.py +118 -0
  120. sage/modular/modform/tests.py +64 -0
  121. sage/modular/modform/theta.py +110 -0
  122. sage/modular/modform/vm_basis.py +380 -0
  123. sage/modular/modform/weight1.py +221 -0
  124. sage/modular/modform_hecketriangle/abstract_ring.py +1932 -0
  125. sage/modular/modform_hecketriangle/abstract_space.py +2527 -0
  126. sage/modular/modform_hecketriangle/all.py +30 -0
  127. sage/modular/modform_hecketriangle/analytic_type.py +590 -0
  128. sage/modular/modform_hecketriangle/constructor.py +416 -0
  129. sage/modular/modform_hecketriangle/element.py +351 -0
  130. sage/modular/modform_hecketriangle/functors.py +752 -0
  131. sage/modular/modform_hecketriangle/graded_ring.py +541 -0
  132. sage/modular/modform_hecketriangle/graded_ring_element.py +2225 -0
  133. sage/modular/modform_hecketriangle/hecke_triangle_group_element.py +3349 -0
  134. sage/modular/modform_hecketriangle/hecke_triangle_groups.py +1426 -0
  135. sage/modular/modform_hecketriangle/readme.py +1214 -0
  136. sage/modular/modform_hecketriangle/series_constructor.py +580 -0
  137. sage/modular/modform_hecketriangle/space.py +1037 -0
  138. sage/modular/modform_hecketriangle/subspace.py +423 -0
  139. sage/modular/modsym/all.py +17 -0
  140. sage/modular/modsym/ambient.py +3844 -0
  141. sage/modular/modsym/boundary.py +1420 -0
  142. sage/modular/modsym/element.py +336 -0
  143. sage/modular/modsym/g1list.py +178 -0
  144. sage/modular/modsym/ghlist.py +182 -0
  145. sage/modular/modsym/hecke_operator.py +73 -0
  146. sage/modular/modsym/manin_symbol.cpython-314t-darwin.so +0 -0
  147. sage/modular/modsym/manin_symbol.pxd +5 -0
  148. sage/modular/modsym/manin_symbol.pyx +497 -0
  149. sage/modular/modsym/manin_symbol_list.py +1291 -0
  150. sage/modular/modsym/modsym.py +400 -0
  151. sage/modular/modsym/modular_symbols.py +384 -0
  152. sage/modular/modsym/p1list_nf.py +1241 -0
  153. sage/modular/modsym/relation_matrix.py +591 -0
  154. sage/modular/modsym/relation_matrix_pyx.cpython-314t-darwin.so +0 -0
  155. sage/modular/modsym/relation_matrix_pyx.pyx +108 -0
  156. sage/modular/modsym/space.py +2468 -0
  157. sage/modular/modsym/subspace.py +455 -0
  158. sage/modular/modsym/tests.py +376 -0
  159. sage/modular/multiple_zeta.py +2635 -0
  160. sage/modular/multiple_zeta_F_algebra.py +789 -0
  161. sage/modular/overconvergent/all.py +6 -0
  162. sage/modular/overconvergent/genus0.py +1879 -0
  163. sage/modular/overconvergent/hecke_series.py +1187 -0
  164. sage/modular/overconvergent/weightspace.py +776 -0
  165. sage/modular/pollack_stevens/all.py +4 -0
  166. sage/modular/pollack_stevens/distributions.py +874 -0
  167. sage/modular/pollack_stevens/fund_domain.py +1572 -0
  168. sage/modular/pollack_stevens/manin_map.py +856 -0
  169. sage/modular/pollack_stevens/modsym.py +1590 -0
  170. sage/modular/pollack_stevens/padic_lseries.py +417 -0
  171. sage/modular/pollack_stevens/sigma0.py +534 -0
  172. sage/modular/pollack_stevens/space.py +1078 -0
  173. sage/modular/quasimodform/all.py +3 -0
  174. sage/modular/quasimodform/element.py +846 -0
  175. sage/modular/quasimodform/ring.py +826 -0
  176. sage/modular/quatalg/all.py +3 -0
  177. sage/modular/quatalg/brandt.py +1642 -0
  178. sage/modular/ssmod/all.py +8 -0
  179. sage/modular/ssmod/ssmod.py +827 -0
  180. sage/rings/all__sagemath_schemes.py +1 -0
  181. sage/rings/polynomial/all__sagemath_schemes.py +1 -0
  182. sage/rings/polynomial/binary_form_reduce.py +585 -0
  183. sage/schemes/all.py +41 -0
  184. sage/schemes/berkovich/all.py +6 -0
  185. sage/schemes/berkovich/berkovich_cp_element.py +2582 -0
  186. sage/schemes/berkovich/berkovich_space.py +700 -0
  187. sage/schemes/curves/affine_curve.py +2924 -0
  188. sage/schemes/curves/all.py +33 -0
  189. sage/schemes/curves/closed_point.py +434 -0
  190. sage/schemes/curves/constructor.py +397 -0
  191. sage/schemes/curves/curve.py +542 -0
  192. sage/schemes/curves/plane_curve_arrangement.py +1283 -0
  193. sage/schemes/curves/point.py +463 -0
  194. sage/schemes/curves/projective_curve.py +3203 -0
  195. sage/schemes/curves/weighted_projective_curve.py +106 -0
  196. sage/schemes/curves/zariski_vankampen.py +1931 -0
  197. sage/schemes/cyclic_covers/all.py +2 -0
  198. sage/schemes/cyclic_covers/charpoly_frobenius.py +320 -0
  199. sage/schemes/cyclic_covers/constructor.py +137 -0
  200. sage/schemes/cyclic_covers/cycliccover_finite_field.py +1309 -0
  201. sage/schemes/cyclic_covers/cycliccover_generic.py +310 -0
  202. sage/schemes/elliptic_curves/BSD.py +991 -0
  203. sage/schemes/elliptic_curves/Qcurves.py +592 -0
  204. sage/schemes/elliptic_curves/addition_formulas_ring.py +94 -0
  205. sage/schemes/elliptic_curves/all.py +49 -0
  206. sage/schemes/elliptic_curves/cardinality.py +609 -0
  207. sage/schemes/elliptic_curves/cm.py +1103 -0
  208. sage/schemes/elliptic_curves/constructor.py +1530 -0
  209. sage/schemes/elliptic_curves/ec_database.py +175 -0
  210. sage/schemes/elliptic_curves/ell_curve_isogeny.py +3971 -0
  211. sage/schemes/elliptic_curves/ell_egros.py +457 -0
  212. sage/schemes/elliptic_curves/ell_field.py +2837 -0
  213. sage/schemes/elliptic_curves/ell_finite_field.py +3249 -0
  214. sage/schemes/elliptic_curves/ell_generic.py +3760 -0
  215. sage/schemes/elliptic_curves/ell_local_data.py +1207 -0
  216. sage/schemes/elliptic_curves/ell_modular_symbols.py +775 -0
  217. sage/schemes/elliptic_curves/ell_number_field.py +4220 -0
  218. sage/schemes/elliptic_curves/ell_padic_field.py +107 -0
  219. sage/schemes/elliptic_curves/ell_point.py +4944 -0
  220. sage/schemes/elliptic_curves/ell_rational_field.py +7184 -0
  221. sage/schemes/elliptic_curves/ell_tate_curve.py +671 -0
  222. sage/schemes/elliptic_curves/ell_torsion.py +436 -0
  223. sage/schemes/elliptic_curves/ell_wp.py +352 -0
  224. sage/schemes/elliptic_curves/formal_group.py +760 -0
  225. sage/schemes/elliptic_curves/gal_reps.py +1459 -0
  226. sage/schemes/elliptic_curves/gal_reps_number_field.py +1663 -0
  227. sage/schemes/elliptic_curves/gp_simon.py +152 -0
  228. sage/schemes/elliptic_curves/heegner.py +7328 -0
  229. sage/schemes/elliptic_curves/height.py +2108 -0
  230. sage/schemes/elliptic_curves/hom.py +1788 -0
  231. sage/schemes/elliptic_curves/hom_composite.py +1084 -0
  232. sage/schemes/elliptic_curves/hom_fractional.py +544 -0
  233. sage/schemes/elliptic_curves/hom_frobenius.py +522 -0
  234. sage/schemes/elliptic_curves/hom_scalar.py +531 -0
  235. sage/schemes/elliptic_curves/hom_sum.py +681 -0
  236. sage/schemes/elliptic_curves/hom_velusqrt.py +1290 -0
  237. sage/schemes/elliptic_curves/homset.py +271 -0
  238. sage/schemes/elliptic_curves/isogeny_class.py +1523 -0
  239. sage/schemes/elliptic_curves/isogeny_small_degree.py +2797 -0
  240. sage/schemes/elliptic_curves/jacobian.py +247 -0
  241. sage/schemes/elliptic_curves/kodaira_symbol.py +344 -0
  242. sage/schemes/elliptic_curves/kraus.py +1014 -0
  243. sage/schemes/elliptic_curves/lseries_ell.py +915 -0
  244. sage/schemes/elliptic_curves/mod5family.py +105 -0
  245. sage/schemes/elliptic_curves/mod_poly.py +197 -0
  246. sage/schemes/elliptic_curves/mod_sym_num.cpython-314t-darwin.so +0 -0
  247. sage/schemes/elliptic_curves/mod_sym_num.pyx +3796 -0
  248. sage/schemes/elliptic_curves/modular_parametrization.py +305 -0
  249. sage/schemes/elliptic_curves/padic_lseries.py +1793 -0
  250. sage/schemes/elliptic_curves/padics.py +1816 -0
  251. sage/schemes/elliptic_curves/period_lattice.py +2234 -0
  252. sage/schemes/elliptic_curves/period_lattice_region.cpython-314t-darwin.so +0 -0
  253. sage/schemes/elliptic_curves/period_lattice_region.pyx +722 -0
  254. sage/schemes/elliptic_curves/saturation.py +716 -0
  255. sage/schemes/elliptic_curves/sha_tate.py +1158 -0
  256. sage/schemes/elliptic_curves/weierstrass_morphism.py +1117 -0
  257. sage/schemes/elliptic_curves/weierstrass_transform.py +200 -0
  258. sage/schemes/hyperelliptic_curves/all.py +6 -0
  259. sage/schemes/hyperelliptic_curves/constructor.py +369 -0
  260. sage/schemes/hyperelliptic_curves/hyperelliptic_finite_field.py +1948 -0
  261. sage/schemes/hyperelliptic_curves/hyperelliptic_g2.py +192 -0
  262. sage/schemes/hyperelliptic_curves/hyperelliptic_generic.py +936 -0
  263. sage/schemes/hyperelliptic_curves/hyperelliptic_padic_field.py +1332 -0
  264. sage/schemes/hyperelliptic_curves/hyperelliptic_rational_field.py +84 -0
  265. sage/schemes/hyperelliptic_curves/invariants.py +410 -0
  266. sage/schemes/hyperelliptic_curves/jacobian_endomorphism_utils.py +312 -0
  267. sage/schemes/hyperelliptic_curves/jacobian_g2.py +32 -0
  268. sage/schemes/hyperelliptic_curves/jacobian_generic.py +437 -0
  269. sage/schemes/hyperelliptic_curves/jacobian_homset.py +186 -0
  270. sage/schemes/hyperelliptic_curves/jacobian_morphism.py +878 -0
  271. sage/schemes/hyperelliptic_curves/kummer_surface.py +99 -0
  272. sage/schemes/hyperelliptic_curves/mestre.py +302 -0
  273. sage/schemes/hyperelliptic_curves/monsky_washnitzer.py +3863 -0
  274. sage/schemes/jacobians/abstract_jacobian.py +277 -0
  275. sage/schemes/jacobians/all.py +2 -0
  276. sage/schemes/overview.py +161 -0
  277. sage/schemes/plane_conics/all.py +22 -0
  278. sage/schemes/plane_conics/con_field.py +1296 -0
  279. sage/schemes/plane_conics/con_finite_field.py +158 -0
  280. sage/schemes/plane_conics/con_number_field.py +456 -0
  281. sage/schemes/plane_conics/con_rational_field.py +406 -0
  282. sage/schemes/plane_conics/con_rational_function_field.py +581 -0
  283. sage/schemes/plane_conics/constructor.py +249 -0
  284. sage/schemes/plane_quartics/all.py +2 -0
  285. sage/schemes/plane_quartics/quartic_constructor.py +71 -0
  286. sage/schemes/plane_quartics/quartic_generic.py +53 -0
  287. sage/schemes/riemann_surfaces/all.py +1 -0
  288. sage/schemes/riemann_surfaces/riemann_surface.py +4177 -0
  289. sage_wheels/share/cremona/cremona_mini.db +0 -0
  290. sage_wheels/share/ellcurves/rank0 +30427 -0
  291. sage_wheels/share/ellcurves/rank1 +31871 -0
  292. sage_wheels/share/ellcurves/rank10 +6 -0
  293. sage_wheels/share/ellcurves/rank11 +6 -0
  294. sage_wheels/share/ellcurves/rank12 +1 -0
  295. sage_wheels/share/ellcurves/rank14 +1 -0
  296. sage_wheels/share/ellcurves/rank15 +1 -0
  297. sage_wheels/share/ellcurves/rank17 +1 -0
  298. sage_wheels/share/ellcurves/rank19 +1 -0
  299. sage_wheels/share/ellcurves/rank2 +2388 -0
  300. sage_wheels/share/ellcurves/rank20 +1 -0
  301. sage_wheels/share/ellcurves/rank21 +1 -0
  302. sage_wheels/share/ellcurves/rank22 +1 -0
  303. sage_wheels/share/ellcurves/rank23 +1 -0
  304. sage_wheels/share/ellcurves/rank24 +1 -0
  305. sage_wheels/share/ellcurves/rank28 +1 -0
  306. sage_wheels/share/ellcurves/rank3 +836 -0
  307. sage_wheels/share/ellcurves/rank4 +10 -0
  308. sage_wheels/share/ellcurves/rank5 +5 -0
  309. sage_wheels/share/ellcurves/rank6 +5 -0
  310. sage_wheels/share/ellcurves/rank7 +5 -0
  311. sage_wheels/share/ellcurves/rank8 +6 -0
  312. sage_wheels/share/ellcurves/rank9 +7 -0
@@ -0,0 +1,417 @@
1
+ # sage_setup: distribution = sagemath-schemes
2
+ # sage.doctest: needs sage.rings.padics
3
+ r"""
4
+ `p`-adic `L`-series attached to overconvergent eigensymbols
5
+
6
+ An overconvergent eigensymbol gives rise to a `p`-adic `L`-series,
7
+ which is essentially defined as the evaluation of the eigensymbol at
8
+ the path `0 \rightarrow \infty`. The resulting distribution on `\ZZ_p`
9
+ can be restricted to `\ZZ_p^\times`, thus giving the measure attached
10
+ to the sought `p`-adic `L`-series.
11
+
12
+ All this is carefully explained in [PS2011]_.
13
+ """
14
+ # ****************************************************************************
15
+ # Copyright (C) 2012 Robert Pollack <rpollack@math.bu.edu>
16
+ #
17
+ # Distributed under the terms of the GNU General Public License (GPL)
18
+ # as published by the Free Software Foundation; either version 2 of
19
+ # the License, or (at your option) any later version.
20
+ # https://www.gnu.org/licenses/
21
+ # ****************************************************************************
22
+
23
+ from sage.arith.misc import kronecker, binomial
24
+ from sage.misc.lazy_import import lazy_import
25
+ from sage.rings.integer_ring import ZZ
26
+ from sage.rings.padics.precision_error import PrecisionError
27
+ from sage.rings.power_series_ring import PowerSeriesRing
28
+ from sage.rings.rational_field import QQ
29
+ from sage.structure.sage_object import SageObject
30
+
31
+ lazy_import('sage.rings.padics.factory', 'Qp', as_='pAdicField')
32
+
33
+
34
+ class pAdicLseries(SageObject):
35
+ r"""
36
+ The `p`-adic `L`-series associated to an overconvergent eigensymbol.
37
+
38
+ INPUT:
39
+
40
+ - ``symb`` -- an overconvergent eigensymbol
41
+ - ``gamma`` -- topological generator of `1 + p\ZZ_p`
42
+ (default: `1+p` or 5 if `p=2`)
43
+ - ``quadratic_twist`` -- conductor of quadratic twist `\chi` (default: 1)
44
+ - ``precision`` -- if ``None`` (default) is specified,
45
+ the correct precision bound is computed and the answer
46
+ is returned modulo that accuracy
47
+
48
+ EXAMPLES::
49
+
50
+ sage: E = EllipticCurve('37a')
51
+ sage: p = 5
52
+ sage: prec = 4
53
+ sage: L = E.padic_lseries(p, implementation='pollackstevens', precision=prec) # long time
54
+ sage: L[1] # long time
55
+ 1 + 4*5 + 2*5^2 + O(5^3)
56
+ sage: L.series(3) # long time
57
+ O(5^4) + (1 + 4*5 + 2*5^2 + O(5^3))*T + (3 + O(5^2))*T^2 + O(T^3)
58
+
59
+ ::
60
+
61
+ sage: # needs eclib
62
+ sage: from sage.modular.pollack_stevens.padic_lseries import pAdicLseries
63
+ sage: E = EllipticCurve('20a')
64
+ sage: phi = E.pollack_stevens_modular_symbol()
65
+ sage: Phi = phi.p_stabilize_and_lift(3, 4) # long time
66
+ sage: L = pAdicLseries(Phi) # long time
67
+ sage: L.series(4) # long time
68
+ 2*3 + O(3^4) + (3 + O(3^2))*T + (2 + O(3))*T^2 + O(3^0)*T^3 + O(T^4)
69
+
70
+ An example of a `p`-adic `L`-series associated to a modular
71
+ abelian surface. This is not tested as it takes too long.::
72
+
73
+ sage: from sage.modular.pollack_stevens.space import ps_modsym_from_simple_modsym_space
74
+ sage: from sage.modular.pollack_stevens.padic_lseries import pAdicLseries
75
+ sage: A = ModularSymbols(103,2,1).cuspidal_submodule().new_subspace().decomposition()[0]
76
+ sage: p = 19
77
+ sage: prec = 4
78
+ sage: phi = ps_modsym_from_simple_modsym_space(A)
79
+ sage: ap = phi.Tq_eigenvalue(p,prec)
80
+ sage: c1,c2 = phi.completions(p,prec)
81
+ sage: phi1,psi1 = c1
82
+ sage: phi2,psi2 = c2
83
+ sage: phi1p = phi1.p_stabilize_and_lift(p,ap = psi1(ap), M = prec) # not tested - too long
84
+ sage: L1 = pAdicLseries(phi1p) # not tested - too long
85
+ sage: phi2p = phi2.p_stabilize_and_lift(p,ap = psi2(ap), M = prec) # not tested - too long
86
+ sage: L2 = pAdicLseries(phi2p) # not tested - too long
87
+ sage: L1[1]*L2[1] # not tested - too long
88
+ 13 + 9*19 + 18*19^2 + O(19^3)
89
+ """
90
+
91
+ def __init__(self, symb, gamma=None, quadratic_twist=1, precision=None):
92
+ r"""
93
+ Initialize the class.
94
+
95
+ EXAMPLES::
96
+
97
+ sage: # needs eclib
98
+ sage: from sage.modular.pollack_stevens.padic_lseries import pAdicLseries
99
+ sage: E = EllipticCurve('11a3')
100
+ sage: phi = E.pollack_stevens_modular_symbol()
101
+ sage: p = 11
102
+ sage: prec = 3
103
+ sage: Phi = phi.lift(p, prec,eigensymbol=True) # long time
104
+ sage: L = pAdicLseries(Phi) # long time
105
+ sage: L.series(3) # long time
106
+ O(11^3) + (2 + 5*11 + O(11^2))*T + (10 + O(11))*T^2 + O(T^3)
107
+
108
+ sage: TestSuite(L).run() # long time
109
+ """
110
+ self._coefficients = {}
111
+
112
+ if symb.parent().prime() is None:
113
+ raise ValueError("Not a p-adic overconvergent modular symbol.")
114
+
115
+ self._symb = symb
116
+
117
+ if gamma is None:
118
+ p = self._symb.parent().prime()
119
+ if p == 2:
120
+ gamma = 1 + 4
121
+ else:
122
+ gamma = 1 + self._symb.parent().prime()
123
+
124
+ self._gamma = gamma
125
+ self._quadratic_twist = quadratic_twist
126
+ self._precision = precision
127
+ self._cinf = ZZ.one() # is set when called for an elliptic curve
128
+
129
+ def __getitem__(self, n):
130
+ r"""
131
+ Return the `n`-th coefficient of the `p`-adic `L`-series.
132
+
133
+ EXAMPLES::
134
+
135
+ sage: E = EllipticCurve('14a5')
136
+ sage: L = E.padic_lseries(7,implementation='pollackstevens',precision=5) # long time
137
+ sage: L[0] # long time
138
+ O(7^5)
139
+ sage: L[1] # long time
140
+ 5 + 5*7 + 2*7^2 + 2*7^3 + O(7^4)
141
+ """
142
+ if n in self._coefficients:
143
+ return self._coefficients[n]
144
+ else:
145
+ p = self.prime()
146
+ symb = self.symbol()
147
+ # ap = symb.Tq_eigenvalue(p)
148
+ gamma = self._gamma
149
+ precision = self._precision
150
+
151
+ M = symb.precision_relative()
152
+ K = pAdicField(p, M)
153
+ dn = 0
154
+ if n == 0:
155
+ precision = M
156
+ lb = [1] + [0] * (M - 1)
157
+ else:
158
+ lb = log_gamma_binomial(p, gamma, n, 2 * M)
159
+ if precision is None:
160
+ precision = min(j + lb[j].valuation(p)
161
+ for j in range(M, len(lb)))
162
+ lb = [lb[a] for a in range(M)]
163
+
164
+ for j, cjn in enumerate(lb):
165
+ temp = sum((ZZ(K.teichmuller(a)) ** (-j)) *
166
+ self._basic_integral(a, j) for a in range(1, p))
167
+ dn += cjn * temp
168
+ self._coefficients[n] = dn.add_bigoh(precision)
169
+ self._coefficients[n] /= self._cinf
170
+ return self._coefficients[n]
171
+
172
+ def __eq__(self, other):
173
+ r"""
174
+ Compare ``self`` and ``other``.
175
+
176
+ EXAMPLES::
177
+
178
+ sage: E = EllipticCurve('11a')
179
+ sage: L = E.padic_lseries(11,implementation='pollackstevens',precision=6) # long time
180
+ sage: L == loads(dumps(L)) # indirect doctest, long time
181
+ True
182
+ """
183
+ if not isinstance(other, pAdicLseries):
184
+ return False
185
+
186
+ return (self._symb == other._symb and
187
+ self._quadratic_twist == other._quadratic_twist and
188
+ self._gamma == other._gamma and
189
+ self._precision == other._precision)
190
+
191
+ def __ne__(self, other):
192
+ r"""
193
+ Compare ``self`` and ``other``.
194
+
195
+ EXAMPLES::
196
+
197
+ sage: E = EllipticCurve('11a')
198
+ sage: L = E.padic_lseries(11,implementation='pollackstevens',precision=6) # long time
199
+ sage: L != L # long time
200
+ False
201
+ """
202
+ return not self.__eq__(other)
203
+
204
+ def symbol(self):
205
+ r"""
206
+ Return the overconvergent modular symbol.
207
+
208
+ EXAMPLES::
209
+
210
+ sage: # needs eclib
211
+ sage: from sage.modular.pollack_stevens.padic_lseries import pAdicLseries
212
+ sage: E = EllipticCurve('21a4')
213
+ sage: phi = E.pollack_stevens_modular_symbol()
214
+ sage: Phi = phi.p_stabilize_and_lift(2,5) # long time
215
+ sage: L = pAdicLseries(Phi) # long time
216
+ sage: L.symbol() # long time
217
+ Modular symbol of level 42 with values in Space of 2-adic
218
+ distributions with k=0 action and precision cap 15
219
+ sage: L.symbol() is Phi # long time
220
+ True
221
+ """
222
+ return self._symb
223
+
224
+ def prime(self):
225
+ r"""
226
+ Return the prime `p` as in `p`-adic `L`-series.
227
+
228
+ EXAMPLES::
229
+
230
+ sage: E = EllipticCurve('19a')
231
+ sage: L = E.padic_lseries(19, implementation='pollackstevens',precision=6) # long time
232
+ sage: L.prime() # long time
233
+ 19
234
+ """
235
+ return self._symb.parent().prime()
236
+
237
+ def quadratic_twist(self):
238
+ r"""
239
+ Return the discriminant of the quadratic twist.
240
+
241
+ EXAMPLES::
242
+
243
+ sage: # needs eclib
244
+ sage: from sage.modular.pollack_stevens.padic_lseries import pAdicLseries
245
+ sage: E = EllipticCurve('37a')
246
+ sage: phi = E.pollack_stevens_modular_symbol()
247
+ sage: Phi = phi.lift(37,4)
248
+ sage: L = pAdicLseries(Phi, quadratic_twist=-3)
249
+ sage: L.quadratic_twist()
250
+ -3
251
+ """
252
+ return self._quadratic_twist
253
+
254
+ def _repr_(self):
255
+ r"""
256
+ Return the string representation.
257
+
258
+ EXAMPLES::
259
+
260
+ sage: E = EllipticCurve('14a2')
261
+ sage: L = E.padic_lseries(3, implementation='pollackstevens', precision=4) # long time
262
+ sage: L._repr_() # long time
263
+ '3-adic L-series of Modular symbol of level 42 with values in
264
+ Space of 3-adic distributions with k=0 action and precision cap 8'
265
+ """
266
+ return "%s-adic L-series of %s" % (self.prime(), self.symbol())
267
+
268
+ def series(self, prec=5):
269
+ r"""
270
+ Return the ``prec``-th approximation to the `p`-adic `L`-series
271
+ associated to ``self``, as a power series in `T` (corresponding to
272
+ `\gamma-1` with `\gamma` the chosen generator of `1+p\ZZ_p`).
273
+
274
+ INPUT:
275
+
276
+ - ``prec`` -- (default: 5) the precision of the power series
277
+
278
+ EXAMPLES::
279
+
280
+ sage: E = EllipticCurve('14a2')
281
+ sage: p = 3
282
+ sage: prec = 6
283
+ sage: L = E.padic_lseries(p,implementation='pollackstevens',precision=prec) # long time
284
+ sage: L.series(4) # long time
285
+ 2*3 + 3^4 + 3^5 + O(3^6) + (2*3 + 3^2 + O(3^4))*T + (2*3 + O(3^2))*T^2 + (3 + O(3^2))*T^3 + O(T^4)
286
+
287
+ sage: E = EllipticCurve("15a3")
288
+ sage: L = E.padic_lseries(5,implementation='pollackstevens',precision=15) # long time
289
+ sage: L.series(3) # long time
290
+ O(5^15) + (2 + 4*5^2 + 3*5^3 + 5^5 + 2*5^6 + 3*5^7 + 3*5^8 + 2*5^9 + 2*5^10 + 3*5^11 + 5^12 + O(5^13))*T + (4*5 + 4*5^3 + 3*5^4 + 4*5^5 + 3*5^6 + 2*5^7 + 5^8 + 4*5^9 + 3*5^10 + O(5^11))*T^2 + O(T^3)
291
+
292
+ sage: E = EllipticCurve("79a1")
293
+ sage: L = E.padic_lseries(2,implementation='pollackstevens',precision=10) # not tested
294
+ sage: L.series(4) # not tested
295
+ O(2^9) + (2^3 + O(2^4))*T + O(2^0)*T^2 + (O(2^-3))*T^3 + O(T^4)
296
+ """
297
+ p = self.prime()
298
+ M = self.symbol().precision_relative()
299
+ K = pAdicField(p, M)
300
+ R = PowerSeriesRing(K, names='T')
301
+ return R([self[i] for i in range(prec)]).add_bigoh(prec)
302
+
303
+ def interpolation_factor(self, ap, chip=1, psi=None):
304
+ r"""
305
+ Return the interpolation factor associated to ``self``.
306
+ This is the `p`-adic multiplier that which appears in
307
+ the interpolation formula of the `p`-adic `L`-function. It
308
+ has the form `(1-\alpha_p^{-1})^2`, where `\alpha_p` is the
309
+ unit root of `X^2 - \psi(a_p) \chi(p) X + p`.
310
+
311
+ INPUT:
312
+
313
+ - ``ap`` -- the eigenvalue of the Up operator
314
+
315
+ - ``chip`` -- the value of the nebentype at `p` (default: 1)
316
+
317
+ - ``psi`` -- a twisting character (default: ``None``)
318
+
319
+ OUTPUT: a `p`-adic number
320
+
321
+ EXAMPLES::
322
+
323
+ sage: E = EllipticCurve('19a2')
324
+ sage: L = E.padic_lseries(3,implementation='pollackstevens',precision=6) # long time
325
+ sage: ap = E.ap(3) # long time
326
+ sage: L.interpolation_factor(ap) # long time
327
+ 3^2 + 3^3 + 2*3^5 + 2*3^6 + O(3^7)
328
+
329
+ Comparing against a different implementation::
330
+
331
+ sage: # needs eclib
332
+ sage: L = E.padic_lseries(3)
333
+ sage: (1-1/L.alpha(prec=4))^2
334
+ 3^2 + 3^3 + O(3^5)
335
+ """
336
+ M = self.symbol().precision_relative()
337
+ p = self.prime()
338
+ if p == 2:
339
+ R = pAdicField(2, M + 1)
340
+ else:
341
+ R = pAdicField(p, M)
342
+ if psi is not None:
343
+ ap = psi(ap)
344
+ ap = ap * chip
345
+ sdisc = R(ap ** 2 - 4 * p).sqrt()
346
+ v0 = (R(ap) + sdisc) / 2
347
+ v1 = (R(ap) - sdisc) / 2
348
+ if v0.valuation() > 0:
349
+ v0, v1 = v1, v0
350
+ alpha = v0
351
+ return (1 - 1 / alpha) ** 2
352
+
353
+ def _basic_integral(self, a, j):
354
+ r"""
355
+ Return `\int_{a+pZ_p} (z-{a})^j d\Phi(0-infty)`.
356
+
357
+ See formula in section 9.2 of [PS2011]_
358
+
359
+ INPUT:
360
+
361
+ - ``a`` -- integer in range(p)
362
+ - ``j`` -- integer in range(self.symbol().precision_relative())
363
+
364
+ EXAMPLES::
365
+
366
+ sage: from sage.modular.pollack_stevens.padic_lseries import pAdicLseries
367
+ sage: E = EllipticCurve('11a3')
368
+ sage: L = E.padic_lseries(5, implementation='pollackstevens', precision=4) #long time
369
+ sage: L._basic_integral(1,2) # long time
370
+ 2*5^2 + 5^3 + O(5^4)
371
+ """
372
+ symb = self.symbol()
373
+ M = symb.precision_relative()
374
+ if j > M:
375
+ raise PrecisionError("Too many moments requested")
376
+ p = self.prime()
377
+ ap = symb.Tq_eigenvalue(p)
378
+ D = self._quadratic_twist
379
+ ap = ap * kronecker(D, p)
380
+ K = pAdicField(p, M)
381
+ symb_twisted = symb.evaluate_twisted(a, D)
382
+ return sum(ZZ(j).binomial(r) *
383
+ ((a - ZZ(K.teichmuller(a))) ** (j - r)) *
384
+ (p ** r) *
385
+ symb_twisted.moment(r) for r in range(j + 1)) / ap
386
+
387
+
388
+ def log_gamma_binomial(p, gamma, n, M):
389
+ r"""
390
+ Return the list of coefficients in the power series
391
+ expansion (up to precision `M`) of `\binom{\log_p(z)/\log_p(\gamma)}{n}`
392
+
393
+ INPUT:
394
+
395
+ - ``p`` -- prime
396
+ - ``gamma`` -- topological generator, e.g. `1+p`
397
+ - ``n`` -- nonnegative integer
398
+ - ``M`` -- precision
399
+
400
+ OUTPUT:
401
+
402
+ The list of coefficients in the power series expansion of
403
+ `\binom{\log_p(z)/\log_p(\gamma)}{n}`
404
+
405
+ EXAMPLES::
406
+
407
+ sage: from sage.modular.pollack_stevens.padic_lseries import log_gamma_binomial
408
+ sage: log_gamma_binomial(5,1+5,2,4)
409
+ [0, -3/205, 651/84050, -223/42025]
410
+ sage: log_gamma_binomial(5,1+5,3,4)
411
+ [0, 2/205, -223/42025, 95228/25845375]
412
+ """
413
+ S = PowerSeriesRing(QQ, 'z')
414
+ L = S([0] + [ZZ(-1)**j / j for j in range(1, M)]) # log_p(1+z)
415
+ loggam = L.O(M) / L(gamma - 1)
416
+ # log_{gamma}(1+z)= log_p(1+z)/log_p(gamma)
417
+ return binomial(loggam, n).list()