passagemath-flint 10.6.1rc10__cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.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 (361) hide show
  1. passagemath_flint-10.6.1rc10.dist-info/METADATA +122 -0
  2. passagemath_flint-10.6.1rc10.dist-info/RECORD +361 -0
  3. passagemath_flint-10.6.1rc10.dist-info/WHEEL +6 -0
  4. passagemath_flint-10.6.1rc10.dist-info/top_level.txt +2 -0
  5. passagemath_flint.libs/libflint-aecb9cc5.so.21.0.0 +0 -0
  6. passagemath_flint.libs/libgf2x-a4cdec90.so.3.0.0 +0 -0
  7. passagemath_flint.libs/libgfortran-8f1e9814.so.5.0.0 +0 -0
  8. passagemath_flint.libs/libgmp-6e109695.so.10.5.0 +0 -0
  9. passagemath_flint.libs/libgsl-cda90e79.so.28.0.0 +0 -0
  10. passagemath_flint.libs/libmpfi-e3c25853.so.0.0.0 +0 -0
  11. passagemath_flint.libs/libmpfr-82690d50.so.6.2.1 +0 -0
  12. passagemath_flint.libs/libntl-74e7d9a3.so.44.0.1 +0 -0
  13. passagemath_flint.libs/libopenblasp-r0-6dcb67f9.3.29.so +0 -0
  14. passagemath_flint.libs/libquadmath-828275a7.so.0.0.0 +0 -0
  15. sage/all__sagemath_flint.py +29 -0
  16. sage/combinat/all__sagemath_flint.py +1 -0
  17. sage/combinat/posets/all__sagemath_flint.py +1 -0
  18. sage/combinat/posets/hasse_cython_flint.cpython-313-x86_64-linux-gnu.so +0 -0
  19. sage/combinat/posets/hasse_cython_flint.pyx +194 -0
  20. sage/data_structures/all__sagemath_flint.py +1 -0
  21. sage/data_structures/bounded_integer_sequences.cpython-313-x86_64-linux-gnu.so +0 -0
  22. sage/data_structures/bounded_integer_sequences.pxd +62 -0
  23. sage/data_structures/bounded_integer_sequences.pyx +1418 -0
  24. sage/graphs/all__sagemath_flint.py +1 -0
  25. sage/graphs/chrompoly.cpython-313-x86_64-linux-gnu.so +0 -0
  26. sage/graphs/chrompoly.pyx +555 -0
  27. sage/graphs/matchpoly.cpython-313-x86_64-linux-gnu.so +0 -0
  28. sage/graphs/matchpoly.pyx +412 -0
  29. sage/libs/all__sagemath_flint.py +17 -0
  30. sage/libs/arb/__init__.py +1 -0
  31. sage/libs/arb/acb.pxd +154 -0
  32. sage/libs/arb/acb_calc.pxd +9 -0
  33. sage/libs/arb/acb_elliptic.pxd +25 -0
  34. sage/libs/arb/acb_hypgeom.pxd +74 -0
  35. sage/libs/arb/acb_mat.pxd +62 -0
  36. sage/libs/arb/acb_modular.pxd +17 -0
  37. sage/libs/arb/acb_poly.pxd +216 -0
  38. sage/libs/arb/arb.pxd +240 -0
  39. sage/libs/arb/arb_fmpz_poly.pxd +21 -0
  40. sage/libs/arb/arb_hypgeom.pxd +83 -0
  41. sage/libs/arb/arb_wrap.h +34 -0
  42. sage/libs/arb/arf.pxd +131 -0
  43. sage/libs/arb/arith.cpython-313-x86_64-linux-gnu.so +0 -0
  44. sage/libs/arb/arith.pyx +87 -0
  45. sage/libs/arb/bernoulli.pxd +6 -0
  46. sage/libs/arb/mag.pxd +77 -0
  47. sage/libs/arb/types.pxd +37 -0
  48. sage/libs/flint/__init__.py +1 -0
  49. sage/libs/flint/acb.pxd +270 -0
  50. sage/libs/flint/acb_calc.pxd +22 -0
  51. sage/libs/flint/acb_dft.pxd +51 -0
  52. sage/libs/flint/acb_dirichlet.pxd +112 -0
  53. sage/libs/flint/acb_elliptic.pxd +42 -0
  54. sage/libs/flint/acb_hypgeom.pxd +169 -0
  55. sage/libs/flint/acb_macros.pxd +9 -0
  56. sage/libs/flint/acb_mat.pxd +136 -0
  57. sage/libs/flint/acb_mat_macros.pxd +10 -0
  58. sage/libs/flint/acb_modular.pxd +62 -0
  59. sage/libs/flint/acb_poly.pxd +251 -0
  60. sage/libs/flint/acb_poly_macros.pxd +8 -0
  61. sage/libs/flint/acb_theta.pxd +124 -0
  62. sage/libs/flint/acf.pxd +32 -0
  63. sage/libs/flint/aprcl.pxd +84 -0
  64. sage/libs/flint/arb.pxd +382 -0
  65. sage/libs/flint/arb_calc.pxd +31 -0
  66. sage/libs/flint/arb_fmpz_poly.pxd +34 -0
  67. sage/libs/flint/arb_fpwrap.pxd +215 -0
  68. sage/libs/flint/arb_hypgeom.pxd +147 -0
  69. sage/libs/flint/arb_macros.pxd +9 -0
  70. sage/libs/flint/arb_mat.pxd +140 -0
  71. sage/libs/flint/arb_mat_macros.pxd +10 -0
  72. sage/libs/flint/arb_poly.pxd +237 -0
  73. sage/libs/flint/arf.pxd +167 -0
  74. sage/libs/flint/arith.cpython-313-x86_64-linux-gnu.so +0 -0
  75. sage/libs/flint/arith.pxd +76 -0
  76. sage/libs/flint/arith.pyx +77 -0
  77. sage/libs/flint/arith_sage.cpython-313-x86_64-linux-gnu.so +0 -0
  78. sage/libs/flint/arith_sage.pyx +308 -0
  79. sage/libs/flint/bernoulli.pxd +28 -0
  80. sage/libs/flint/bool_mat.pxd +52 -0
  81. sage/libs/flint/ca.pxd +203 -0
  82. sage/libs/flint/ca_ext.pxd +34 -0
  83. sage/libs/flint/ca_field.pxd +32 -0
  84. sage/libs/flint/ca_mat.pxd +117 -0
  85. sage/libs/flint/ca_poly.pxd +104 -0
  86. sage/libs/flint/ca_vec.pxd +46 -0
  87. sage/libs/flint/calcium.pxd +27 -0
  88. sage/libs/flint/d_mat.pxd +39 -0
  89. sage/libs/flint/d_vec.pxd +32 -0
  90. sage/libs/flint/dirichlet.pxd +57 -0
  91. sage/libs/flint/dlog.pxd +53 -0
  92. sage/libs/flint/double_extras.pxd +24 -0
  93. sage/libs/flint/double_interval.pxd +36 -0
  94. sage/libs/flint/fexpr.pxd +104 -0
  95. sage/libs/flint/fexpr_builtin.pxd +20 -0
  96. sage/libs/flint/fft.pxd +66 -0
  97. sage/libs/flint/flint.pxd +36 -0
  98. sage/libs/flint/flint_ntl_wrap.h +35 -0
  99. sage/libs/flint/flint_sage.cpython-313-x86_64-linux-gnu.so +0 -0
  100. sage/libs/flint/flint_sage.pyx +163 -0
  101. sage/libs/flint/flint_wrap.h +190 -0
  102. sage/libs/flint/fmpq.pxd +137 -0
  103. sage/libs/flint/fmpq_mat.pxd +105 -0
  104. sage/libs/flint/fmpq_mat_macros.pxd +10 -0
  105. sage/libs/flint/fmpq_mpoly.pxd +165 -0
  106. sage/libs/flint/fmpq_mpoly_factor.pxd +30 -0
  107. sage/libs/flint/fmpq_poly.pxd +241 -0
  108. sage/libs/flint/fmpq_poly_macros.pxd +9 -0
  109. sage/libs/flint/fmpq_poly_sage.cpython-313-x86_64-linux-gnu.so +0 -0
  110. sage/libs/flint/fmpq_poly_sage.pxd +31 -0
  111. sage/libs/flint/fmpq_poly_sage.pyx +48 -0
  112. sage/libs/flint/fmpq_vec.pxd +27 -0
  113. sage/libs/flint/fmpz.pxd +256 -0
  114. sage/libs/flint/fmpz_extras.pxd +32 -0
  115. sage/libs/flint/fmpz_factor.pxd +42 -0
  116. sage/libs/flint/fmpz_factor_sage.cpython-313-x86_64-linux-gnu.so +0 -0
  117. sage/libs/flint/fmpz_factor_sage.pxd +4 -0
  118. sage/libs/flint/fmpz_factor_sage.pyx +29 -0
  119. sage/libs/flint/fmpz_lll.pxd +49 -0
  120. sage/libs/flint/fmpz_macros.pxd +8 -0
  121. sage/libs/flint/fmpz_mat.pxd +184 -0
  122. sage/libs/flint/fmpz_mat_macros.pxd +10 -0
  123. sage/libs/flint/fmpz_mod.pxd +46 -0
  124. sage/libs/flint/fmpz_mod_mat.pxd +71 -0
  125. sage/libs/flint/fmpz_mod_mpoly.pxd +161 -0
  126. sage/libs/flint/fmpz_mod_mpoly_factor.pxd +28 -0
  127. sage/libs/flint/fmpz_mod_poly.pxd +249 -0
  128. sage/libs/flint/fmpz_mod_poly_factor.pxd +46 -0
  129. sage/libs/flint/fmpz_mod_vec.pxd +27 -0
  130. sage/libs/flint/fmpz_mpoly.pxd +224 -0
  131. sage/libs/flint/fmpz_mpoly_factor.pxd +29 -0
  132. sage/libs/flint/fmpz_mpoly_q.pxd +57 -0
  133. sage/libs/flint/fmpz_poly.cpython-313-x86_64-linux-gnu.so +0 -0
  134. sage/libs/flint/fmpz_poly.pxd +407 -0
  135. sage/libs/flint/fmpz_poly.pyx +19 -0
  136. sage/libs/flint/fmpz_poly_factor.pxd +33 -0
  137. sage/libs/flint/fmpz_poly_macros.pxd +8 -0
  138. sage/libs/flint/fmpz_poly_mat.pxd +71 -0
  139. sage/libs/flint/fmpz_poly_q.pxd +55 -0
  140. sage/libs/flint/fmpz_poly_sage.cpython-313-x86_64-linux-gnu.so +0 -0
  141. sage/libs/flint/fmpz_poly_sage.pxd +20 -0
  142. sage/libs/flint/fmpz_poly_sage.pyx +500 -0
  143. sage/libs/flint/fmpz_vec.pxd +80 -0
  144. sage/libs/flint/fmpzi.pxd +52 -0
  145. sage/libs/flint/fq.pxd +97 -0
  146. sage/libs/flint/fq_default.pxd +84 -0
  147. sage/libs/flint/fq_default_mat.pxd +70 -0
  148. sage/libs/flint/fq_default_poly.pxd +97 -0
  149. sage/libs/flint/fq_default_poly_factor.pxd +39 -0
  150. sage/libs/flint/fq_embed.pxd +28 -0
  151. sage/libs/flint/fq_mat.pxd +83 -0
  152. sage/libs/flint/fq_nmod.pxd +95 -0
  153. sage/libs/flint/fq_nmod_embed.pxd +28 -0
  154. sage/libs/flint/fq_nmod_mat.pxd +83 -0
  155. sage/libs/flint/fq_nmod_mpoly.pxd +130 -0
  156. sage/libs/flint/fq_nmod_mpoly_factor.pxd +28 -0
  157. sage/libs/flint/fq_nmod_poly.pxd +202 -0
  158. sage/libs/flint/fq_nmod_poly_factor.pxd +47 -0
  159. sage/libs/flint/fq_nmod_vec.pxd +33 -0
  160. sage/libs/flint/fq_poly.pxd +204 -0
  161. sage/libs/flint/fq_poly_factor.pxd +47 -0
  162. sage/libs/flint/fq_vec.pxd +33 -0
  163. sage/libs/flint/fq_zech.pxd +99 -0
  164. sage/libs/flint/fq_zech_embed.pxd +28 -0
  165. sage/libs/flint/fq_zech_mat.pxd +78 -0
  166. sage/libs/flint/fq_zech_poly.pxd +198 -0
  167. sage/libs/flint/fq_zech_poly_factor.pxd +47 -0
  168. sage/libs/flint/fq_zech_vec.pxd +33 -0
  169. sage/libs/flint/gr.pxd +174 -0
  170. sage/libs/flint/gr_generic.pxd +215 -0
  171. sage/libs/flint/gr_mat.pxd +161 -0
  172. sage/libs/flint/gr_mpoly.pxd +68 -0
  173. sage/libs/flint/gr_poly.pxd +276 -0
  174. sage/libs/flint/gr_special.pxd +237 -0
  175. sage/libs/flint/gr_vec.pxd +120 -0
  176. sage/libs/flint/hypgeom.pxd +24 -0
  177. sage/libs/flint/long_extras.pxd +23 -0
  178. sage/libs/flint/mag.pxd +131 -0
  179. sage/libs/flint/mag_macros.pxd +8 -0
  180. sage/libs/flint/mpf_mat.pxd +36 -0
  181. sage/libs/flint/mpf_vec.pxd +34 -0
  182. sage/libs/flint/mpfr_mat.pxd +27 -0
  183. sage/libs/flint/mpfr_vec.pxd +25 -0
  184. sage/libs/flint/mpn_extras.pxd +41 -0
  185. sage/libs/flint/mpoly.pxd +72 -0
  186. sage/libs/flint/nf.pxd +19 -0
  187. sage/libs/flint/nf_elem.pxd +74 -0
  188. sage/libs/flint/nmod.pxd +35 -0
  189. sage/libs/flint/nmod_mat.pxd +104 -0
  190. sage/libs/flint/nmod_mpoly.pxd +144 -0
  191. sage/libs/flint/nmod_mpoly_factor.pxd +28 -0
  192. sage/libs/flint/nmod_poly.pxd +339 -0
  193. sage/libs/flint/nmod_poly_factor.pxd +44 -0
  194. sage/libs/flint/nmod_poly_linkage.pxi +710 -0
  195. sage/libs/flint/nmod_poly_mat.pxd +76 -0
  196. sage/libs/flint/nmod_vec.pxd +40 -0
  197. sage/libs/flint/ntl_interface.pxd +17 -0
  198. sage/libs/flint/padic.pxd +93 -0
  199. sage/libs/flint/padic_mat.pxd +64 -0
  200. sage/libs/flint/padic_poly.pxd +88 -0
  201. sage/libs/flint/partitions.pxd +23 -0
  202. sage/libs/flint/perm.pxd +26 -0
  203. sage/libs/flint/profiler.pxd +24 -0
  204. sage/libs/flint/qadic.pxd +77 -0
  205. sage/libs/flint/qfb.pxd +44 -0
  206. sage/libs/flint/qqbar.pxd +172 -0
  207. sage/libs/flint/qsieve.cpython-313-x86_64-linux-gnu.so +0 -0
  208. sage/libs/flint/qsieve.pxd +41 -0
  209. sage/libs/flint/qsieve.pyx +21 -0
  210. sage/libs/flint/qsieve_sage.cpython-313-x86_64-linux-gnu.so +0 -0
  211. sage/libs/flint/qsieve_sage.pyx +67 -0
  212. sage/libs/flint/thread_pool.pxd +25 -0
  213. sage/libs/flint/types.pxd +2076 -0
  214. sage/libs/flint/ulong_extras.cpython-313-x86_64-linux-gnu.so +0 -0
  215. sage/libs/flint/ulong_extras.pxd +141 -0
  216. sage/libs/flint/ulong_extras.pyx +21 -0
  217. sage/libs/flint/ulong_extras_sage.cpython-313-x86_64-linux-gnu.so +0 -0
  218. sage/libs/flint/ulong_extras_sage.pyx +21 -0
  219. sage/matrix/all__sagemath_flint.py +1 -0
  220. sage/matrix/change_ring.cpython-313-x86_64-linux-gnu.so +0 -0
  221. sage/matrix/change_ring.pyx +43 -0
  222. sage/matrix/matrix_complex_ball_dense.cpython-313-x86_64-linux-gnu.so +0 -0
  223. sage/matrix/matrix_complex_ball_dense.pxd +14 -0
  224. sage/matrix/matrix_complex_ball_dense.pyx +973 -0
  225. sage/matrix/matrix_cyclo_dense.cpython-313-x86_64-linux-gnu.so +0 -0
  226. sage/matrix/matrix_cyclo_dense.pxd +16 -0
  227. sage/matrix/matrix_cyclo_dense.pyx +1761 -0
  228. sage/matrix/matrix_integer_dense.cpython-313-x86_64-linux-gnu.so +0 -0
  229. sage/matrix/matrix_integer_dense.pxd +32 -0
  230. sage/matrix/matrix_integer_dense.pyx +5801 -0
  231. sage/matrix/matrix_integer_dense_hnf.py +1294 -0
  232. sage/matrix/matrix_integer_dense_saturation.py +346 -0
  233. sage/matrix/matrix_integer_sparse.cpython-313-x86_64-linux-gnu.so +0 -0
  234. sage/matrix/matrix_integer_sparse.pxd +9 -0
  235. sage/matrix/matrix_integer_sparse.pyx +1090 -0
  236. sage/matrix/matrix_rational_dense.cpython-313-x86_64-linux-gnu.so +0 -0
  237. sage/matrix/matrix_rational_dense.pxd +23 -0
  238. sage/matrix/matrix_rational_dense.pyx +2995 -0
  239. sage/matrix/matrix_rational_sparse.cpython-313-x86_64-linux-gnu.so +0 -0
  240. sage/matrix/matrix_rational_sparse.pxd +11 -0
  241. sage/matrix/matrix_rational_sparse.pyx +789 -0
  242. sage/matrix/misc_flint.cpython-313-x86_64-linux-gnu.so +0 -0
  243. sage/matrix/misc_flint.pyx +109 -0
  244. sage/modular/all__sagemath_flint.py +1 -0
  245. sage/modular/modform/all__sagemath_flint.py +1 -0
  246. sage/modular/modform/eis_series_cython.cpython-313-x86_64-linux-gnu.so +0 -0
  247. sage/modular/modform/eis_series_cython.pyx +226 -0
  248. sage/modular/modsym/all__sagemath_flint.py +1 -0
  249. sage/modular/modsym/apply.cpython-313-x86_64-linux-gnu.so +0 -0
  250. sage/modular/modsym/apply.pxd +6 -0
  251. sage/modular/modsym/apply.pyx +113 -0
  252. sage/modular/modsym/heilbronn.cpython-313-x86_64-linux-gnu.so +0 -0
  253. sage/modular/modsym/heilbronn.pyx +966 -0
  254. sage/modular/pollack_stevens/all__sagemath_flint.py +1 -0
  255. sage/modular/pollack_stevens/dist.cpython-313-x86_64-linux-gnu.so +0 -0
  256. sage/modular/pollack_stevens/dist.pxd +38 -0
  257. sage/modular/pollack_stevens/dist.pyx +1439 -0
  258. sage/quivers/algebra.py +691 -0
  259. sage/quivers/algebra_elements.cpython-313-x86_64-linux-gnu.so +0 -0
  260. sage/quivers/algebra_elements.pxd +97 -0
  261. sage/quivers/algebra_elements.pxi +1324 -0
  262. sage/quivers/algebra_elements.pyx +1424 -0
  263. sage/quivers/all.py +1 -0
  264. sage/quivers/ar_quiver.py +917 -0
  265. sage/quivers/homspace.py +640 -0
  266. sage/quivers/morphism.py +1282 -0
  267. sage/quivers/path_semigroup.py +1155 -0
  268. sage/quivers/paths.cpython-313-x86_64-linux-gnu.so +0 -0
  269. sage/quivers/paths.pxd +13 -0
  270. sage/quivers/paths.pyx +809 -0
  271. sage/quivers/representation.py +2975 -0
  272. sage/rings/all__sagemath_flint.py +37 -0
  273. sage/rings/cif.py +4 -0
  274. sage/rings/complex_arb.cpython-313-x86_64-linux-gnu.so +0 -0
  275. sage/rings/complex_arb.pxd +29 -0
  276. sage/rings/complex_arb.pyx +5176 -0
  277. sage/rings/complex_interval.cpython-313-x86_64-linux-gnu.so +0 -0
  278. sage/rings/complex_interval.pxd +30 -0
  279. sage/rings/complex_interval.pyx +2475 -0
  280. sage/rings/complex_interval_field.py +711 -0
  281. sage/rings/convert/all.py +1 -0
  282. sage/rings/convert/mpfi.cpython-313-x86_64-linux-gnu.so +0 -0
  283. sage/rings/convert/mpfi.pxd +6 -0
  284. sage/rings/convert/mpfi.pyx +576 -0
  285. sage/rings/factorint_flint.cpython-313-x86_64-linux-gnu.so +0 -0
  286. sage/rings/factorint_flint.pyx +99 -0
  287. sage/rings/fraction_field_FpT.cpython-313-x86_64-linux-gnu.so +0 -0
  288. sage/rings/fraction_field_FpT.pxd +28 -0
  289. sage/rings/fraction_field_FpT.pyx +2043 -0
  290. sage/rings/imaginary_unit.py +5 -0
  291. sage/rings/monomials.py +73 -0
  292. sage/rings/number_field/S_unit_solver.py +2870 -0
  293. sage/rings/number_field/all__sagemath_flint.py +7 -0
  294. sage/rings/number_field/bdd_height.py +664 -0
  295. sage/rings/number_field/class_group.py +762 -0
  296. sage/rings/number_field/galois_group.py +1307 -0
  297. sage/rings/number_field/homset.py +612 -0
  298. sage/rings/number_field/maps.py +687 -0
  299. sage/rings/number_field/morphism.py +272 -0
  300. sage/rings/number_field/number_field.py +12820 -0
  301. sage/rings/number_field/number_field_element.cpython-313-x86_64-linux-gnu.so +0 -0
  302. sage/rings/number_field/number_field_element.pxd +59 -0
  303. sage/rings/number_field/number_field_element.pyx +5735 -0
  304. sage/rings/number_field/number_field_element_quadratic.cpython-313-x86_64-linux-gnu.so +0 -0
  305. sage/rings/number_field/number_field_element_quadratic.pxd +34 -0
  306. sage/rings/number_field/number_field_element_quadratic.pyx +3185 -0
  307. sage/rings/number_field/number_field_ideal_rel.py +925 -0
  308. sage/rings/number_field/number_field_morphisms.cpython-313-x86_64-linux-gnu.so +0 -0
  309. sage/rings/number_field/number_field_morphisms.pyx +781 -0
  310. sage/rings/number_field/number_field_rel.py +2734 -0
  311. sage/rings/number_field/order.py +2981 -0
  312. sage/rings/number_field/order_ideal.py +804 -0
  313. sage/rings/number_field/selmer_group.py +715 -0
  314. sage/rings/number_field/small_primes_of_degree_one.py +242 -0
  315. sage/rings/number_field/splitting_field.py +606 -0
  316. sage/rings/number_field/structure.py +380 -0
  317. sage/rings/number_field/unit_group.py +721 -0
  318. sage/rings/padics/all__sagemath_flint.py +3 -0
  319. sage/rings/polynomial/all__sagemath_flint.py +1 -0
  320. sage/rings/polynomial/complex_roots.py +312 -0
  321. sage/rings/polynomial/evaluation_flint.cpython-313-x86_64-linux-gnu.so +0 -0
  322. sage/rings/polynomial/evaluation_flint.pxd +7 -0
  323. sage/rings/polynomial/evaluation_flint.pyx +68 -0
  324. sage/rings/polynomial/hilbert.cpython-313-x86_64-linux-gnu.so +0 -0
  325. sage/rings/polynomial/hilbert.pyx +602 -0
  326. sage/rings/polynomial/polynomial_complex_arb.cpython-313-x86_64-linux-gnu.so +0 -0
  327. sage/rings/polynomial/polynomial_complex_arb.pxd +7 -0
  328. sage/rings/polynomial/polynomial_complex_arb.pyx +963 -0
  329. sage/rings/polynomial/polynomial_integer_dense_flint.cpython-313-x86_64-linux-gnu.so +0 -0
  330. sage/rings/polynomial/polynomial_integer_dense_flint.pxd +13 -0
  331. sage/rings/polynomial/polynomial_integer_dense_flint.pyx +1881 -0
  332. sage/rings/polynomial/polynomial_number_field.cpython-313-x86_64-linux-gnu.so +0 -0
  333. sage/rings/polynomial/polynomial_number_field.pyx +345 -0
  334. sage/rings/polynomial/polynomial_rational_flint.cpython-313-x86_64-linux-gnu.so +0 -0
  335. sage/rings/polynomial/polynomial_rational_flint.pxd +20 -0
  336. sage/rings/polynomial/polynomial_rational_flint.pyx +2598 -0
  337. sage/rings/polynomial/polynomial_zmod_flint.cpython-313-x86_64-linux-gnu.so +0 -0
  338. sage/rings/polynomial/polynomial_zmod_flint.pxd +20 -0
  339. sage/rings/polynomial/polynomial_zmod_flint.pyx +1063 -0
  340. sage/rings/polynomial/real_roots.cpython-313-x86_64-linux-gnu.so +0 -0
  341. sage/rings/polynomial/real_roots.pxd +81 -0
  342. sage/rings/polynomial/real_roots.pyx +4704 -0
  343. sage/rings/polynomial/refine_root.cpython-313-x86_64-linux-gnu.so +0 -0
  344. sage/rings/polynomial/refine_root.pyx +142 -0
  345. sage/rings/polynomial/weil/all.py +4 -0
  346. sage/rings/polynomial/weil/power_sums.h +46 -0
  347. sage/rings/polynomial/weil/weil_polynomials.cpython-313-x86_64-linux-gnu.so +0 -0
  348. sage/rings/polynomial/weil/weil_polynomials.pyx +596 -0
  349. sage/rings/qqbar.py +9025 -0
  350. sage/rings/real_arb.cpython-313-x86_64-linux-gnu.so +0 -0
  351. sage/rings/real_arb.pxd +21 -0
  352. sage/rings/real_arb.pyx +4065 -0
  353. sage/rings/real_interval_absolute.cpython-313-x86_64-linux-gnu.so +0 -0
  354. sage/rings/real_interval_absolute.pyx +1073 -0
  355. sage/rings/real_mpfi.cpython-313-x86_64-linux-gnu.so +0 -0
  356. sage/rings/real_mpfi.pyx +5428 -0
  357. sage/schemes/all__sagemath_flint.py +1 -0
  358. sage/schemes/elliptic_curves/all__sagemath_flint.py +1 -0
  359. sage/schemes/elliptic_curves/descent_two_isogeny.cpython-313-x86_64-linux-gnu.so +0 -0
  360. sage/schemes/elliptic_curves/descent_two_isogeny.pyx +1387 -0
  361. sage/schemes/elliptic_curves/descent_two_isogeny_pari.pxd +5 -0
@@ -0,0 +1,109 @@
1
+ # sage_setup: distribution = sagemath-flint
2
+ # sage.doctest: needs sage.libs.linbox
3
+ r"""
4
+ Misc matrix algorithms using FLINT
5
+ """
6
+
7
+ from cysignals.signals cimport sig_check
8
+
9
+ from sage.arith.rational_reconstruction cimport mpq_rational_reconstruction
10
+ from sage.libs.gmp.mpq cimport *
11
+ from sage.libs.gmp.mpz cimport *
12
+ from sage.libs.flint.fmpq cimport fmpq_set_mpq, fmpq_canonicalise
13
+ from sage.libs.flint.fmpq_mat cimport fmpq_mat_entry_num, fmpq_mat_entry_den, fmpq_mat_entry
14
+ from sage.libs.flint.fmpz cimport fmpz_set_mpz, fmpz_one
15
+ from sage.rings.integer cimport Integer
16
+ from sage.rings.rational_field import QQ
17
+
18
+ from sage.matrix.matrix_integer_dense cimport Matrix_integer_dense
19
+ from sage.matrix.matrix_rational_dense cimport Matrix_rational_dense
20
+
21
+
22
+ def matrix_integer_dense_rational_reconstruction(Matrix_integer_dense A, Integer N):
23
+ r"""
24
+ Given a matrix over the integers and an integer modulus, do
25
+ rational reconstruction on all entries of the matrix, viewed as
26
+ numbers mod `N`. This is done efficiently by assuming there is a
27
+ large common factor dividing the denominators.
28
+
29
+ INPUT:
30
+
31
+ - ``A`` -- matrix
32
+ - ``N`` -- integer
33
+
34
+ EXAMPLES::
35
+
36
+ sage: B = ((matrix(ZZ, 3,4, [1,2,3,-4,7,2,18,3,4,3,4,5])/3)%500).change_ring(ZZ)
37
+ sage: from sage.matrix.misc_flint import matrix_integer_dense_rational_reconstruction
38
+ sage: matrix_integer_dense_rational_reconstruction(B, 500)
39
+ [ 1/3 2/3 1 -4/3]
40
+ [ 7/3 2/3 6 1]
41
+ [ 4/3 1 4/3 5/3]
42
+
43
+ TESTS:
44
+
45
+ Check that :issue:`9345` is fixed::
46
+
47
+ sage: A = random_matrix(ZZ, 3)
48
+ sage: matrix_integer_dense_rational_reconstruction(A, 0)
49
+ Traceback (most recent call last):
50
+ ...
51
+ ZeroDivisionError: The modulus cannot be zero
52
+ """
53
+ if not N:
54
+ raise ZeroDivisionError("The modulus cannot be zero")
55
+ cdef Matrix_rational_dense R
56
+ R = Matrix_rational_dense.__new__(Matrix_rational_dense,
57
+ A.parent().change_ring(QQ), 0,0,0)
58
+
59
+ cdef mpz_t a, bnd, other_bnd, denom, tmp
60
+ cdef mpq_t qtmp
61
+ cdef Integer _bnd
62
+ cdef Py_ssize_t i, j
63
+ cdef int do_it
64
+
65
+ mpz_init_set_si(denom, 1)
66
+ mpz_init(a)
67
+ mpz_init(tmp)
68
+ mpz_init(other_bnd)
69
+ mpq_init(qtmp)
70
+
71
+ _bnd = (N//2).isqrt()
72
+ mpz_init_set(bnd, _bnd.value)
73
+ mpz_sub(other_bnd, N.value, bnd)
74
+
75
+ for i in range(A._nrows):
76
+ for j in range(A._ncols):
77
+ sig_check()
78
+ A.get_unsafe_mpz(i, j, a)
79
+ if mpz_cmp_ui(denom, 1) != 0:
80
+ mpz_mul(a, a, denom)
81
+ mpz_fdiv_r(a, a, N.value)
82
+ do_it = 0
83
+ if mpz_cmp(a, bnd) <= 0:
84
+ do_it = 1
85
+ elif mpz_cmp(a, other_bnd) >= 0:
86
+ mpz_sub(a, a, N.value)
87
+ do_it = 1
88
+ if do_it:
89
+ fmpz_set_mpz(fmpq_mat_entry_num(R._matrix, i, j), a)
90
+ if mpz_cmp_ui(denom, 1) != 0:
91
+ fmpz_set_mpz(fmpq_mat_entry_den(R._matrix, i, j), denom)
92
+ fmpq_canonicalise(fmpq_mat_entry(R._matrix, i, j))
93
+ else:
94
+ fmpz_one(fmpq_mat_entry_den(R._matrix, i, j))
95
+ else:
96
+ # Otherwise have to do it the hard way
97
+ A.get_unsafe_mpz(i, j, tmp)
98
+ mpq_rational_reconstruction(qtmp, tmp, N.value)
99
+ mpz_lcm(denom, denom, mpq_denref(qtmp))
100
+ fmpq_set_mpq(fmpq_mat_entry(R._matrix, i, j), qtmp)
101
+
102
+ mpz_clear(denom)
103
+ mpz_clear(a)
104
+ mpz_clear(tmp)
105
+ mpz_clear(other_bnd)
106
+ mpz_clear(bnd)
107
+ mpq_clear(qtmp)
108
+
109
+ return R
@@ -0,0 +1 @@
1
+ # sage_setup: distribution = sagemath-flint
@@ -0,0 +1 @@
1
+ # sage_setup: distribution = sagemath-flint
@@ -0,0 +1,226 @@
1
+ # sage_setup: distribution = sagemath-flint
2
+ # sage.doctest: needs sage.libs.pari
3
+ """
4
+ Eisenstein series, optimized
5
+ """
6
+
7
+ from cysignals.memory cimport check_allocarray, sig_free
8
+ from cysignals.signals cimport sig_check
9
+
10
+ from sage.arith.misc import primes, bernoulli
11
+ from sage.rings.integer cimport Integer
12
+ from sage.rings.fast_arith cimport prime_range
13
+
14
+ from cpython.list cimport PyList_GET_ITEM
15
+ from sage.libs.flint.fmpz_poly cimport *
16
+ from sage.libs.gmp.mpz cimport *
17
+ from sage.libs.flint.fmpz_poly_sage cimport Fmpz_poly, fmpz_poly_set_coeff_mpz, fmpz_poly_scalar_mul_mpz
18
+
19
+ cpdef Ek_ZZ(int k, int prec=10):
20
+ """
21
+ Return list of prec integer coefficients of the weight k
22
+ Eisenstein series of level 1, normalized so the coefficient of q
23
+ is 1, except that the 0th coefficient is set to 1 instead of its
24
+ actual value.
25
+
26
+ INPUT:
27
+
28
+ - ``k`` -- integer
29
+ - ``prec`` -- integer
30
+
31
+ OUTPUT: list of integers
32
+
33
+ EXAMPLES::
34
+
35
+ sage: from sage.modular.modform.eis_series_cython import Ek_ZZ
36
+ sage: Ek_ZZ(4,10)
37
+ [1, 1, 9, 28, 73, 126, 252, 344, 585, 757]
38
+ sage: [sigma(n,3) for n in [1..9]]
39
+ [1, 9, 28, 73, 126, 252, 344, 585, 757]
40
+ sage: Ek_ZZ(10,10^3) == [1] + [sigma(n,9) for n in range(1,10^3)]
41
+ True
42
+ """
43
+ cdef Integer pp
44
+ cdef mpz_t q, current_sum, q_plus_one
45
+
46
+ cdef unsigned long p
47
+ cdef Py_ssize_t i, ind
48
+ cdef bint continue_flag
49
+
50
+ cdef list power_sum_ls
51
+
52
+ cdef unsigned long max_power_sum, temp_index
53
+ cdef unsigned long remainder, prev_index
54
+ cdef unsigned long additional_p_powers
55
+
56
+ mpz_init(q)
57
+ mpz_init(current_sum)
58
+ mpz_init(q_plus_one)
59
+
60
+ # allocate the list for the result
61
+ cdef list val = []
62
+ for i in range(prec):
63
+ pp = Integer.__new__(Integer)
64
+ mpz_set_si(pp.value, 1)
65
+ val.append(pp)
66
+
67
+ # no need to reallocate this list every time -- just reuse the
68
+ # Integers in it
69
+ power_sum_ls = []
70
+ max_power_sum = prec
71
+ while max_power_sum:
72
+ max_power_sum >>= 1
73
+ pp = Integer.__new__(Integer)
74
+ mpz_set_si(pp.value, 1)
75
+ power_sum_ls.append(pp)
76
+
77
+ for pp in prime_range(prec):
78
+ p = mpz_get_ui((<Integer>pp).value)
79
+ mpz_ui_pow_ui(q, p, k - 1)
80
+ mpz_add_ui(q_plus_one, q, 1)
81
+ mpz_set(current_sum, q_plus_one)
82
+
83
+ # NOTE: I (wstein) did benchmarks, and the use of
84
+ # PyList_GET_ITEM in the code below is worth it since it leads
85
+ # to a significant speedup by not doing bounds checking.
86
+
87
+ # set power_sum_ls[1] = q+1
88
+ mpz_set((<Integer>(PyList_GET_ITEM(power_sum_ls, 1))).value,
89
+ current_sum)
90
+ max_power_sum = 1
91
+
92
+ ind = 0
93
+ while True:
94
+ continue_flag = 0
95
+ # do the first p-1
96
+ for i in range(1, p):
97
+ ind += p
98
+ if (ind >= prec):
99
+ continue_flag = 1
100
+ break
101
+ mpz_mul((<Integer>(PyList_GET_ITEM(val, ind))).value,
102
+ (<Integer>(PyList_GET_ITEM(val, ind))).value,
103
+ q_plus_one)
104
+ ind += p
105
+ if (ind >= prec or continue_flag):
106
+ break
107
+
108
+ # now do the pth one, which is harder.
109
+
110
+ # compute the valuation of n at p
111
+ additional_p_powers = 0
112
+ temp_index = ind // p
113
+ remainder = 0
114
+ while not remainder:
115
+ additional_p_powers += 1
116
+ prev_index = temp_index
117
+ temp_index = temp_index // p
118
+ remainder = prev_index - p*temp_index
119
+
120
+ # if we need a new sum, it has to be the next uncomputed one.
121
+ if (additional_p_powers > max_power_sum):
122
+ mpz_mul(current_sum, current_sum, q)
123
+ mpz_add_ui(current_sum, current_sum, 1)
124
+ max_power_sum += 1
125
+
126
+ mpz_set((<Integer>(PyList_GET_ITEM(power_sum_ls,
127
+ max_power_sum))).value,
128
+ current_sum)
129
+
130
+ # finally, set the coefficient
131
+ mpz_mul((<Integer>(PyList_GET_ITEM(val, ind))).value,
132
+ (<Integer>(PyList_GET_ITEM(val, ind))).value,
133
+ (<Integer>(PyList_GET_ITEM(power_sum_ls,
134
+ additional_p_powers))).value)
135
+
136
+ mpz_clear(q)
137
+ mpz_clear(current_sum)
138
+ mpz_clear(q_plus_one)
139
+
140
+ return val
141
+
142
+
143
+ cpdef eisenstein_series_poly(int k, int prec=10):
144
+ r"""
145
+ Return the `q`-expansion up to precision ``prec`` of the weight `k`
146
+ Eisenstein series, as a FLINT :class:`~sage.libs.flint.fmpz_poly.Fmpz_poly`
147
+ object, normalised so the coefficients are integers with no common factor.
148
+
149
+ Used internally by the functions
150
+ :func:`~sage.modular.modform.eis_series.eisenstein_series_qexp` and
151
+ :func:`~sage.modular.modform.vm_basis.victor_miller_basis`; see the
152
+ docstring of the former for further details.
153
+
154
+ EXAMPLES::
155
+
156
+ sage: from sage.modular.modform.eis_series_cython import eisenstein_series_poly
157
+ sage: eisenstein_series_poly(12, prec=5)
158
+ 5 691 65520 134250480 11606736960 274945048560
159
+ """
160
+ cdef mpz_t *val = <mpz_t *>check_allocarray(prec, sizeof(mpz_t))
161
+ cdef mpz_t one, mult, term, last, term_m1, last_m1
162
+ cdef long ind
163
+ cdef int i
164
+ cdef Fmpz_poly res = Fmpz_poly.__new__(Fmpz_poly)
165
+
166
+ if k % 2 or k < 2:
167
+ raise ValueError("k (=%s) must be an even positive integer" % k)
168
+ if prec < 0:
169
+ raise ValueError("prec (=%s) must be an even nonnegative integer" % prec)
170
+ if (prec == 0):
171
+ return Fmpz_poly.__new__(Fmpz_poly)
172
+
173
+ mpz_init(one)
174
+ mpz_init(term)
175
+ mpz_init(last)
176
+ mpz_init(mult)
177
+ mpz_init(term_m1)
178
+ mpz_init(last_m1)
179
+
180
+ for i in range(prec):
181
+ mpz_init_set_si(val[i], 1)
182
+
183
+ mpz_set_si(one, 1)
184
+
185
+ cdef unsigned long expt = k - 1
186
+ a0 = -bernoulli(k) / (2*k)
187
+
188
+ cdef long p, ppow
189
+ for p in primes(1, prec):
190
+ ppow = p
191
+
192
+ mpz_set_si(mult, p)
193
+ mpz_pow_ui(mult, mult, expt)
194
+ mpz_mul(term, mult, mult)
195
+ mpz_set(last, mult)
196
+
197
+ while ppow < prec:
198
+ sig_check()
199
+ ind = ppow
200
+ mpz_sub(term_m1, term, one)
201
+ mpz_sub(last_m1, last, one)
202
+ while ind < prec:
203
+ mpz_mul(val[ind], val[ind], term_m1)
204
+ mpz_fdiv_q(val[ind], val[ind], last_m1)
205
+ ind += ppow
206
+ ppow *= p
207
+ mpz_set(last, term)
208
+ mpz_mul(term, term, mult)
209
+
210
+ mpz_clear(one)
211
+ mpz_clear(term)
212
+ mpz_clear(last)
213
+ mpz_clear(mult)
214
+ mpz_clear(term_m1)
215
+ mpz_clear(last_m1)
216
+
217
+ fmpz_poly_set_coeff_mpz(res.poly, prec-1, val[prec-1])
218
+ for i in range(1, prec - 1):
219
+ fmpz_poly_set_coeff_mpz(res.poly, i, val[i])
220
+
221
+ fmpz_poly_scalar_mul_mpz(res.poly, res.poly, (<Integer>(a0.denominator())).value)
222
+ fmpz_poly_set_coeff_mpz(res.poly, 0, (<Integer>(a0.numerator())).value)
223
+
224
+ sig_free(val)
225
+
226
+ return res
@@ -0,0 +1 @@
1
+ # sage_setup: distribution = sagemath-flint
@@ -0,0 +1,6 @@
1
+ # sage_setup: distribution = sagemath-flint
2
+ from sage.libs.flint.types cimport fmpz_poly_t
3
+
4
+ cdef class Apply:
5
+ cdef fmpz_poly_t f, g, ff, gg
6
+ cdef int apply_to_monomial_flint(self, fmpz_poly_t ans, int i, int j, int a, int b, int c, int d) except -1
@@ -0,0 +1,113 @@
1
+ # sage_setup: distribution = sagemath-flint
2
+ # distutils: extra_compile_args = -D_XPG6
3
+ """
4
+ Monomial expansion of `(aX + bY)^i (cX + dY)^{j-i}`
5
+ """
6
+
7
+ ##########################################################################
8
+ #
9
+ # Copyright (C) 2008 William Stein <wstein@gmail.com>
10
+ #
11
+ # Distributed under the terms of the GNU General Public License (GPL)
12
+ #
13
+ # https://www.gnu.org/licenses/
14
+ #
15
+ ##########################################################################
16
+
17
+ from sage.ext.stdsage cimport PY_NEW
18
+
19
+ from sage.libs.flint.fmpz_poly cimport *
20
+ from sage.libs.flint.fmpz_poly_sage cimport *
21
+ from sage.rings.integer cimport Integer
22
+
23
+ cdef class Apply:
24
+ def __cinit__(self):
25
+ """
26
+ EXAMPLES::
27
+
28
+ sage: import sage.modular.modsym.apply
29
+ sage: sage.modular.modsym.apply.Apply()
30
+ <sage.modular.modsym.apply.Apply object at ...>
31
+ """
32
+ fmpz_poly_init(self.f)
33
+ fmpz_poly_init(self.g)
34
+ fmpz_poly_init(self.ff)
35
+ fmpz_poly_init(self.gg)
36
+
37
+ def __dealloc__(self):
38
+ # clear flint polys
39
+ fmpz_poly_clear(self.f)
40
+ fmpz_poly_clear(self.g)
41
+ fmpz_poly_clear(self.ff)
42
+ fmpz_poly_clear(self.gg)
43
+
44
+ cdef int apply_to_monomial_flint(self, fmpz_poly_t ans, int i, int j,
45
+ int a, int b, int c, int d) except -1:
46
+ if i < 0 or j - i < 0:
47
+ raise ValueError("i (=%s) and j-i (=%s) must both be nonnegative." % (i, j - i))
48
+
49
+ # f = b+a*x, g = d+c*x
50
+ fmpz_poly_set_coeff_si(self.f, 0, b)
51
+ fmpz_poly_set_coeff_si(self.f, 1, a)
52
+ fmpz_poly_set_coeff_si(self.g, 0, d)
53
+ fmpz_poly_set_coeff_si(self.g, 1, c)
54
+
55
+ # h = (f**i)*(g**(j-i))
56
+ fmpz_poly_pow(self.ff, self.f, i)
57
+ fmpz_poly_pow(self.gg, self.g, j - i)
58
+ fmpz_poly_mul(ans, self.ff, self.gg)
59
+
60
+ return 0
61
+
62
+
63
+ cdef Apply A = Apply()
64
+
65
+
66
+ def apply_to_monomial(int i, int j, int a, int b, int c, int d):
67
+ r"""
68
+ Return a list of the coefficients of
69
+
70
+ .. MATH::
71
+
72
+ (aX + bY)^i (cX + dY)^{j-i},
73
+
74
+ where `0 \leq i \leq j`, and `a`, `b`, `c`, `d` are integers.
75
+
76
+ One should think of `j` as being `k-2` for the application to
77
+ modular symbols.
78
+
79
+ INPUT:
80
+
81
+ - i, j, a, b, c, d -- all ints
82
+
83
+ OUTPUT:
84
+
85
+ list of ints, which are the coefficients
86
+ of `Y^j, Y^{j-1}X, \ldots, X^j`, respectively.
87
+
88
+ EXAMPLES:
89
+
90
+ We compute that `(X+Y)^2(X-Y) = X^3 + X^2Y - XY^2 - Y^3`::
91
+
92
+ sage: from sage.modular.modsym.apply import apply_to_monomial
93
+ sage: apply_to_monomial(2, 3, 1,1,1,-1)
94
+ [-1, -1, 1, 1]
95
+ sage: apply_to_monomial(5, 8, 1,2,3,4)
96
+ [2048, 9728, 20096, 23584, 17200, 7984, 2304, 378, 27]
97
+ sage: apply_to_monomial(6,12, 1,1,1,-1)
98
+ [1, 0, -6, 0, 15, 0, -20, 0, 15, 0, -6, 0, 1]
99
+ """
100
+ cdef fmpz_poly_t pr
101
+ fmpz_poly_init(pr)
102
+
103
+ A.apply_to_monomial_flint(pr, i, j, a, b, c, d)
104
+
105
+ cdef Integer res
106
+ v = []
107
+ for k in range(j + 1):
108
+ res = <Integer>PY_NEW(Integer)
109
+ fmpz_poly_get_coeff_mpz(res.value, pr, k)
110
+ v.append(int(res))
111
+
112
+ fmpz_poly_clear(pr)
113
+ return v