passagemath-pari 10.6.32__cp314-cp314-musllinux_1_2_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.

Potentially problematic release.


This version of passagemath-pari might be problematic. Click here for more details.

Files changed (331) hide show
  1. PARIKernel/__init__.py +2 -0
  2. PARIKernel/__main__.py +5 -0
  3. PARIKernel/io.cpython-314-x86_64-linux-musl.so +0 -0
  4. PARIKernel/io.pxd +7 -0
  5. PARIKernel/io.pyx +84 -0
  6. PARIKernel/kernel.cpython-314-x86_64-linux-musl.so +0 -0
  7. PARIKernel/kernel.pyx +260 -0
  8. PARIKernel/paridecl.pxd +95 -0
  9. PARIKernel/svg.cpython-314-x86_64-linux-musl.so +0 -0
  10. PARIKernel/svg.pyx +52 -0
  11. cypari2/__init__.py +8 -0
  12. cypari2/auto_paridecl.pxd +1070 -0
  13. cypari2/closure.cpython-314-x86_64-linux-musl.so +0 -0
  14. cypari2/closure.pxd +5 -0
  15. cypari2/closure.pyx +246 -0
  16. cypari2/convert.cpython-314-x86_64-linux-musl.so +0 -0
  17. cypari2/convert.pxd +80 -0
  18. cypari2/convert.pyx +613 -0
  19. cypari2/custom_block.cpython-314-x86_64-linux-musl.so +0 -0
  20. cypari2/custom_block.pyx +30 -0
  21. cypari2/cypari.h +13 -0
  22. cypari2/gen.cpython-314-x86_64-linux-musl.so +0 -0
  23. cypari2/gen.pxd +69 -0
  24. cypari2/gen.pyx +4819 -0
  25. cypari2/handle_error.cpython-314-x86_64-linux-musl.so +0 -0
  26. cypari2/handle_error.pxd +7 -0
  27. cypari2/handle_error.pyx +232 -0
  28. cypari2/pari_instance.cpython-314-x86_64-linux-musl.so +0 -0
  29. cypari2/pari_instance.pxd +27 -0
  30. cypari2/pari_instance.pyx +1438 -0
  31. cypari2/paridecl.pxd +5353 -0
  32. cypari2/paripriv.pxd +34 -0
  33. cypari2/pycore_long.h +98 -0
  34. cypari2/pycore_long.pxd +9 -0
  35. cypari2/stack.cpython-314-x86_64-linux-musl.so +0 -0
  36. cypari2/stack.pxd +27 -0
  37. cypari2/stack.pyx +278 -0
  38. cypari2/string_utils.cpython-314-x86_64-linux-musl.so +0 -0
  39. cypari2/string_utils.pxd +29 -0
  40. cypari2/string_utils.pyx +65 -0
  41. cypari2/types.pxd +147 -0
  42. passagemath_pari-10.6.32.data/data/etc/jupyter/nbconfig/notebook.d/gp-mode.json +5 -0
  43. passagemath_pari-10.6.32.data/data/share/jupyter/kernels/pari_jupyter/kernel.js +28 -0
  44. passagemath_pari-10.6.32.data/data/share/jupyter/kernels/pari_jupyter/kernel.json +6 -0
  45. passagemath_pari-10.6.32.data/data/share/jupyter/kernels/pari_jupyter/logo-64x64.png +0 -0
  46. passagemath_pari-10.6.32.data/data/share/jupyter/kernels/xeus-gp/kernel.json +13 -0
  47. passagemath_pari-10.6.32.data/data/share/jupyter/kernels/xeus-gp/logo-32x32.png +0 -0
  48. passagemath_pari-10.6.32.data/data/share/jupyter/kernels/xeus-gp/logo-64x64.png +0 -0
  49. passagemath_pari-10.6.32.data/data/share/jupyter/kernels/xeus-gp/logo-svg.svg +75 -0
  50. passagemath_pari-10.6.32.data/data/share/jupyter/nbextensions/gp-mode/gp.js +284 -0
  51. passagemath_pari-10.6.32.data/data/share/jupyter/nbextensions/gp-mode/main.js +15 -0
  52. passagemath_pari-10.6.32.dist-info/METADATA +209 -0
  53. passagemath_pari-10.6.32.dist-info/RECORD +331 -0
  54. passagemath_pari-10.6.32.dist-info/WHEEL +5 -0
  55. passagemath_pari-10.6.32.dist-info/top_level.txt +4 -0
  56. passagemath_pari.libs/libcrypto-f04afe95.so.3 +0 -0
  57. passagemath_pari.libs/libflint-fd6f12fc.so.21.0.0 +0 -0
  58. passagemath_pari.libs/libgcc_s-0cd532bd.so.1 +0 -0
  59. passagemath_pari.libs/libgf2x-9e30c3e3.so.3.0.0 +0 -0
  60. passagemath_pari.libs/libgfortran-2c33b284.so.5.0.0 +0 -0
  61. passagemath_pari.libs/libgivaro-9a94c711.so.9.2.1 +0 -0
  62. passagemath_pari.libs/libgmp-0e7fc84e.so.10.5.0 +0 -0
  63. passagemath_pari.libs/libgmpxx-9e08595c.so.4.7.0 +0 -0
  64. passagemath_pari.libs/libgsl-42cda06f.so.28.0.0 +0 -0
  65. passagemath_pari.libs/libmpfr-aaecbfc0.so.6.2.1 +0 -0
  66. passagemath_pari.libs/libncursesw-9c9e32c3.so.6.5 +0 -0
  67. passagemath_pari.libs/libntl-26885ca2.so.44.0.1 +0 -0
  68. passagemath_pari.libs/libopenblasp-r0-905cb27d.3.29.so +0 -0
  69. passagemath_pari.libs/libpari-gmp-tls-f31f908f.so.2.17.2 +0 -0
  70. passagemath_pari.libs/libquadmath-bb76a5fc.so.0.0.0 +0 -0
  71. passagemath_pari.libs/libreadline-06542304.so.8.2 +0 -0
  72. passagemath_pari.libs/libstdc++-5d72f927.so.6.0.33 +0 -0
  73. passagemath_pari.libs/libuuid-f3770415.so.1.3.0 +0 -0
  74. passagemath_pari.libs/libxeus-735780ff.so.13.1.0 +0 -0
  75. passagemath_pari.libs/libxeus-zmq-c68577b4.so.6.0.1 +0 -0
  76. passagemath_pari.libs/libzmq-1ba9a3da.so.5.2.5 +0 -0
  77. sage/all__sagemath_pari.py +26 -0
  78. sage/databases/all__sagemath_pari.py +7 -0
  79. sage/databases/conway.py +274 -0
  80. sage/ext/all__sagemath_pari.py +1 -0
  81. sage/ext/memory.cpython-314-x86_64-linux-musl.so +0 -0
  82. sage/ext/memory.pyx +98 -0
  83. sage/ext_data/pari/buzzard/DimensionSk.g +286 -0
  84. sage/ext_data/pari/buzzard/Tpprog.g +179 -0
  85. sage/ext_data/pari/buzzard/genusn.g +129 -0
  86. sage/ext_data/pari/dokchitser/computel.gp +740 -0
  87. sage/ext_data/pari/dokchitser/computel.gp.template +740 -0
  88. sage/ext_data/pari/dokchitser/ex-bsw +43 -0
  89. sage/ext_data/pari/dokchitser/ex-chgen +48 -0
  90. sage/ext_data/pari/dokchitser/ex-chqua +37 -0
  91. sage/ext_data/pari/dokchitser/ex-delta +35 -0
  92. sage/ext_data/pari/dokchitser/ex-eisen +30 -0
  93. sage/ext_data/pari/dokchitser/ex-gen2 +38 -0
  94. sage/ext_data/pari/dokchitser/ex-gen3 +49 -0
  95. sage/ext_data/pari/dokchitser/ex-gen4 +54 -0
  96. sage/ext_data/pari/dokchitser/ex-nf +48 -0
  97. sage/ext_data/pari/dokchitser/ex-shin +50 -0
  98. sage/ext_data/pari/dokchitser/ex-tau2 +30 -0
  99. sage/ext_data/pari/dokchitser/ex-zeta +27 -0
  100. sage/ext_data/pari/dokchitser/ex-zeta2 +47 -0
  101. sage/ext_data/pari/dokchitser/testall +13 -0
  102. sage/ext_data/pari/simon/ell.gp +2129 -0
  103. sage/ext_data/pari/simon/ellQ.gp +2151 -0
  104. sage/ext_data/pari/simon/ellcommon.gp +126 -0
  105. sage/ext_data/pari/simon/qfsolve.gp +722 -0
  106. sage/ext_data/pari/simon/resultant3.gp +306 -0
  107. sage/groups/all__sagemath_pari.py +3 -0
  108. sage/groups/pari_group.py +175 -0
  109. sage/interfaces/all__sagemath_pari.py +1 -0
  110. sage/interfaces/genus2reduction.py +464 -0
  111. sage/interfaces/gp.py +1114 -0
  112. sage/libs/all__sagemath_pari.py +2 -0
  113. sage/libs/linkages/__init__.py +1 -0
  114. sage/libs/linkages/padics/API.pxi +617 -0
  115. sage/libs/linkages/padics/Polynomial_ram.pxi +388 -0
  116. sage/libs/linkages/padics/Polynomial_shared.pxi +554 -0
  117. sage/libs/linkages/padics/__init__.py +1 -0
  118. sage/libs/linkages/padics/fmpz_poly_unram.pxi +869 -0
  119. sage/libs/linkages/padics/mpz.pxi +691 -0
  120. sage/libs/linkages/padics/relaxed/API.pxi +518 -0
  121. sage/libs/linkages/padics/relaxed/__init__.py +1 -0
  122. sage/libs/linkages/padics/relaxed/flint.pxi +543 -0
  123. sage/libs/linkages/padics/unram_shared.pxi +247 -0
  124. sage/libs/pari/__init__.py +210 -0
  125. sage/libs/pari/all.py +5 -0
  126. sage/libs/pari/convert_flint.cpython-314-x86_64-linux-musl.so +0 -0
  127. sage/libs/pari/convert_flint.pxd +14 -0
  128. sage/libs/pari/convert_flint.pyx +159 -0
  129. sage/libs/pari/convert_gmp.cpython-314-x86_64-linux-musl.so +0 -0
  130. sage/libs/pari/convert_gmp.pxd +14 -0
  131. sage/libs/pari/convert_gmp.pyx +210 -0
  132. sage/libs/pari/convert_sage.cpython-314-x86_64-linux-musl.so +0 -0
  133. sage/libs/pari/convert_sage.pxd +16 -0
  134. sage/libs/pari/convert_sage.pyx +588 -0
  135. sage/libs/pari/convert_sage_complex_double.cpython-314-x86_64-linux-musl.so +0 -0
  136. sage/libs/pari/convert_sage_complex_double.pxd +14 -0
  137. sage/libs/pari/convert_sage_complex_double.pyx +132 -0
  138. sage/libs/pari/convert_sage_matrix.cpython-314-x86_64-linux-musl.so +0 -0
  139. sage/libs/pari/convert_sage_matrix.pyx +106 -0
  140. sage/libs/pari/convert_sage_real_double.cpython-314-x86_64-linux-musl.so +0 -0
  141. sage/libs/pari/convert_sage_real_double.pxd +5 -0
  142. sage/libs/pari/convert_sage_real_double.pyx +14 -0
  143. sage/libs/pari/convert_sage_real_mpfr.cpython-314-x86_64-linux-musl.so +0 -0
  144. sage/libs/pari/convert_sage_real_mpfr.pxd +7 -0
  145. sage/libs/pari/convert_sage_real_mpfr.pyx +108 -0
  146. sage/libs/pari/misc.cpython-314-x86_64-linux-musl.so +0 -0
  147. sage/libs/pari/misc.pxd +4 -0
  148. sage/libs/pari/misc.pyx +26 -0
  149. sage/libs/pari/tests.py +1848 -0
  150. sage/matrix/all__sagemath_pari.py +1 -0
  151. sage/matrix/matrix_integer_pari.cpython-314-x86_64-linux-musl.so +0 -0
  152. sage/matrix/matrix_integer_pari.pyx +187 -0
  153. sage/matrix/matrix_rational_pari.cpython-314-x86_64-linux-musl.so +0 -0
  154. sage/matrix/matrix_rational_pari.pyx +160 -0
  155. sage/quadratic_forms/all__sagemath_pari.py +10 -0
  156. sage/quadratic_forms/genera/all.py +9 -0
  157. sage/quadratic_forms/genera/genus.py +3506 -0
  158. sage/quadratic_forms/genera/normal_form.py +1519 -0
  159. sage/quadratic_forms/genera/spinor_genus.py +243 -0
  160. sage/quadratic_forms/qfsolve.py +255 -0
  161. sage/quadratic_forms/quadratic_form__automorphisms.py +427 -0
  162. sage/quadratic_forms/quadratic_form__genus.py +141 -0
  163. sage/quadratic_forms/quadratic_form__local_density_interfaces.py +140 -0
  164. sage/quadratic_forms/quadratic_form__local_normal_form.py +421 -0
  165. sage/quadratic_forms/quadratic_form__local_representation_conditions.py +889 -0
  166. sage/quadratic_forms/quadratic_form__mass.py +69 -0
  167. sage/quadratic_forms/quadratic_form__mass__Conway_Sloane_masses.py +663 -0
  168. sage/quadratic_forms/quadratic_form__mass__Siegel_densities.py +373 -0
  169. sage/quadratic_forms/quadratic_form__siegel_product.py +198 -0
  170. sage/quadratic_forms/special_values.py +323 -0
  171. sage/rings/all__sagemath_pari.py +15 -0
  172. sage/rings/factorint_pari.cpython-314-x86_64-linux-musl.so +0 -0
  173. sage/rings/factorint_pari.pyx +80 -0
  174. sage/rings/finite_rings/all__sagemath_pari.py +1 -0
  175. sage/rings/finite_rings/element_givaro.cpython-314-x86_64-linux-musl.so +0 -0
  176. sage/rings/finite_rings/element_givaro.pxd +91 -0
  177. sage/rings/finite_rings/element_givaro.pyx +1769 -0
  178. sage/rings/finite_rings/element_ntl_gf2e.cpython-314-x86_64-linux-musl.so +0 -0
  179. sage/rings/finite_rings/element_ntl_gf2e.pxd +22 -0
  180. sage/rings/finite_rings/element_ntl_gf2e.pyx +1333 -0
  181. sage/rings/finite_rings/element_pari_ffelt.cpython-314-x86_64-linux-musl.so +0 -0
  182. sage/rings/finite_rings/element_pari_ffelt.pxd +13 -0
  183. sage/rings/finite_rings/element_pari_ffelt.pyx +1441 -0
  184. sage/rings/finite_rings/finite_field_givaro.py +612 -0
  185. sage/rings/finite_rings/finite_field_pari_ffelt.py +238 -0
  186. sage/rings/finite_rings/hom_finite_field_givaro.cpython-314-x86_64-linux-musl.so +0 -0
  187. sage/rings/finite_rings/hom_finite_field_givaro.pxd +28 -0
  188. sage/rings/finite_rings/hom_finite_field_givaro.pyx +280 -0
  189. sage/rings/finite_rings/residue_field_givaro.cpython-314-x86_64-linux-musl.so +0 -0
  190. sage/rings/finite_rings/residue_field_givaro.pyx +133 -0
  191. sage/rings/finite_rings/residue_field_pari_ffelt.cpython-314-x86_64-linux-musl.so +0 -0
  192. sage/rings/finite_rings/residue_field_pari_ffelt.pyx +128 -0
  193. sage/rings/function_field/all__sagemath_pari.py +1 -0
  194. sage/rings/function_field/valuation.py +1450 -0
  195. sage/rings/function_field/valuation_ring.py +212 -0
  196. sage/rings/number_field/all__sagemath_pari.py +14 -0
  197. sage/rings/number_field/totallyreal.cpython-314-x86_64-linux-musl.so +0 -0
  198. sage/rings/number_field/totallyreal.pyx +509 -0
  199. sage/rings/number_field/totallyreal_data.cpython-314-x86_64-linux-musl.so +0 -0
  200. sage/rings/number_field/totallyreal_data.pxd +26 -0
  201. sage/rings/number_field/totallyreal_data.pyx +928 -0
  202. sage/rings/number_field/totallyreal_phc.py +144 -0
  203. sage/rings/number_field/totallyreal_rel.py +1018 -0
  204. sage/rings/padics/CA_template.pxi +1847 -0
  205. sage/rings/padics/CA_template_header.pxi +50 -0
  206. sage/rings/padics/CR_template.pxi +2563 -0
  207. sage/rings/padics/CR_template_header.pxi +57 -0
  208. sage/rings/padics/FM_template.pxi +1575 -0
  209. sage/rings/padics/FM_template_header.pxi +50 -0
  210. sage/rings/padics/FP_template.pxi +2176 -0
  211. sage/rings/padics/FP_template_header.pxi +57 -0
  212. sage/rings/padics/all.py +3 -0
  213. sage/rings/padics/all__sagemath_pari.py +11 -0
  214. sage/rings/padics/common_conversion.cpython-314-x86_64-linux-musl.so +0 -0
  215. sage/rings/padics/common_conversion.pxd +15 -0
  216. sage/rings/padics/common_conversion.pyx +508 -0
  217. sage/rings/padics/eisenstein_extension_generic.py +232 -0
  218. sage/rings/padics/factory.py +3623 -0
  219. sage/rings/padics/generic_nodes.py +1615 -0
  220. sage/rings/padics/lattice_precision.py +2889 -0
  221. sage/rings/padics/morphism.cpython-314-x86_64-linux-musl.so +0 -0
  222. sage/rings/padics/morphism.pxd +11 -0
  223. sage/rings/padics/morphism.pyx +366 -0
  224. sage/rings/padics/padic_base_generic.py +467 -0
  225. sage/rings/padics/padic_base_leaves.py +1235 -0
  226. sage/rings/padics/padic_capped_absolute_element.cpython-314-x86_64-linux-musl.so +0 -0
  227. sage/rings/padics/padic_capped_absolute_element.pxd +15 -0
  228. sage/rings/padics/padic_capped_absolute_element.pyx +520 -0
  229. sage/rings/padics/padic_capped_relative_element.cpython-314-x86_64-linux-musl.so +0 -0
  230. sage/rings/padics/padic_capped_relative_element.pxd +14 -0
  231. sage/rings/padics/padic_capped_relative_element.pyx +614 -0
  232. sage/rings/padics/padic_extension_generic.py +990 -0
  233. sage/rings/padics/padic_extension_leaves.py +738 -0
  234. sage/rings/padics/padic_fixed_mod_element.cpython-314-x86_64-linux-musl.so +0 -0
  235. sage/rings/padics/padic_fixed_mod_element.pxd +15 -0
  236. sage/rings/padics/padic_fixed_mod_element.pyx +584 -0
  237. sage/rings/padics/padic_floating_point_element.cpython-314-x86_64-linux-musl.so +0 -0
  238. sage/rings/padics/padic_floating_point_element.pxd +14 -0
  239. sage/rings/padics/padic_floating_point_element.pyx +447 -0
  240. sage/rings/padics/padic_generic_element.cpython-314-x86_64-linux-musl.so +0 -0
  241. sage/rings/padics/padic_generic_element.pxd +48 -0
  242. sage/rings/padics/padic_generic_element.pyx +4642 -0
  243. sage/rings/padics/padic_lattice_element.py +1342 -0
  244. sage/rings/padics/padic_printing.cpython-314-x86_64-linux-musl.so +0 -0
  245. sage/rings/padics/padic_printing.pxd +38 -0
  246. sage/rings/padics/padic_printing.pyx +1505 -0
  247. sage/rings/padics/padic_relaxed_element.cpython-314-x86_64-linux-musl.so +0 -0
  248. sage/rings/padics/padic_relaxed_element.pxd +56 -0
  249. sage/rings/padics/padic_relaxed_element.pyx +18 -0
  250. sage/rings/padics/padic_relaxed_errors.cpython-314-x86_64-linux-musl.so +0 -0
  251. sage/rings/padics/padic_relaxed_errors.pxd +11 -0
  252. sage/rings/padics/padic_relaxed_errors.pyx +71 -0
  253. sage/rings/padics/padic_template_element.pxi +1212 -0
  254. sage/rings/padics/padic_template_element_header.pxi +50 -0
  255. sage/rings/padics/padic_valuation.py +1423 -0
  256. sage/rings/padics/pow_computer_flint.cpython-314-x86_64-linux-musl.so +0 -0
  257. sage/rings/padics/pow_computer_flint.pxd +38 -0
  258. sage/rings/padics/pow_computer_flint.pyx +641 -0
  259. sage/rings/padics/pow_computer_relative.cpython-314-x86_64-linux-musl.so +0 -0
  260. sage/rings/padics/pow_computer_relative.pxd +29 -0
  261. sage/rings/padics/pow_computer_relative.pyx +415 -0
  262. sage/rings/padics/qadic_flint_CA.cpython-314-x86_64-linux-musl.so +0 -0
  263. sage/rings/padics/qadic_flint_CA.pxd +21 -0
  264. sage/rings/padics/qadic_flint_CA.pyx +130 -0
  265. sage/rings/padics/qadic_flint_CR.cpython-314-x86_64-linux-musl.so +0 -0
  266. sage/rings/padics/qadic_flint_CR.pxd +13 -0
  267. sage/rings/padics/qadic_flint_CR.pyx +172 -0
  268. sage/rings/padics/qadic_flint_FM.cpython-314-x86_64-linux-musl.so +0 -0
  269. sage/rings/padics/qadic_flint_FM.pxd +14 -0
  270. sage/rings/padics/qadic_flint_FM.pyx +111 -0
  271. sage/rings/padics/qadic_flint_FP.cpython-314-x86_64-linux-musl.so +0 -0
  272. sage/rings/padics/qadic_flint_FP.pxd +12 -0
  273. sage/rings/padics/qadic_flint_FP.pyx +165 -0
  274. sage/rings/padics/relative_extension_leaves.py +429 -0
  275. sage/rings/padics/relative_ramified_CA.cpython-314-x86_64-linux-musl.so +0 -0
  276. sage/rings/padics/relative_ramified_CA.pxd +9 -0
  277. sage/rings/padics/relative_ramified_CA.pyx +33 -0
  278. sage/rings/padics/relative_ramified_CR.cpython-314-x86_64-linux-musl.so +0 -0
  279. sage/rings/padics/relative_ramified_CR.pxd +8 -0
  280. sage/rings/padics/relative_ramified_CR.pyx +33 -0
  281. sage/rings/padics/relative_ramified_FM.cpython-314-x86_64-linux-musl.so +0 -0
  282. sage/rings/padics/relative_ramified_FM.pxd +9 -0
  283. sage/rings/padics/relative_ramified_FM.pyx +33 -0
  284. sage/rings/padics/relative_ramified_FP.cpython-314-x86_64-linux-musl.so +0 -0
  285. sage/rings/padics/relative_ramified_FP.pxd +8 -0
  286. sage/rings/padics/relative_ramified_FP.pyx +33 -0
  287. sage/rings/padics/relaxed_template.pxi +4229 -0
  288. sage/rings/padics/relaxed_template_header.pxi +160 -0
  289. sage/rings/padics/tests.py +35 -0
  290. sage/rings/padics/tutorial.py +341 -0
  291. sage/rings/padics/unramified_extension_generic.py +335 -0
  292. sage/rings/padics/witt_vector.py +917 -0
  293. sage/rings/padics/witt_vector_ring.py +934 -0
  294. sage/rings/pari_ring.py +235 -0
  295. sage/rings/polynomial/all__sagemath_pari.py +1 -0
  296. sage/rings/polynomial/padics/all.py +1 -0
  297. sage/rings/polynomial/padics/polynomial_padic.py +360 -0
  298. sage/rings/polynomial/padics/polynomial_padic_capped_relative_dense.py +1324 -0
  299. sage/rings/polynomial/padics/polynomial_padic_flat.py +72 -0
  300. sage/rings/power_series_pari.cpython-314-x86_64-linux-musl.so +0 -0
  301. sage/rings/power_series_pari.pxd +6 -0
  302. sage/rings/power_series_pari.pyx +934 -0
  303. sage/rings/tate_algebra.py +1282 -0
  304. sage/rings/tate_algebra_element.cpython-314-x86_64-linux-musl.so +0 -0
  305. sage/rings/tate_algebra_element.pxd +49 -0
  306. sage/rings/tate_algebra_element.pyx +3464 -0
  307. sage/rings/tate_algebra_ideal.cpython-314-x86_64-linux-musl.so +0 -0
  308. sage/rings/tate_algebra_ideal.pxd +7 -0
  309. sage/rings/tate_algebra_ideal.pyx +1307 -0
  310. sage/rings/valuation/all.py +7 -0
  311. sage/rings/valuation/augmented_valuation.py +2118 -0
  312. sage/rings/valuation/developing_valuation.py +362 -0
  313. sage/rings/valuation/gauss_valuation.py +812 -0
  314. sage/rings/valuation/inductive_valuation.py +1686 -0
  315. sage/rings/valuation/limit_valuation.py +946 -0
  316. sage/rings/valuation/mapped_valuation.py +656 -0
  317. sage/rings/valuation/scaled_valuation.py +322 -0
  318. sage/rings/valuation/trivial_valuation.py +382 -0
  319. sage/rings/valuation/valuation.py +1119 -0
  320. sage/rings/valuation/valuation_space.py +1615 -0
  321. sage/rings/valuation/valuations_catalog.py +10 -0
  322. sage/rings/valuation/value_group.py +697 -0
  323. sage/schemes/all__sagemath_pari.py +1 -0
  324. sage/schemes/elliptic_curves/all__sagemath_pari.py +1 -0
  325. sage/schemes/elliptic_curves/descent_two_isogeny_pari.cpython-314-x86_64-linux-musl.so +0 -0
  326. sage/schemes/elliptic_curves/descent_two_isogeny_pari.pyx +46 -0
  327. sage_wheels/bin/gp +0 -0
  328. sage_wheels/bin/gp2c +0 -0
  329. sage_wheels/bin/gp2c-run +57 -0
  330. sage_wheels/bin/xeus-gp +0 -0
  331. sage_wheels/share/gp2c/func.dsc +18414 -0
@@ -0,0 +1 @@
1
+ # sage_setup: distribution = sagemath-pari
@@ -0,0 +1,187 @@
1
+ # sage_setup: distribution = sagemath-pari
2
+ # sage.doctest: needs sage.libs.flint sage.libs.pari sage.modules
3
+
4
+ from cysignals.signals cimport sig_check, sig_on, sig_str, sig_off
5
+
6
+ from sage.libs.flint.fmpz cimport *
7
+ from sage.libs.flint.fmpz_mat cimport *
8
+ from sage.libs.gmp.mpz cimport *
9
+ from sage.matrix.matrix_integer_dense cimport Matrix_integer_dense
10
+ from sage.rings.integer cimport Integer
11
+ from sage.rings.integer_ring import ZZ
12
+
13
+ # PARI C library
14
+ from cypari2.gen cimport Gen
15
+ from cypari2.stack cimport clear_stack, new_gen
16
+ from cypari2.paridecl cimport *
17
+ from sage.libs.pari import pari
18
+ from sage.libs.pari.convert_gmp cimport INT_to_mpz
19
+ from sage.libs.pari.convert_flint cimport (_new_GEN_from_fmpz_mat_t,
20
+ _new_GEN_from_fmpz_mat_t_rotate90, integer_matrix)
21
+ from sage.libs.pari.convert_sage_matrix import gen_to_sage_matrix
22
+
23
+
24
+ def _pari(Matrix_integer_dense self):
25
+ return integer_matrix(self._matrix, 0)
26
+
27
+
28
+ def _det_pari(Matrix_integer_dense self, int flag=0):
29
+ """
30
+ Determinant of this matrix using Gauss-Bareiss. If (optional)
31
+ flag is set to 1, use classical Gaussian elimination.
32
+
33
+ For efficiency purposes, this det is computed entirely on the
34
+ PARI stack then the PARI stack is cleared. This function is
35
+ most useful for very small matrices.
36
+
37
+ EXAMPLES::
38
+
39
+ sage: from sage.matrix.matrix_integer_pari import _det_pari
40
+ sage: _det_pari(matrix(ZZ, 0))
41
+ 1
42
+ sage: _det_pari(matrix(ZZ, 0), 1)
43
+ 1
44
+ sage: _det_pari(matrix(ZZ, 3, [1..9]))
45
+ 0
46
+ sage: _det_pari(matrix(ZZ, 3, [1..9]), 1)
47
+ 0
48
+ """
49
+ sig_on()
50
+ cdef GEN d = det0(pari_GEN(self), flag)
51
+ # now convert d to a Sage integer e
52
+ cdef Integer e = Integer.__new__(Integer)
53
+ INT_to_mpz(e.value, d)
54
+ clear_stack()
55
+ return e
56
+
57
+
58
+ def _lll_pari(Matrix_integer_dense self):
59
+ # call pari with flag=4: kernel+image
60
+ # pari uses column convention: need to transpose the matrices
61
+ A = integer_matrix(self._matrix, 1)
62
+ K, T = A.qflll(4)
63
+ r = ZZ(T.length())
64
+ # TODO: there is no optimized matrix converter pari -> sage
65
+ U = gen_to_sage_matrix(pari.matconcat([K, T]).mattranspose())
66
+ R = U * self
67
+ return R, U, r
68
+
69
+
70
+ def _rank_pari(Matrix_integer_dense self):
71
+ """
72
+ Rank of this matrix, computed using PARI. The computation is
73
+ done entirely on the PARI stack, then the PARI stack is
74
+ cleared. This function is most useful for very small
75
+ matrices.
76
+
77
+ EXAMPLES::
78
+
79
+ sage: from sage.matrix.matrix_integer_pari import _rank_pari
80
+ sage: _rank_pari(matrix(ZZ,3,[1..9]))
81
+ 2
82
+ """
83
+ sig_on()
84
+ cdef long r = rank(pari_GEN(self))
85
+ clear_stack()
86
+ return r
87
+
88
+
89
+ def _hnf_pari(Matrix_integer_dense self, int flag=0, bint include_zero_rows=True):
90
+ """
91
+ Hermite normal form of this matrix, computed using PARI.
92
+
93
+ INPUT:
94
+
95
+ - ``flag`` -- 0 (default), 1, 3 or 4 (see docstring for
96
+ ``pari.mathnf``)
97
+
98
+ - ``include_zero_rows`` -- boolean; if ``False``, do not include
99
+ any of the zero rows at the bottom of the matrix in the output
100
+
101
+ .. NOTE::
102
+
103
+ In no cases is the transformation matrix returned by this
104
+ function.
105
+
106
+ EXAMPLES::
107
+
108
+ sage: from sage.matrix.matrix_integer_pari import _hnf_pari
109
+ sage: _hnf_pari(matrix(ZZ,3,[1..9]))
110
+ [1 2 3]
111
+ [0 3 6]
112
+ [0 0 0]
113
+ sage: _hnf_pari(matrix(ZZ,3,[1..9]), 1)
114
+ [1 2 3]
115
+ [0 3 6]
116
+ [0 0 0]
117
+ sage: _hnf_pari(matrix(ZZ,3,[1..9]), 3)
118
+ [1 2 3]
119
+ [0 3 6]
120
+ [0 0 0]
121
+ sage: _hnf_pari(matrix(ZZ,3,[1..9]), 4)
122
+ [1 2 3]
123
+ [0 3 6]
124
+ [0 0 0]
125
+
126
+ Check that ``include_zero_rows=False`` works correctly::
127
+
128
+ sage: _hnf_pari(matrix(ZZ,3,[1..9]), 0, include_zero_rows=False)
129
+ [1 2 3]
130
+ [0 3 6]
131
+ sage: _hnf_pari(matrix(ZZ,3,[1..9]), 1, include_zero_rows=False)
132
+ [1 2 3]
133
+ [0 3 6]
134
+ sage: _hnf_pari(matrix(ZZ,3,[1..9]), 3, include_zero_rows=False)
135
+ [1 2 3]
136
+ [0 3 6]
137
+ sage: _hnf_pari(matrix(ZZ,3,[1..9]), 4, include_zero_rows=False)
138
+ [1 2 3]
139
+ [0 3 6]
140
+
141
+ Check that :issue:`12346` is fixed::
142
+
143
+ sage: pari('mathnf(Mat([0,1]), 4)')
144
+ [Mat(1), [1, 0; 0, 1]]
145
+ """
146
+ sig_on()
147
+ A = _new_GEN_from_fmpz_mat_t_rotate90(self._matrix)
148
+ H = mathnf0(A, flag)
149
+ if typ(H) == t_VEC:
150
+ H = gel(H, 1)
151
+ GenH = new_gen(H)
152
+ return extract_hnf_from_pari_matrix(self, GenH, include_zero_rows)
153
+
154
+
155
+ cdef inline GEN pari_GEN(Matrix_integer_dense B) noexcept:
156
+ r"""
157
+ Create the PARI GEN object on the stack defined by the integer
158
+ matrix B. This is used internally by the function for conversion
159
+ of matrices to PARI.
160
+
161
+ For internal use only; this directly uses the PARI stack.
162
+ One should call ``sig_on()`` before and ``sig_off()`` after.
163
+ """
164
+ cdef GEN A = _new_GEN_from_fmpz_mat_t(B._matrix)
165
+ return A
166
+
167
+
168
+ cdef extract_hnf_from_pari_matrix(Matrix_integer_dense self, Gen H, bint include_zero_rows):
169
+ cdef mpz_t tmp
170
+ mpz_init(tmp)
171
+
172
+ # Figure out how many columns we got back.
173
+ cdef long H_nc = glength(H.g) # number of columns
174
+ # Now get the resulting Hermite form matrix back to Sage, suitably re-arranged.
175
+ cdef Matrix_integer_dense B
176
+ if include_zero_rows:
177
+ B = self.new_matrix()
178
+ else:
179
+ B = self.new_matrix(nrows=H_nc)
180
+ cdef long i, j
181
+ for i in range(self._ncols):
182
+ for j in range(H_nc):
183
+ sig_check()
184
+ INT_to_mpz(tmp, gcoeff(H.g, i+1, H_nc-j))
185
+ fmpz_set_mpz(fmpz_mat_entry(B._matrix,j,self._ncols-i-1),tmp)
186
+ mpz_clear(tmp)
187
+ return B
@@ -0,0 +1,160 @@
1
+ # sage_setup: distribution = sagemath-pari
2
+ # sage.doctest: needs sage.libs.flint sage.libs.pari sage.modules
3
+
4
+ from cysignals.signals cimport sig_on, sig_off
5
+ from cysignals.memory cimport sig_malloc, sig_free
6
+
7
+ from sage.libs.flint.fmpq cimport *
8
+ from sage.libs.flint.fmpq_mat cimport *
9
+ from sage.libs.gmp.mpq cimport mpq_init, mpq_clear, mpq_set_si, mpq_mul, mpq_add, mpq_set
10
+ from sage.matrix.matrix_rational_dense cimport Matrix_rational_dense
11
+ from sage.modules.vector_rational_dense cimport Vector_rational_dense
12
+ from sage.rings.rational cimport Rational
13
+
14
+ # ########################################################
15
+ # PARI C library
16
+ from sage.libs.pari.all import PariError
17
+ from sage.libs.pari.convert_gmp cimport INTFRAC_to_mpq
18
+ from sage.libs.pari.convert_flint cimport rational_matrix, _new_GEN_from_fmpq_mat_t
19
+ from cypari2.stack cimport clear_stack
20
+ from cypari2.paridecl cimport *
21
+ # ########################################################
22
+
23
+
24
+ def _pari(Matrix_rational_dense self):
25
+ """
26
+ Return pari version of this matrix.
27
+
28
+ EXAMPLES::
29
+
30
+ sage: matrix(QQ,2,[1/5,-2/3,3/4,4/9]).__pari__()
31
+ [1/5, -2/3; 3/4, 4/9]
32
+ """
33
+ return rational_matrix(self._matrix, False)
34
+
35
+
36
+ def _det_pari(Matrix_rational_dense self, int flag=0):
37
+ """
38
+ Return the determinant of this matrix computed using pari.
39
+
40
+ EXAMPLES::
41
+
42
+ sage: from sage.matrix.matrix_rational_pari import _det_pari
43
+ sage: _det_pari(matrix(QQ, 3, [1..9]))
44
+ 0
45
+ sage: _det_pari(matrix(QQ, 3, [1..9]), 1)
46
+ 0
47
+ sage: _det_pari(matrix(QQ, 3, [0] + [2..9]))
48
+ 3
49
+ """
50
+ sig_on()
51
+ cdef GEN d = det0(_new_GEN_from_fmpq_mat_t(self._matrix), flag)
52
+ # now convert d to a Sage rational
53
+ cdef Rational e = <Rational> Rational.__new__(Rational)
54
+ INTFRAC_to_mpq(e.value, d)
55
+ clear_stack()
56
+ return e
57
+
58
+
59
+ def _rank_pari(Matrix_rational_dense self):
60
+ """
61
+ Return the rank of this matrix computed using pari.
62
+
63
+ EXAMPLES::
64
+
65
+ sage: from sage.matrix.matrix_rational_pari import _rank_pari
66
+ sage: _rank_pari(matrix(QQ, 3, [1..9]))
67
+ 2
68
+ sage: _rank_pari(matrix(QQ, 0, 0))
69
+ 0
70
+ """
71
+ sig_on()
72
+ cdef long r = rank(_new_GEN_from_fmpq_mat_t(self._matrix))
73
+ clear_stack()
74
+ return r
75
+
76
+
77
+ def _multiply_pari(Matrix_rational_dense self, Matrix_rational_dense right):
78
+ """
79
+ Return the product of ``self`` and ``right``, computed using PARI.
80
+
81
+ EXAMPLES::
82
+
83
+ sage: from sage.matrix.matrix_rational_pari import _multiply_pari
84
+ sage: _multiply_pari(matrix(QQ,2,[1/5,-2/3,3/4,4/9]), matrix(QQ,2,[1,2,3,4]))
85
+ [ -9/5 -34/15]
86
+ [ 25/12 59/18]
87
+
88
+ We verify that 0 rows or columns works::
89
+
90
+ sage: x = matrix(QQ,2,0); y = matrix(QQ,0,2); x*y
91
+ [0 0]
92
+ [0 0]
93
+ sage: matrix(ZZ, 0, 0) * matrix(QQ, 0, 5)
94
+ []
95
+ """
96
+ if self._ncols != right._nrows:
97
+ raise ArithmeticError("self must be a square matrix")
98
+ if not self._ncols*self._nrows or not right._ncols*right._nrows:
99
+ # pari doesn't work in case of 0 rows or columns
100
+ # This case is easy, since the answer must be the 0 matrix.
101
+ return self.matrix_space(self._nrows, right._ncols).zero_matrix().__copy__()
102
+ sig_on()
103
+ cdef GEN M = gmul(_new_GEN_from_fmpq_mat_t(self._matrix),
104
+ _new_GEN_from_fmpq_mat_t(right._matrix))
105
+ A = new_matrix_from_pari_GEN(self.matrix_space(self._nrows, right._ncols), M)
106
+ clear_stack()
107
+ return A
108
+
109
+
110
+ def _invert_pari(Matrix_rational_dense self):
111
+ """
112
+ Return the inverse of this matrix computed using PARI.
113
+
114
+ EXAMPLES::
115
+
116
+ sage: from sage.matrix.matrix_rational_pari import _invert_pari
117
+ sage: _invert_pari(matrix(QQ, 2, [1,2,3,4]))
118
+ [ -2 1]
119
+ [ 3/2 -1/2]
120
+ sage: _invert_pari(matrix(QQ, 2, [1,2,2,4]))
121
+ Traceback (most recent call last):
122
+ ...
123
+ PariError: impossible inverse in ginv: [1, 2; 2, 4]
124
+ """
125
+ if self._nrows != self._ncols:
126
+ raise ValueError("self must be a square matrix")
127
+ cdef GEN M, d
128
+
129
+ sig_on()
130
+ M = _new_GEN_from_fmpq_mat_t(self._matrix)
131
+ d = ginv(M)
132
+ # Convert matrix back to Sage.
133
+ A = new_matrix_from_pari_GEN(self._parent, d)
134
+ clear_stack()
135
+ return A
136
+
137
+
138
+ cdef new_matrix_from_pari_GEN(parent, GEN d):
139
+ """
140
+ Given a PARI GEN with ``t_INT`` or ``t_FRAC entries, create a
141
+ :class:`Matrix_rational_dense` from it.
142
+
143
+ EXAMPLES::
144
+
145
+ sage: from sage.matrix.matrix_rational_pari import _multiply_pari
146
+ sage: _multiply_pari(matrix(QQ, 2, [1..4]), matrix(QQ, 2, [2..5])) # indirect doctest
147
+ [10 13]
148
+ [22 29]
149
+ """
150
+ cdef Py_ssize_t i, j
151
+ cdef Matrix_rational_dense B = Matrix_rational_dense.__new__(
152
+ Matrix_rational_dense, parent, None, None, None)
153
+ cdef mpq_t tmp
154
+ mpq_init(tmp)
155
+ for i in range(B._nrows):
156
+ for j in range(B._ncols):
157
+ INTFRAC_to_mpq(tmp, gcoeff(d, i+1, j+1))
158
+ fmpq_set_mpq(fmpq_mat_entry(B._matrix, i, j), tmp)
159
+ mpq_clear(tmp)
160
+ return B
@@ -0,0 +1,10 @@
1
+ # sage_setup: distribution = sagemath-pari
2
+
3
+ from sage.quadratic_forms.special_values import (gamma__exact, zeta__exact, QuadraticBernoulliNumber,
4
+ quadratic_L_function__exact, quadratic_L_function__numerical)
5
+
6
+ from sage.misc.lazy_import import lazy_import
7
+
8
+ lazy_import('sage.quadratic_forms.genera.genus', 'Genus')
9
+
10
+ del lazy_import
@@ -0,0 +1,9 @@
1
+ # sage_setup: distribution = sagemath-pari
2
+ # ****************************************************************************
3
+ # Copyright (C) 2007 David Kohel <kohel@maths.usyd.edu.au>
4
+ #
5
+ # Distributed under the terms of the GNU General Public License (GPL)
6
+ #
7
+ # https://www.gnu.org/licenses/
8
+ # ****************************************************************************
9
+ from sage.quadratic_forms.genera.genus import Genus, LocalGenusSymbol, is_GlobalGenus