passagemath-flint 10.6.1rc10__cp312-cp312-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-312-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-312-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-312-x86_64-linux-gnu.so +0 -0
  26. sage/graphs/chrompoly.pyx +555 -0
  27. sage/graphs/matchpoly.cpython-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-x86_64-linux-gnu.so +0 -0
  221. sage/matrix/change_ring.pyx +43 -0
  222. sage/matrix/matrix_complex_ball_dense.cpython-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-x86_64-linux-gnu.so +0 -0
  286. sage/rings/factorint_flint.pyx +99 -0
  287. sage/rings/fraction_field_FpT.cpython-312-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-312-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-312-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-312-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-312-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-312-x86_64-linux-gnu.so +0 -0
  325. sage/rings/polynomial/hilbert.pyx +602 -0
  326. sage/rings/polynomial/polynomial_complex_arb.cpython-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-x86_64-linux-gnu.so +0 -0
  354. sage/rings/real_interval_absolute.pyx +1073 -0
  355. sage/rings/real_mpfi.cpython-312-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-312-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,345 @@
1
+ # sage_setup: distribution = sagemath-flint
2
+ # sage.doctest: needs sage.rings.number_field
3
+ r"""
4
+ Univariate polynomials over number fields
5
+
6
+ AUTHOR:
7
+
8
+ - Luis Felipe Tabera Alonso (2014-02): initial version.
9
+
10
+ EXAMPLES:
11
+
12
+ Define a polynomial over an absolute number field and perform basic
13
+ operations with them::
14
+
15
+ sage: x = polygen(ZZ, 'x')
16
+ sage: N.<a> = NumberField(x^2 - 2)
17
+ sage: K.<x> = N[]
18
+ sage: f = x - a
19
+ sage: g = x^3 - 2*a + 1
20
+ sage: f * (x + a)
21
+ x^2 - 2
22
+ sage: f + g
23
+ x^3 + x - 3*a + 1
24
+ sage: g // f
25
+ x^2 + a*x + 2
26
+ sage: g % f
27
+ 1
28
+ sage: factor(x^3 - 2*a*x^2 - 2*x + 4*a)
29
+ (x - 2*a) * (x - a) * (x + a)
30
+ sage: gcd(f, x - a)
31
+ x - a
32
+
33
+ Polynomials are aware of embeddings of the underlying field::
34
+
35
+ sage: # needs sage.rings.padics
36
+ sage: x = polygen(ZZ, 'x')
37
+ sage: Q7 = Qp(7)
38
+ sage: r1 = Q7(3 + 7 + 2*7^2 + 6*7^3 + 7^4 + 2*7^5 + 7^6 + 2*7^7 + 4*7^8
39
+ ....: + 6*7^9 + 6*7^10 + 2*7^11 + 7^12 + 7^13 + 2*7^15 + 7^16 + 7^17
40
+ ....: + 4*7^18 + 6*7^19)
41
+ sage: N.<b> = NumberField(x^2 - 2, embedding=r1)
42
+ sage: K.<t> = N[]
43
+ sage: f = t^3 - 2*t + 1
44
+ sage: f(r1)
45
+ 1 + O(7^20)
46
+
47
+ We can also construct polynomials over relative number fields::
48
+
49
+ sage: # needs fpylll sage.symbolic
50
+ sage: N.<i, s2> = QQ[I, sqrt(2)]
51
+ sage: K.<x> = N[]
52
+ sage: f = x - s2
53
+ sage: g = x^3 - 2*i*x^2 + s2*x
54
+ sage: f * (x + s2)
55
+ x^2 - 2
56
+ sage: f + g
57
+ x^3 - 2*I*x^2 + (sqrt2 + 1)*x - sqrt2
58
+ sage: g // f
59
+ x^2 + (-2*I + sqrt2)*x - 2*sqrt2*I + sqrt2 + 2
60
+ sage: g % f
61
+ -4*I + 2*sqrt2 + 2
62
+ sage: factor(i*x^4 - 2*i*x^2 + 9*i)
63
+ (I) * (x - I + sqrt2) * (x + I - sqrt2) * (x - I - sqrt2) * (x + I + sqrt2)
64
+ sage: gcd(f, x - i)
65
+ 1
66
+ """
67
+
68
+ # ****************************************************************************
69
+ # Copyright (C) 2014 Luis Felipe Tabera Alonso <taberalf@unican.es>
70
+ #
71
+ # Distributed under the terms of the GNU General Public License (GPL)
72
+ # as published by the Free Software Foundation; either version 2 of
73
+ # the License, or (at your option) any later version.
74
+ # https://www.gnu.org/licenses/
75
+ # ****************************************************************************
76
+
77
+ from sage.rings.polynomial.polynomial_element_generic import Polynomial_generic_dense_field
78
+ from sage.rings.rational_field import QQ
79
+ from sage.structure.element import coerce_binop
80
+ from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
81
+
82
+
83
+ class Polynomial_absolute_number_field_dense(Polynomial_generic_dense_field):
84
+ """
85
+ Class of dense univariate polynomials over an absolute number field.
86
+ """
87
+ def __init__(self, parent, x=None, check=True, is_gen=False, construct=False):
88
+ """
89
+ Create a new polynomial in the polynomial ring ``parent``.
90
+
91
+ INPUT:
92
+
93
+ - ``parent`` -- the polynomial ring in which to construct the
94
+ element
95
+
96
+ - ``x`` -- (default: ``None``) an object representing the
97
+ polynomial, e.g. a list of coefficients. See
98
+ :meth:`sage.rings.polynomial.polynomial_element_generic.Polynomial_generic_dense_field.__init__`
99
+ for more details.
100
+
101
+ - ``check`` -- boolean (default: ``True``); if ``True``, make sure that
102
+ the coefficients of the polynomial are in the base ring
103
+
104
+ - ``is_gen`` -- boolean (default: ``False``); if ``True``, `x` is the
105
+ distinguished generator of the polynomial ring
106
+
107
+ - ``construct`` -- boolean (default: ``False``); unused
108
+
109
+ EXAMPLES::
110
+
111
+ sage: P.<x> = QQ[I][]
112
+ sage: f = P.random_element()
113
+ sage: from sage.rings.polynomial.polynomial_number_field import Polynomial_absolute_number_field_dense
114
+ sage: isinstance(f, Polynomial_absolute_number_field_dense)
115
+ True
116
+ sage: a = P(x)
117
+ sage: a.is_gen()
118
+ True
119
+ """
120
+ Polynomial_generic_dense_field.__init__(self, parent, x, check, is_gen, construct)
121
+
122
+ @coerce_binop
123
+ def gcd(self, other):
124
+ """
125
+ Compute the monic gcd of two univariate polynomials using PARI.
126
+
127
+ INPUT:
128
+
129
+ - ``other`` -- a polynomial with the same parent as ``self``
130
+
131
+ OUTPUT: the monic gcd of ``self`` and ``other``
132
+
133
+ EXAMPLES::
134
+
135
+ sage: x = polygen(ZZ, 'x')
136
+ sage: N.<a> = NumberField(x^3 - 1/2, 'a')
137
+ sage: R.<r> = N['r']
138
+ sage: f = (5/4*a^2 - 2*a + 4)*r^2 + (5*a^2 - 81/5*a - 17/2)*r + 4/5*a^2 + 24*a + 6
139
+ sage: g = (5/4*a^2 - 2*a + 4)*r^2 + (-11*a^2 + 79/5*a - 7/2)*r - 4/5*a^2 - 24*a - 6
140
+ sage: gcd(f, g**2)
141
+ r - 60808/96625*a^2 - 69936/96625*a - 149212/96625
142
+ sage: R = QQ[I]['x']
143
+ sage: f = R.random_element(2)
144
+ sage: g = f + 1
145
+ sage: h = R.random_element(2).monic()
146
+ sage: f *= h
147
+ sage: g *= h
148
+ sage: gcd(f, g) - h
149
+ 0
150
+ sage: f.gcd(g) - h
151
+ 0
152
+
153
+ TESTS:
154
+
155
+ Test for degree one extensions::
156
+
157
+ sage: x = polygen(ZZ, 'x')
158
+ sage: N = NumberField(x - 3, 'a')
159
+ sage: a = N.gen()
160
+ sage: R = N['x']
161
+ sage: f = R._random_nonzero_element()
162
+ sage: g1 = R._random_nonzero_element()
163
+ sage: g2 = g1 * R._random_nonzero_element() + 1
164
+ sage: g1 *= f
165
+ sage: g2 *= f
166
+ sage: d = gcd(g1, g2)
167
+ sage: f.monic() - d
168
+ 0
169
+ sage: d.parent() is R
170
+ True
171
+
172
+ Test for coercion with other rings and force weird variables
173
+ to test PARI behavior::
174
+
175
+ sage: r = polygen(ZZ, 'r')
176
+ sage: N = NumberField(r^2 - 2, 'r')
177
+ sage: a = N.gen()
178
+ sage: R = N['r']
179
+ sage: r = R.gen()
180
+ sage: f = N.random_element(4)*r + 1
181
+ sage: g = ZZ['r']([1, 2, 3, 4, 5, 6, 7]); g
182
+ 7*r^6 + 6*r^5 + 5*r^4 + 4*r^3 + 3*r^2 + 2*r + 1
183
+ sage: gcd(f, g) == gcd(g, f)
184
+ True
185
+ sage: h = f.gcd(g); h
186
+ 1
187
+ sage: h.parent()
188
+ Univariate Polynomial Ring in r over
189
+ Number Field in r with defining polynomial r^2 - 2
190
+ sage: gcd([a*r + 2, r^2 - 2])
191
+ r + r
192
+ """
193
+ if self.is_zero():
194
+ if other.is_zero():
195
+ return self
196
+ else:
197
+ return other.monic()
198
+ elif other.is_zero():
199
+ return self.monic()
200
+ elif self.degree() == 0 or other.degree() == 0:
201
+ return self.parent().one()
202
+
203
+ # If the extension is of degree one, use the gcd from QQ[x]
204
+ if self.base_ring().degree().is_one():
205
+ R = self.base_ring()
206
+ a = self.change_ring(QQ)
207
+ b = other.change_ring(QQ)
208
+ g = a.gcd(b)
209
+ return g.change_ring(R)
210
+
211
+ h1 = self._pari_with_name('x')
212
+ h2 = other._pari_with_name('x')
213
+ g = h1.gcd(h2)
214
+ return (self.parent()(g)).monic()
215
+
216
+
217
+ class Polynomial_relative_number_field_dense(Polynomial_generic_dense_field):
218
+ """
219
+ Class of dense univariate polynomials over a relative number field.
220
+ """
221
+ def __init__(self, parent, x=None, check=True, is_gen=False, construct=False):
222
+ """
223
+ Create a new polynomial in the polynomial ring ``parent``.
224
+
225
+ INPUT:
226
+
227
+ - ``parent`` -- polynomial ring in which to construct the
228
+ element
229
+
230
+ - ``x`` -- (default: ``None``) an object representing the
231
+ polynomial, e.g. a list of coefficients. See
232
+ :meth:`sage.rings.polynomial.polynomial_element_generic.Polynomial_generic_dense_field.__init__`
233
+ for more details.
234
+
235
+ - ``check`` -- boolean (default: ``True``); if ``True``, make sure that
236
+ the coefficients of the polynomial are in the base ring
237
+
238
+ - ``is_gen`` -- boolean (default: ``False``); if ``True``, ``x`` is the
239
+ distinguished generator of the polynomial ring
240
+
241
+ - ``construct`` -- boolean (default: ``False``); unused
242
+
243
+ EXAMPLES::
244
+
245
+ sage: x = polygen(ZZ, 'x')
246
+ sage: f = NumberField([x^2 - 2, x^2 - 3], 'a')['x'].random_element()
247
+ sage: from sage.rings.polynomial.polynomial_number_field import Polynomial_relative_number_field_dense
248
+ sage: isinstance(f, Polynomial_relative_number_field_dense)
249
+ True
250
+ """
251
+ Polynomial_generic_dense_field.__init__(self, parent, x, check, is_gen, construct)
252
+
253
+ @coerce_binop
254
+ def gcd(self, other):
255
+ """
256
+ Compute the monic gcd of two polynomials.
257
+
258
+ Currently, the method checks corner cases in which one of the
259
+ polynomials is zero or a constant. Then, computes an absolute
260
+ extension and performs the computations there.
261
+
262
+ INPUT:
263
+
264
+ - ``other`` -- a polynomial with the same parent as ``self``
265
+
266
+ OUTPUT: the monic gcd of ``self`` and ``other``
267
+
268
+ See :meth:`Polynomial_absolute_number_field_dense.gcd` for
269
+ more details.
270
+
271
+ EXAMPLES::
272
+
273
+ sage: # needs fpylll sage.symbolic
274
+ sage: N = QQ[sqrt(2), sqrt(3)]
275
+ sage: s2, s3 = N.gens()
276
+ sage: x = polygen(N)
277
+ sage: f = x^4 - 5*x^2 + 6
278
+ sage: g = x^3 + (-2*s2 + s3)*x^2 + (-2*s3*s2 + 2)*x + 2*s3
279
+ sage: gcd(f, g)
280
+ x^2 + (-sqrt2 + sqrt3)*x - sqrt3*sqrt2
281
+ sage: f.gcd(g)
282
+ x^2 + (-sqrt2 + sqrt3)*x - sqrt3*sqrt2
283
+
284
+ TESTS::
285
+
286
+ sage: x = polygen(ZZ, 'x')
287
+ sage: R = NumberField([x^2 - 2, x^2 - 3], 'a')['x']
288
+ sage: f = R._random_nonzero_element()
289
+ sage: g1 = R.random_element()
290
+ sage: g2 = R.random_element()*g1 + 1
291
+ sage: g1 *= f
292
+ sage: g2 *= f
293
+ sage: f.monic() - g1.gcd(g2)
294
+ 0
295
+
296
+ Test for degree one extensions::
297
+
298
+ sage: R = NumberField([x - 2, x + 1, x - 3], 'a')['x']
299
+ sage: f = R.random_element(2)
300
+ sage: g1 = R.random_element(2)
301
+ sage: g2 = R.random_element(2)*g1 + 1
302
+ sage: g1 *= f
303
+ sage: g2 *= f
304
+ sage: d = gcd(g1, g2)
305
+ sage: d - f.monic()
306
+ 0
307
+ sage: d.parent() is R
308
+ True
309
+
310
+ Test for hardcoded variables::
311
+
312
+ sage: # needs fpylll sage.symbolic
313
+ sage: R = N['sqrt2sqrt3']
314
+ sage: x = R.gen()
315
+ sage: f = x^2 - 2
316
+ sage: g1 = x^2 - s3
317
+ sage: g2 = x - s2
318
+ sage: gcd(f, g1)
319
+ 1
320
+ sage: gcd(f, g2)
321
+ sqrt2sqrt3 - sqrt2
322
+ """
323
+ if self.is_zero():
324
+ if other.is_zero():
325
+ return self
326
+ else:
327
+ return other.monic()
328
+ elif other.is_zero():
329
+ return self.monic()
330
+ elif self.degree() == 0 or other.degree() == 0:
331
+ return self.parent().one()
332
+
333
+ L = self.parent()
334
+ x = L.variable_name()
335
+ N = self.base_ring()
336
+ c = ''.join(map(str,N.variable_names()))
337
+ M = N.absolute_field(c)
338
+ M_to_N, N_to_M = M.structure()
339
+ R = PolynomialRing(M, x)
340
+ first = R([N_to_M(foo) for foo in self.list()])
341
+ second = R([N_to_M(foo) for foo in other.list()])
342
+ result = first.gcd(second)
343
+ result = L([M_to_N(foo) for foo in result.list()])
344
+ # the result is already monic
345
+ return result
@@ -0,0 +1,20 @@
1
+ # sage_setup: distribution = sagemath-flint
2
+ # ############################################################################
3
+ # Copyright (C) 2010 Sebastian Pancratz <sfp@pancratz.org> #
4
+ # #
5
+ # Distributed under the terms of the GNU General Public License (GPL) #
6
+ # #
7
+ # https://www.gnu.org/licenses/ #
8
+ # ############################################################################
9
+
10
+ from sage.libs.flint.types cimport fmpq_poly_t
11
+
12
+ from sage.rings.polynomial.polynomial_element cimport Polynomial
13
+
14
+ cdef class Polynomial_rational_flint(Polynomial):
15
+ cdef fmpq_poly_t _poly
16
+
17
+ cdef Polynomial_rational_flint _new(self)
18
+ cpdef _mod_(self, right)
19
+ cpdef _unsafe_mutate(self, unsigned long n, value)
20
+ cpdef Polynomial truncate(self, long n)