passagemath-flint 10.5.40__tar.gz → 10.5.41__tar.gz

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 (327) hide show
  1. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/PKG-INFO +3 -3
  2. passagemath_flint-10.5.41/VERSION.txt +1 -0
  3. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/passagemath_flint.egg-info/PKG-INFO +3 -3
  4. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/passagemath_flint.egg-info/requires.txt +2 -2
  5. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/pyproject.toml +9 -9
  6. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/S_unit_solver.py +28 -28
  7. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/bdd_height.py +2 -1
  8. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/class_group.py +2 -2
  9. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/galois_group.py +5 -3
  10. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/number_field.py +115 -77
  11. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/number_field_element.pyx +5 -5
  12. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/number_field_ideal_rel.py +7 -9
  13. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/number_field_rel.py +8 -8
  14. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/order.py +2 -2
  15. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/selmer_group.py +4 -4
  16. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/qqbar.py +9 -9
  17. passagemath_flint-10.5.40/VERSION.txt +0 -1
  18. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/MANIFEST.in +0 -0
  19. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/README.rst +0 -0
  20. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/passagemath_flint.egg-info/SOURCES.txt +0 -0
  21. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/passagemath_flint.egg-info/dependency_links.txt +0 -0
  22. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/passagemath_flint.egg-info/top_level.txt +0 -0
  23. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/all__sagemath_flint.py +0 -0
  24. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/combinat/all__sagemath_flint.py +0 -0
  25. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/combinat/posets/all__sagemath_flint.py +0 -0
  26. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/combinat/posets/hasse_cython_flint.pyx +0 -0
  27. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/data_structures/all__sagemath_flint.py +0 -0
  28. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/data_structures/bounded_integer_sequences.pxd +0 -0
  29. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/data_structures/bounded_integer_sequences.pyx +0 -0
  30. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/graphs/all__sagemath_flint.py +0 -0
  31. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/graphs/chrompoly.pyx +0 -0
  32. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/graphs/matchpoly.pyx +0 -0
  33. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/all__sagemath_flint.py +0 -0
  34. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/__init__.py +0 -0
  35. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/acb.pxd +0 -0
  36. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/acb_calc.pxd +0 -0
  37. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/acb_elliptic.pxd +0 -0
  38. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/acb_hypgeom.pxd +0 -0
  39. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/acb_mat.pxd +0 -0
  40. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/acb_modular.pxd +0 -0
  41. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/acb_poly.pxd +0 -0
  42. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/arb.pxd +0 -0
  43. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/arb_fmpz_poly.pxd +0 -0
  44. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/arb_hypgeom.pxd +0 -0
  45. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/arb_wrap.h +0 -0
  46. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/arf.pxd +0 -0
  47. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/arith.pyx +0 -0
  48. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/bernoulli.pxd +0 -0
  49. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/mag.pxd +0 -0
  50. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/meson.build +0 -0
  51. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/types.pxd +0 -0
  52. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/__init__.py +0 -0
  53. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb.pxd +0 -0
  54. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_calc.pxd +0 -0
  55. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_dft.pxd +0 -0
  56. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_dirichlet.pxd +0 -0
  57. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_elliptic.pxd +0 -0
  58. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_hypgeom.pxd +0 -0
  59. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_macros.pxd +0 -0
  60. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_mat.pxd +0 -0
  61. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_mat_macros.pxd +0 -0
  62. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_modular.pxd +0 -0
  63. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_poly.pxd +0 -0
  64. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_poly_macros.pxd +0 -0
  65. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_theta.pxd +0 -0
  66. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acf.pxd +0 -0
  67. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/aprcl.pxd +0 -0
  68. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arb.pxd +0 -0
  69. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arb_calc.pxd +0 -0
  70. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arb_fmpz_poly.pxd +0 -0
  71. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arb_fpwrap.pxd +0 -0
  72. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arb_hypgeom.pxd +0 -0
  73. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arb_macros.pxd +0 -0
  74. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arb_mat.pxd +0 -0
  75. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arb_mat_macros.pxd +0 -0
  76. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arb_poly.pxd +0 -0
  77. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arf.pxd +0 -0
  78. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arith.pxd +0 -0
  79. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arith.pyx +0 -0
  80. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arith_sage.pyx +0 -0
  81. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/bernoulli.pxd +0 -0
  82. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/bool_mat.pxd +0 -0
  83. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ca.pxd +0 -0
  84. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ca_ext.pxd +0 -0
  85. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ca_field.pxd +0 -0
  86. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ca_mat.pxd +0 -0
  87. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ca_poly.pxd +0 -0
  88. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ca_vec.pxd +0 -0
  89. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/calcium.pxd +0 -0
  90. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/d_mat.pxd +0 -0
  91. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/d_vec.pxd +0 -0
  92. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/dirichlet.pxd +0 -0
  93. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/dlog.pxd +0 -0
  94. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/double_extras.pxd +0 -0
  95. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/double_interval.pxd +0 -0
  96. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fexpr.pxd +0 -0
  97. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fexpr_builtin.pxd +0 -0
  98. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fft.pxd +0 -0
  99. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/flint.pxd +0 -0
  100. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/flint_ntl_wrap.h +0 -0
  101. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/flint_sage.pyx +0 -0
  102. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/flint_wrap.h +0 -0
  103. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq.pxd +0 -0
  104. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq_mat.pxd +0 -0
  105. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq_mat_macros.pxd +0 -0
  106. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq_mpoly.pxd +0 -0
  107. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq_mpoly_factor.pxd +0 -0
  108. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq_poly.pxd +0 -0
  109. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq_poly_macros.pxd +0 -0
  110. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq_poly_sage.pxd +0 -0
  111. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq_poly_sage.pyx +0 -0
  112. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq_vec.pxd +0 -0
  113. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz.pxd +0 -0
  114. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_extras.pxd +0 -0
  115. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_factor.pxd +0 -0
  116. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_factor_sage.pxd +0 -0
  117. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_factor_sage.pyx +0 -0
  118. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_lll.pxd +0 -0
  119. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_macros.pxd +0 -0
  120. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mat.pxd +0 -0
  121. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mat_macros.pxd +0 -0
  122. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mod.pxd +0 -0
  123. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mod_mat.pxd +0 -0
  124. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mod_mpoly.pxd +0 -0
  125. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mod_mpoly_factor.pxd +0 -0
  126. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mod_poly.pxd +0 -0
  127. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mod_poly_factor.pxd +0 -0
  128. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mod_vec.pxd +0 -0
  129. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mpoly.pxd +0 -0
  130. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mpoly_factor.pxd +0 -0
  131. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mpoly_q.pxd +0 -0
  132. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_poly.pxd +0 -0
  133. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_poly.pyx +0 -0
  134. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_poly_factor.pxd +0 -0
  135. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_poly_macros.pxd +0 -0
  136. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_poly_mat.pxd +0 -0
  137. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_poly_q.pxd +0 -0
  138. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_poly_sage.pxd +0 -0
  139. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_poly_sage.pyx +0 -0
  140. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_vec.pxd +0 -0
  141. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpzi.pxd +0 -0
  142. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq.pxd +0 -0
  143. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_default.pxd +0 -0
  144. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_default_mat.pxd +0 -0
  145. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_default_poly.pxd +0 -0
  146. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_default_poly_factor.pxd +0 -0
  147. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_embed.pxd +0 -0
  148. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_mat.pxd +0 -0
  149. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_nmod.pxd +0 -0
  150. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_nmod_embed.pxd +0 -0
  151. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_nmod_mat.pxd +0 -0
  152. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_nmod_mpoly.pxd +0 -0
  153. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_nmod_mpoly_factor.pxd +0 -0
  154. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_nmod_poly.pxd +0 -0
  155. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_nmod_poly_factor.pxd +0 -0
  156. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_nmod_vec.pxd +0 -0
  157. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_poly.pxd +0 -0
  158. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_poly_factor.pxd +0 -0
  159. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_vec.pxd +0 -0
  160. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_zech.pxd +0 -0
  161. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_zech_embed.pxd +0 -0
  162. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_zech_mat.pxd +0 -0
  163. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_zech_poly.pxd +0 -0
  164. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_zech_poly_factor.pxd +0 -0
  165. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_zech_vec.pxd +0 -0
  166. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/gr.pxd +0 -0
  167. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/gr_generic.pxd +0 -0
  168. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/gr_mat.pxd +0 -0
  169. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/gr_mpoly.pxd +0 -0
  170. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/gr_poly.pxd +0 -0
  171. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/gr_special.pxd +0 -0
  172. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/gr_vec.pxd +0 -0
  173. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/hypgeom.pxd +0 -0
  174. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/long_extras.pxd +0 -0
  175. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/mag.pxd +0 -0
  176. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/mag_macros.pxd +0 -0
  177. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/meson.build +0 -0
  178. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/mpf_mat.pxd +0 -0
  179. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/mpf_vec.pxd +0 -0
  180. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/mpfr_mat.pxd +0 -0
  181. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/mpfr_vec.pxd +0 -0
  182. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/mpn_extras.pxd +0 -0
  183. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/mpoly.pxd +0 -0
  184. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nf.pxd +0 -0
  185. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nf_elem.pxd +0 -0
  186. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nmod.pxd +0 -0
  187. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nmod_mat.pxd +0 -0
  188. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nmod_mpoly.pxd +0 -0
  189. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nmod_mpoly_factor.pxd +0 -0
  190. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nmod_poly.pxd +0 -0
  191. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nmod_poly_factor.pxd +0 -0
  192. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nmod_poly_linkage.pxi +0 -0
  193. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nmod_poly_mat.pxd +0 -0
  194. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nmod_vec.pxd +0 -0
  195. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ntl_interface.pxd +0 -0
  196. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/padic.pxd +0 -0
  197. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/padic_mat.pxd +0 -0
  198. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/padic_poly.pxd +0 -0
  199. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/partitions.pxd +0 -0
  200. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/perm.pxd +0 -0
  201. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/profiler.pxd +0 -0
  202. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/qadic.pxd +0 -0
  203. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/qfb.pxd +0 -0
  204. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/qqbar.pxd +0 -0
  205. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/qsieve.pxd +0 -0
  206. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/qsieve.pyx +0 -0
  207. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/qsieve_sage.pyx +0 -0
  208. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/thread_pool.pxd +0 -0
  209. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/types.pxd +0 -0
  210. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ulong_extras.pxd +0 -0
  211. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ulong_extras.pyx +0 -0
  212. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ulong_extras_sage.pyx +0 -0
  213. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/mpfi/__init__.pxd +0 -0
  214. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/mpfi/types.pxd +0 -0
  215. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/ntl/decl.pxi +0 -0
  216. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/ntl/misc.pxi +0 -0
  217. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/ntl/ntl_GF2X_linkage.pxi +0 -0
  218. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/ntl/ntl_ZZ_pEX_linkage.pxi +0 -0
  219. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/ntl/ntlwrap.h +0 -0
  220. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/ntl/ntlwrap_impl.h +0 -0
  221. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/all__sagemath_flint.py +0 -0
  222. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/change_ring.pyx +0 -0
  223. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_complex_ball_dense.pxd +0 -0
  224. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_complex_ball_dense.pyx +0 -0
  225. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_cyclo_dense.pxd +0 -0
  226. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_cyclo_dense.pyx +0 -0
  227. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_integer_dense.pxd +0 -0
  228. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_integer_dense.pyx +0 -0
  229. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_integer_dense_hnf.py +0 -0
  230. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_integer_dense_saturation.py +0 -0
  231. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_integer_sparse.pxd +0 -0
  232. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_integer_sparse.pyx +0 -0
  233. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_rational_dense.pxd +0 -0
  234. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_rational_dense.pyx +0 -0
  235. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_rational_sparse.pxd +0 -0
  236. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_rational_sparse.pyx +0 -0
  237. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/misc_flint.pyx +0 -0
  238. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/all__sagemath_flint.py +0 -0
  239. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/modform/all__sagemath_flint.py +0 -0
  240. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/modform/eis_series_cython.pyx +0 -0
  241. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/modsym/all__sagemath_flint.py +0 -0
  242. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/modsym/apply.pxd +0 -0
  243. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/modsym/apply.pyx +0 -0
  244. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/modsym/heilbronn.pyx +0 -0
  245. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/pollack_stevens/all__sagemath_flint.py +0 -0
  246. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/pollack_stevens/dist.pxd +0 -0
  247. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/pollack_stevens/dist.pyx +0 -0
  248. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/algebra.py +0 -0
  249. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/algebra_elements.pxd +0 -0
  250. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/algebra_elements.pxi +0 -0
  251. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/algebra_elements.pyx +0 -0
  252. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/all.py +0 -0
  253. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/ar_quiver.py +0 -0
  254. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/homspace.py +0 -0
  255. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/meson.build +0 -0
  256. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/morphism.py +0 -0
  257. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/path_semigroup.py +0 -0
  258. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/paths.pxd +0 -0
  259. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/paths.pyx +0 -0
  260. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/representation.py +0 -0
  261. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/all__sagemath_flint.py +0 -0
  262. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/cif.py +0 -0
  263. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/complex_arb.pxd +0 -0
  264. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/complex_arb.pyx +0 -0
  265. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/complex_interval.pxd +0 -0
  266. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/complex_interval.pyx +0 -0
  267. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/complex_interval_field.py +0 -0
  268. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/convert/all.py +0 -0
  269. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/convert/meson.build +0 -0
  270. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/convert/mpfi.pxd +0 -0
  271. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/convert/mpfi.pyx +0 -0
  272. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/factorint_flint.pyx +0 -0
  273. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/fraction_field_FpT.pxd +0 -0
  274. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/fraction_field_FpT.pyx +0 -0
  275. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/imaginary_unit.py +0 -0
  276. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/monomials.py +0 -0
  277. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/all.py +0 -0
  278. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/all__sagemath_flint.py +0 -0
  279. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/homset.py +0 -0
  280. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/maps.py +0 -0
  281. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/meson.build +0 -0
  282. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/morphism.py +0 -0
  283. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/number_field_element.pxd +0 -0
  284. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/number_field_element_quadratic.pxd +0 -0
  285. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/number_field_element_quadratic.pyx +0 -0
  286. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/number_field_morphisms.pyx +0 -0
  287. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/order_ideal.py +0 -0
  288. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/small_primes_of_degree_one.py +0 -0
  289. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/splitting_field.py +0 -0
  290. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/structure.py +0 -0
  291. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/unit_group.py +0 -0
  292. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/padics/all__sagemath_flint.py +0 -0
  293. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/all__sagemath_flint.py +0 -0
  294. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/complex_roots.py +0 -0
  295. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/evaluation_flint.pxd +0 -0
  296. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/evaluation_flint.pyx +0 -0
  297. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/hilbert.pyx +0 -0
  298. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_complex_arb.pxd +0 -0
  299. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_complex_arb.pyx +0 -0
  300. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_integer_dense_flint.pxd +0 -0
  301. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_integer_dense_flint.pyx +0 -0
  302. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_number_field.pyx +0 -0
  303. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_rational_flint.pxd +0 -0
  304. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_rational_flint.pyx +0 -0
  305. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_template.pxi +0 -0
  306. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_template_header.pxi +0 -0
  307. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_zmod_flint.pxd +0 -0
  308. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_zmod_flint.pyx +0 -0
  309. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/real_roots.pxd +0 -0
  310. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/real_roots.pyx +0 -0
  311. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/refine_root.pyx +0 -0
  312. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/weil/all.py +0 -0
  313. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/weil/meson.build +0 -0
  314. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/weil/power_sums.c +0 -0
  315. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/weil/power_sums.h +0 -0
  316. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/weil/weil_polynomials.pyx +0 -0
  317. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/real_arb.pxd +0 -0
  318. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/real_arb.pyx +0 -0
  319. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/real_interval_absolute.pyx +0 -0
  320. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/real_mpfi.pxd +0 -0
  321. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/real_mpfi.pyx +0 -0
  322. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/schemes/all__sagemath_flint.py +0 -0
  323. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/schemes/elliptic_curves/all__sagemath_flint.py +0 -0
  324. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/schemes/elliptic_curves/descent_two_isogeny.pyx +0 -0
  325. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/schemes/elliptic_curves/descent_two_isogeny_pari.pxd +0 -0
  326. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/setup.cfg +0 -0
  327. {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: passagemath-flint
3
- Version: 10.5.40
3
+ Version: 10.5.41
4
4
  Summary: passagemath: Fast computations with MPFI and FLINT
5
5
  Author-email: The Sage Developers <sage-support@googlegroups.com>
6
6
  Maintainer: Matthias Köppe, passagemath contributors
@@ -28,8 +28,8 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
28
28
  Classifier: Topic :: Scientific/Engineering :: Mathematics
29
29
  Requires-Python: <3.14,>=3.9
30
30
  Description-Content-Type: text/x-rst
31
- Requires-Dist: passagemath-categories~=10.5.40.0
32
- Requires-Dist: passagemath-ntl~=10.5.40.0
31
+ Requires-Dist: passagemath-categories~=10.5.41.0
32
+ Requires-Dist: passagemath-ntl~=10.5.41.0
33
33
  Requires-Dist: numpy>=1.19
34
34
  Requires-Dist: numpy>=1.22.4
35
35
  Provides-Extra: test
@@ -0,0 +1 @@
1
+ 10.5.41
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: passagemath-flint
3
- Version: 10.5.40
3
+ Version: 10.5.41
4
4
  Summary: passagemath: Fast computations with MPFI and FLINT
5
5
  Author-email: The Sage Developers <sage-support@googlegroups.com>
6
6
  Maintainer: Matthias Köppe, passagemath contributors
@@ -28,8 +28,8 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
28
28
  Classifier: Topic :: Scientific/Engineering :: Mathematics
29
29
  Requires-Python: <3.14,>=3.9
30
30
  Description-Content-Type: text/x-rst
31
- Requires-Dist: passagemath-categories~=10.5.40.0
32
- Requires-Dist: passagemath-ntl~=10.5.40.0
31
+ Requires-Dist: passagemath-categories~=10.5.41.0
32
+ Requires-Dist: passagemath-ntl~=10.5.41.0
33
33
  Requires-Dist: numpy>=1.19
34
34
  Requires-Dist: numpy>=1.22.4
35
35
  Provides-Extra: test
@@ -1,5 +1,5 @@
1
- passagemath-categories~=10.5.40.0
2
- passagemath-ntl~=10.5.40.0
1
+ passagemath-categories~=10.5.41.0
2
+ passagemath-ntl~=10.5.41.0
3
3
  numpy>=1.19
4
4
  numpy>=1.22.4
5
5
 
@@ -4,16 +4,16 @@
4
4
  # sage_conf is needed for library name of the flint library.
5
5
  requires = [
6
6
  'setuptools >= 77.0.0',
7
- 'passagemath-setup ~= 10.5.40.0',
8
- 'passagemath-conf ~= 10.5.40.0',
7
+ 'passagemath-setup ~= 10.5.41.0',
8
+ 'passagemath-conf ~= 10.5.41.0',
9
9
  'numpy >=1.19', 'numpy >=1.22.4',
10
- 'passagemath-environment ~= 10.5.40.0',
11
- 'passagemath-categories ~= 10.5.40.0',
12
- 'passagemath-modules ~= 10.5.40.0',
13
- 'passagemath-ntl ~= 10.5.40.0',
10
+ 'passagemath-environment ~= 10.5.41.0',
11
+ 'passagemath-categories ~= 10.5.41.0',
12
+ 'passagemath-modules ~= 10.5.41.0',
13
+ 'passagemath-ntl ~= 10.5.41.0',
14
14
  'cython >=3.0, != 3.0.3, <4.0', 'cython >=3.0.8,<3.1.0',
15
15
  'gmpy2 ~=2.1.b999',
16
- 'cysignals ==1.12.0rc2',
16
+ 'cysignals >=1.11.2, != 1.12.0',
17
17
  'pkgconfig',
18
18
  ]
19
19
  build-backend = "setuptools.build_meta"
@@ -22,8 +22,8 @@ build-backend = "setuptools.build_meta"
22
22
  name = "passagemath-flint"
23
23
  description = "passagemath: Fast computations with MPFI and FLINT"
24
24
  dependencies = [
25
- 'passagemath-categories ~= 10.5.40.0',
26
- 'passagemath-ntl ~= 10.5.40.0',
25
+ 'passagemath-categories ~= 10.5.41.0',
26
+ 'passagemath-ntl ~= 10.5.41.0',
27
27
  'numpy >=1.19', 'numpy >=1.22.4',
28
28
  ]
29
29
  dynamic = ["version"]
@@ -13,10 +13,10 @@ EXAMPLES::
13
13
  sage: x = polygen(ZZ, 'x')
14
14
  sage: K.<xi> = NumberField(x^2 + x + 1)
15
15
  sage: S = K.primes_above(3)
16
- sage: expected = [((0, 1), (4, 0), xi + 2, -xi - 1),
17
- ....: ((1, -1), (0, -1), 1/3*xi + 2/3, -1/3*xi + 1/3),
16
+ sage: expected = [((4, 1), (4, 0), xi + 2, -xi - 1),
17
+ ....: ((3, -1), (2, -1), 1/3*xi + 2/3, -1/3*xi + 1/3),
18
18
  ....: ((1, 0), (5, 0), xi + 1, -xi),
19
- ....: ((2, 0), (5, 1), xi, -xi + 1)]
19
+ ....: ((2, 0), (3, 1), xi, -xi + 1)]
20
20
  sage: sols = solve_S_unit_equation(K, S, 200)
21
21
  sage: eq_up_to_order(sols, expected)
22
22
  True
@@ -1382,7 +1382,7 @@ def defining_polynomial_for_Kp(prime, prec=106):
1382
1382
  sage: from sage.rings.number_field.S_unit_solver import defining_polynomial_for_Kp
1383
1383
  sage: K.<a> = QuadraticField(2)
1384
1384
  sage: p2 = K.prime_above(7); p2
1385
- Fractional ideal (-2*a + 1)
1385
+ Fractional ideal (2*a - 1)
1386
1386
  sage: defining_polynomial_for_Kp(p2, 10)
1387
1387
  x + 266983762
1388
1388
 
@@ -1449,7 +1449,7 @@ def embedding_to_Kp(a, prime, prec):
1449
1449
  sage: from sage.rings.number_field.S_unit_solver import embedding_to_Kp
1450
1450
  sage: K.<a> = QuadraticField(17)
1451
1451
  sage: p = K.prime_above(13); p
1452
- Fractional ideal (-a + 2)
1452
+ Fractional ideal (a - 2)
1453
1453
  sage: embedding_to_Kp(a-3, p, 15)
1454
1454
  -20542890112375827
1455
1455
 
@@ -1792,10 +1792,10 @@ def sieve_ordering(SUK, q):
1792
1792
  Residue field of Fractional ideal (2*xi + 1))
1793
1793
 
1794
1794
  sage: sieve_data[2]
1795
- ([18, 12, 16, 8], [18, 16, 10, 4], [18, 10, 12, 10])
1795
+ ([18, 9, 16, 8], [18, 7, 10, 4], [18, 3, 12, 10])
1796
1796
 
1797
1797
  sage: sieve_data[3]
1798
- (648, 2916, 3888)
1798
+ (972, 972, 3888)
1799
1799
  """
1800
1800
 
1801
1801
  K = SUK.number_field()
@@ -2171,23 +2171,23 @@ def construct_complement_dictionaries(split_primes_list, SUK, verbose=False):
2171
2171
  sage: SUK = K.S_unit_group(S=K.primes_above(H))
2172
2172
  sage: split_primes_list = [3, 7]
2173
2173
  sage: actual = construct_complement_dictionaries(split_primes_list, SUK)
2174
- sage: expected = {3: {(0, 1, 0): [(1, 0, 0), (0, 1, 0)],
2175
- ....: (1, 0, 0): [(1, 0, 0), (0, 1, 0)]},
2176
- ....: 7: {(0, 1, 0): [(1, 0, 0), (1, 4, 4), (1, 2, 2)],
2174
+ sage: expected = {3: {(0, 1, 0): [(0, 1, 0), (1, 0, 0)],
2175
+ ....: (1, 0, 0): [(0, 1, 0), (1, 0, 0)]},
2176
+ ....: 7: {(0, 1, 0): [(1, 0, 0), (1, 2, 2), (1, 4, 4)],
2177
2177
  ....: (0, 1, 2): [(0, 1, 2), (0, 3, 4), (0, 5, 0)],
2178
- ....: (0, 3, 2): [(1, 0, 0), (1, 4, 4), (1, 2, 2)],
2178
+ ....: (0, 3, 2): [(1, 0, 0), (1, 2, 2), (1, 4, 4)],
2179
2179
  ....: (0, 3, 4): [(0, 1, 2), (0, 3, 4), (0, 5, 0)],
2180
2180
  ....: (0, 5, 0): [(0, 1, 2), (0, 3, 4), (0, 5, 0)],
2181
- ....: (0, 5, 4): [(1, 0, 0), (1, 4, 4), (1, 2, 2)],
2182
- ....: (1, 0, 0): [(0, 5, 4), (0, 3, 2), (0, 1, 0)],
2183
- ....: (1, 0, 2): [(1, 0, 4), (1, 4, 2), (1, 2, 0)],
2184
- ....: (1, 0, 4): [(1, 2, 4), (1, 4, 0), (1, 0, 2)],
2185
- ....: (1, 2, 0): [(1, 2, 4), (1, 4, 0), (1, 0, 2)],
2186
- ....: (1, 2, 2): [(0, 5, 4), (0, 3, 2), (0, 1, 0)],
2187
- ....: (1, 2, 4): [(1, 0, 4), (1, 4, 2), (1, 2, 0)],
2188
- ....: (1, 4, 0): [(1, 0, 4), (1, 4, 2), (1, 2, 0)],
2189
- ....: (1, 4, 2): [(1, 2, 4), (1, 4, 0), (1, 0, 2)],
2190
- ....: (1, 4, 4): [(0, 5, 4), (0, 3, 2), (0, 1, 0)]}}
2181
+ ....: (0, 5, 4): [(1, 0, 0), (1, 2, 2), (1, 4, 4)],
2182
+ ....: (1, 0, 0): [(0, 1, 0), (0, 3, 2), (0, 5, 4)],
2183
+ ....: (1, 0, 2): [(1, 0, 4), (1, 2, 0), (1, 4, 2)],
2184
+ ....: (1, 0, 4): [(1, 0, 2), (1, 2, 4), (1, 4, 0)],
2185
+ ....: (1, 2, 0): [(1, 0, 2), (1, 2, 4), (1, 4, 0)],
2186
+ ....: (1, 2, 2): [(0, 1, 0), (0, 3, 2), (0, 5, 4)],
2187
+ ....: (1, 2, 4): [(1, 0, 4), (1, 2, 0), (1, 4, 2)],
2188
+ ....: (1, 4, 0): [(1, 0, 4), (1, 2, 0), (1, 4, 2)],
2189
+ ....: (1, 4, 2): [(1, 0, 2), (1, 2, 4), (1, 4, 0)],
2190
+ ....: (1, 4, 4): [(0, 1, 0), (0, 3, 2), (0, 5, 4)]}}
2191
2191
  sage: all(set(actual[p][vec]) == set(expected[p][vec])
2192
2192
  ....: for p in [3, 7] for vec in expected[p])
2193
2193
  True
@@ -2694,9 +2694,9 @@ def sieve_below_bound(K, S, bound=10, bump=10, split_primes_list=[], verbose=Fal
2694
2694
  sage: SUK = UnitGroup(K, S=tuple(K.primes_above(3)))
2695
2695
  sage: S = SUK.primes()
2696
2696
  sage: sols = sieve_below_bound(K, S, 10)
2697
- sage: expected = [((1, -1), (0, -1), 1/3*xi + 2/3, -1/3*xi + 1/3),
2698
- ....: ((0, 1), (4, 0), xi + 2, -xi - 1),
2699
- ....: ((2, 0), (5, 1), xi, -xi + 1),
2697
+ sage: expected = [((3, -1), (2, -1), 1/3*xi + 2/3, -1/3*xi + 1/3),
2698
+ ....: ((4, 1), (4, 0), xi + 2, -xi - 1),
2699
+ ....: ((2, 0), (3, 1), xi, -xi + 1),
2700
2700
  ....: ((1, 0), (5, 0), xi + 1, -xi)]
2701
2701
  sage: eq_up_to_order(sols, expected)
2702
2702
  True
@@ -2759,10 +2759,10 @@ def solve_S_unit_equation(K, S, prec=106, include_exponents=True, include_bound=
2759
2759
  sage: K.<xi> = NumberField(x^2 + x + 1)
2760
2760
  sage: S = K.primes_above(3)
2761
2761
  sage: sols = solve_S_unit_equation(K, S, 200)
2762
- sage: expected = [((0, 1), (4, 0), xi + 2, -xi - 1),
2763
- ....: ((1, -1), (0, -1), 1/3*xi + 2/3, -1/3*xi + 1/3),
2762
+ sage: expected = [((4, 1), (4, 0), xi + 2, -xi - 1),
2763
+ ....: ((3, -1), (2, -1), 1/3*xi + 2/3, -1/3*xi + 1/3),
2764
2764
  ....: ((1, 0), (5, 0), xi + 1, -xi),
2765
- ....: ((2, 0), (5, 1), xi, -xi + 1)]
2765
+ ....: ((2, 0), (3, 1), xi, -xi + 1)]
2766
2766
  sage: eq_up_to_order(sols, expected)
2767
2767
  True
2768
2768
 
@@ -2770,7 +2770,7 @@ def solve_S_unit_equation(K, S, prec=106, include_exponents=True, include_bound=
2770
2770
 
2771
2771
  sage: solutions, bound = solve_S_unit_equation(K, S, 100, include_bound=True)
2772
2772
  sage: bound
2773
- 7
2773
+ 6
2774
2774
 
2775
2775
  You can omit the exponent vectors::
2776
2776
 
@@ -237,7 +237,8 @@ def bdd_norm_pr_ideal_gens(K, norm_list):
237
237
  sage: from sage.rings.number_field.bdd_height import bdd_norm_pr_ideal_gens
238
238
  sage: K.<g> = QuadraticField(123)
239
239
  sage: bdd_norm_pr_ideal_gens(K, range(5))
240
- {0: [0], 1: [1], 2: [g + 11], 3: [], 4: [2]}
240
+ {0: [0], 1: [1], 2: [g + 11], 3: [], 4: [2]} # 64-bit
241
+ {0: [0], 1: [1], 2: [g - 11], 3: [], 4: [2]} # 32-bit
241
242
 
242
243
  ::
243
244
 
@@ -526,9 +526,9 @@ class ClassGroup(AbelianGroupWithValues_class):
526
526
  Class group of order 68 with structure C34 x C2 of Number Field
527
527
  in a with defining polynomial x^2 + x + 23899
528
528
  sage: C.gens()
529
- (Fractional ideal class (7, a + 5), Fractional ideal class (5, a + 3))
529
+ (Fractional ideal class (83, a + 21), Fractional ideal class (15, a + 8))
530
530
  sage: C.gens_ideals()
531
- (Fractional ideal (7, a + 5), Fractional ideal (5, a + 3))
531
+ (Fractional ideal (83, a + 21), Fractional ideal (15, a + 8))
532
532
  """
533
533
  return self.gens_values()
534
534
 
@@ -995,9 +995,11 @@ class GaloisGroup_v2(GaloisGroup_perm):
995
995
  sage: x = polygen(ZZ, 'x')
996
996
  sage: K.<b> = NumberField(x^4 - 2*x^2 + 2, 'a').galois_closure()
997
997
  sage: G = K.galois_group()
998
- sage: [G.artin_symbol(P) for P in K.primes_above(7)] # random (see remark in primes_above)
999
- [(1,4)(2,3)(5,8)(6,7), (1,4)(2,3)(5,8)(6,7),
1000
- (1,5)(2,6)(3,7)(4,8), (1,5)(2,6)(3,7)(4,8)]
998
+ sage: sorted([G.artin_symbol(P) for P in K.primes_above(7)])
999
+ [(1,4)(2,3)(5,8)(6,7),
1000
+ (1,4)(2,3)(5,8)(6,7),
1001
+ (1,5)(2,6)(3,7)(4,8),
1002
+ (1,5)(2,6)(3,7)(4,8)]
1001
1003
  sage: G.artin_symbol(17)
1002
1004
  Traceback (most recent call last):
1003
1005
  ...
@@ -3624,7 +3624,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
3624
3624
  sage: L.<b> = K.extension(x^2 - 3, x^2 + 1)
3625
3625
  sage: M.<c> = L.extension(x^2 + 1)
3626
3626
  sage: L.ideal(K.ideal(2, a))
3627
- Fractional ideal (a)
3627
+ Fractional ideal (-a)
3628
3628
  sage: M.ideal(K.ideal(2, a)) == M.ideal(a*(b - c)/2)
3629
3629
  True
3630
3630
 
@@ -3667,35 +3667,37 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
3667
3667
  ....: print(n)
3668
3668
  ....: for I in sorted(d[n]):
3669
3669
  ....: print(I)
3670
- 1
3671
- Fractional ideal (1)
3672
- 2
3673
- Fractional ideal (2, 1/2*a - 1/2)
3674
- Fractional ideal (2, 1/2*a + 1/2)
3675
- 3
3676
- Fractional ideal (3, 1/2*a - 1/2)
3677
- Fractional ideal (3, 1/2*a + 1/2)
3678
- 4
3679
- Fractional ideal (2)
3680
- Fractional ideal (4, 1/2*a + 3/2)
3681
- Fractional ideal (4, 1/2*a + 5/2)
3682
- 5
3683
- 6
3684
- Fractional ideal (1/2*a - 1/2)
3685
- Fractional ideal (1/2*a + 1/2)
3686
- Fractional ideal (6, 1/2*a + 5/2)
3687
- Fractional ideal (6, 1/2*a + 7/2)
3688
- 7
3689
- 8
3690
- Fractional ideal (4, a - 1)
3691
- Fractional ideal (4, a + 1)
3692
- Fractional ideal (1/2*a + 3/2)
3693
- Fractional ideal (1/2*a - 3/2)
3694
- 9
3695
- Fractional ideal (3)
3696
- Fractional ideal (9, 1/2*a + 7/2)
3697
- Fractional ideal (9, 1/2*a + 11/2)
3698
- 10
3670
+ 1
3671
+ Fractional ideal (1)
3672
+ 2
3673
+ Fractional ideal (2, 1/2*a - 1/2)
3674
+ Fractional ideal (2, 1/2*a + 1/2)
3675
+ 3
3676
+ Fractional ideal (3, 1/2*a - 1/2)
3677
+ Fractional ideal (3, 1/2*a + 1/2)
3678
+ 4
3679
+ Fractional ideal (2)
3680
+ Fractional ideal (4, 1/2*a + 3/2)
3681
+ Fractional ideal (4, 1/2*a + 5/2)
3682
+ 5
3683
+ 6
3684
+ Fractional ideal (-1/2*a + 1/2)
3685
+ Fractional ideal (1/2*a + 1/2)
3686
+ Fractional ideal (6, 1/2*a + 5/2)
3687
+ Fractional ideal (6, 1/2*a + 7/2)
3688
+ 7
3689
+ 8
3690
+ Fractional ideal (4, a - 1)
3691
+ Fractional ideal (4, a + 1)
3692
+ Fractional ideal (-1/2*a - 3/2)
3693
+ Fractional ideal (1/2*a - 3/2)
3694
+ 9
3695
+ Fractional ideal (3)
3696
+ Fractional ideal (9, 1/2*a + 7/2)
3697
+ Fractional ideal (9, 1/2*a + 11/2)
3698
+ 10
3699
+ sage: [[I.norm() for I in sorted(d[n])] for n in d]
3700
+ [[1], [2, 2], [3, 3], [4, 4, 4], [], [6, 6, 6, 6], [], [8, 8, 8, 8], [9, 9, 9], []]
3699
3701
  """
3700
3702
  hnf_ideals = self.pari_nf().ideallist(bound)
3701
3703
  d = {}
@@ -3926,8 +3928,10 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
3926
3928
 
3927
3929
  sage: K.<i> = QuadraticField(-1)
3928
3930
  sage: K.primes_of_bounded_norm(10)
3929
- [Fractional ideal (i + 1), Fractional ideal (-i - 2),
3930
- Fractional ideal (2*i + 1), Fractional ideal (3)]
3931
+ [Fractional ideal (i - 1),
3932
+ Fractional ideal (2*i - 1),
3933
+ Fractional ideal (-2*i - 1),
3934
+ Fractional ideal (3)]
3931
3935
  sage: K.primes_of_bounded_norm(1)
3932
3936
  []
3933
3937
  sage: x = polygen(QQ, 'x')
@@ -3936,10 +3940,10 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
3936
3940
  sage: P
3937
3941
  [Fractional ideal (a),
3938
3942
  Fractional ideal (a + 1),
3939
- Fractional ideal (-a^2 - 1),
3943
+ Fractional ideal (a^2 + 1),
3940
3944
  Fractional ideal (a^2 + a - 1),
3941
3945
  Fractional ideal (2*a + 1),
3942
- Fractional ideal (-2*a^2 - a - 1),
3946
+ Fractional ideal (2*a^2 + a + 1),
3943
3947
  Fractional ideal (a^2 - 2*a - 1),
3944
3948
  Fractional ideal (a + 3)]
3945
3949
  sage: [p.norm() for p in P]
@@ -3989,10 +3993,10 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
3989
3993
  sage: K.<i> = QuadraticField(-1)
3990
3994
  sage: it = K.primes_of_bounded_norm_iter(10)
3991
3995
  sage: list(it)
3992
- [Fractional ideal (i + 1),
3996
+ [Fractional ideal (i - 1),
3993
3997
  Fractional ideal (3),
3994
- Fractional ideal (-i - 2),
3995
- Fractional ideal (2*i + 1)]
3998
+ Fractional ideal (2*i - 1),
3999
+ Fractional ideal (-2*i - 1)]
3996
4000
  sage: list(K.primes_of_bounded_norm_iter(1))
3997
4001
  []
3998
4002
  """
@@ -4317,7 +4321,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
4317
4321
  sage: k.<a> = NumberField(x^4 - 3/2*x + 5/3); k
4318
4322
  Number Field in a with defining polynomial x^4 - 3/2*x + 5/3
4319
4323
  sage: k.pari_nf()
4320
- [y^4 - 324*y + 2160, [0, 2], 48918708, 216, ..., [36, 36*y, y^3 + 6*y^2 - 252, 6*y^2], [1, 0, 0, 252; 0, 1, 0, 0; 0, 0, 0, 36; 0, 0, 6, -36], [1, 0, 0, 0, 0, 0, -18, 42, 0, -18, -46, -60, 0, 42, -60, -60; 0, 1, 0, 0, 1, 0, 2, 0, 0, 2, -11, -1, 0, 0, -1, 9; 0, 0, 1, 0, 0, 0, 6, 6, 1, 6, -5, 0, 0, 6, 0, 0; 0, 0, 0, 1, 0, 6, -6, -6, 0, -6, -1, 2, 1, -6, 2, 0]]
4324
+ [y^4 - 324*y + 2160, [0, 2], 48918708, 216, ..., [36, 36*y, y^3 + 6*y^2 - 252, -6*y^2], [1, 0, 0, 252; 0, 1, 0, 0; 0, 0, 0, 36; 0, 0, -6, 36], [1, 0, 0, 0, 0, 0, -18, -42, 0, -18, -46, 60, 0, -42, 60, -60; 0, 1, 0, 0, 1, 0, 2, 0, 0, 2, -11, 1, 0, 0, 1, 9; 0, 0, 1, 0, 0, 0, 6, -6, 1, 6, -5, 0, 0, -6, 0, 0; 0, 0, 0, 1, 0, -6, 6, -6, 0, 6, 1, 2, 1, -6, 2, 0]]
4321
4325
  sage: pari(k)
4322
4326
  [y^4 - 324*y + 2160, [0, 2], 48918708, 216, ...]
4323
4327
  sage: gp(k)
@@ -4444,10 +4448,14 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
4444
4448
  bnf = self._pari_bnf
4445
4449
  except AttributeError:
4446
4450
  f = self.pari_polynomial("y")
4451
+ _saved_rand = pari.getrand()
4452
+ # make this deterministic, it affects printing of ideals
4453
+ pari.setrand(1)
4447
4454
  if units:
4448
4455
  self._pari_bnf = f.bnfinit(1)
4449
4456
  else:
4450
4457
  self._pari_bnf = f.bnfinit()
4458
+ pari.setrand(_saved_rand)
4451
4459
  bnf = self._pari_bnf
4452
4460
  # Certify if needed
4453
4461
  if proof and not getattr(self, "_pari_bnf_certified", False):
@@ -4807,7 +4815,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
4807
4815
  1/13*a^2 + 7/13*a - 332/13,
4808
4816
  -1/13*a^2 + 6/13*a + 345/13,
4809
4817
  -1,
4810
- -2/13*a^2 - 1/13*a + 755/13]
4818
+ 1/13*a^2 - 19/13*a - 7/13]
4811
4819
  sage: units[5] in (1/13*a^2 - 19/13*a - 7/13, 1/13*a^2 + 20/13*a - 7/13)
4812
4820
  True
4813
4821
  sage: len(units) == 6
@@ -4818,7 +4826,8 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
4818
4826
 
4819
4827
  sage: K.<a> = NumberField(2*x^2 - 1/3)
4820
4828
  sage: K._S_class_group_and_units(tuple(K.primes_above(2) + K.primes_above(3)))
4821
- ([6*a + 2, 6*a + 3, -1, -12*a + 5], [])
4829
+ ([6*a + 2, -6*a + 3, -1, -12*a - 5], []) # 64-bit
4830
+ ([6*a + 2, -6*a - 3, -1, -12*a - 5], []) # 32-bit
4822
4831
  """
4823
4832
  K_pari = self.pari_bnf(proof=proof)
4824
4833
  S_pari = [p.pari_prime() for p in sorted(set(S))]
@@ -4996,7 +5005,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
4996
5005
  1/13*a^2 + 7/13*a - 332/13,
4997
5006
  -1/13*a^2 + 6/13*a + 345/13,
4998
5007
  -1,
4999
- -2/13*a^2 - 1/13*a + 755/13]
5008
+ 1/13*a^2 - 19/13*a - 7/13]
5000
5009
  sage: gens[5] in (1/13*a^2 - 19/13*a - 7/13, 1/13*a^2 + 20/13*a - 7/13)
5001
5010
  True
5002
5011
  sage: gens[6] in (-1/13*a^2 + 45/13*a - 97/13, 1/13*a^2 - 45/13*a + 97/13)
@@ -5160,9 +5169,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
5160
5169
 
5161
5170
  sage: [K.ideal(g).factor() for g in gens]
5162
5171
  [(Fractional ideal (2, a + 1)) * (Fractional ideal (3, a + 1)),
5163
- Fractional ideal (a),
5164
- (Fractional ideal (2, a + 1))^2,
5165
- 1]
5172
+ Fractional ideal (-a), (Fractional ideal (2, a + 1))^2, 1]
5166
5173
 
5167
5174
  sage: toKS2(10)
5168
5175
  (0, 0, 1, 1)
@@ -5640,7 +5647,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
5640
5647
  sage: k.<a> = NumberField(x^2 + 23)
5641
5648
  sage: d = k.different()
5642
5649
  sage: d
5643
- Fractional ideal (-a)
5650
+ Fractional ideal (a)
5644
5651
  sage: d.norm()
5645
5652
  23
5646
5653
  sage: k.disc()
@@ -5760,7 +5767,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
5760
5767
  sage: K.elements_of_norm(3)
5761
5768
  []
5762
5769
  sage: K.elements_of_norm(50)
5763
- [-a - 7, 5*a - 5, 7*a + 1]
5770
+ [7*a - 1, 5*a - 5, -7*a - 1]
5764
5771
 
5765
5772
  TESTS:
5766
5773
 
@@ -5872,10 +5879,9 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
5872
5879
  sage: K.factor(1/3)
5873
5880
  (Fractional ideal (3))^-1
5874
5881
  sage: K.factor(1+a)
5875
- Fractional ideal (a + 1)
5882
+ Fractional ideal (a - 1)
5876
5883
  sage: K.factor(1+a/5)
5877
- (Fractional ideal (a + 1)) * (Fractional ideal (-a - 2))^-1
5878
- * (Fractional ideal (2*a + 1))^-1 * (Fractional ideal (-2*a + 3))
5884
+ (Fractional ideal (a - 1)) * (Fractional ideal (2*a - 1))^-1 * (Fractional ideal (-2*a - 1))^-1 * (Fractional ideal (3*a + 2))
5879
5885
 
5880
5886
  An example over a relative number field::
5881
5887
 
@@ -5908,9 +5914,9 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
5908
5914
  sage: (fi, fj) = f[::]
5909
5915
  sage: (fi[1], fj[1])
5910
5916
  (1, 1)
5911
- sage: fi[0] == L.fractional_ideal(1/2*a*b - a + 1/2)
5917
+ sage: fi[0] == L.fractional_ideal(-1/2*a*b - a + 1/2)
5912
5918
  True
5913
- sage: fj[0] == L.fractional_ideal(-1/2*a*b - a + 1/2)
5919
+ sage: fj[0] == L.fractional_ideal(1/2*a*b - a + 1/2)
5914
5920
  True
5915
5921
  """
5916
5922
  return self.ideal(n).factor()
@@ -6524,13 +6530,15 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
6524
6530
  # the inner product on the Minkowski embedding, which is
6525
6531
  # faster than computing all the conjugates, etc ...
6526
6532
 
6533
+ # flag to disable FLATTER, which is much more unstable than fplll
6534
+ flag = 1 if pari.version() >= (2,17) else 0
6527
6535
  if self.is_totally_real():
6528
6536
  from sage.matrix.constructor import matrix
6529
6537
  M = matrix(ZZ, d, d, [[(x*y).trace() for x in ZK] for y in ZK])
6530
- T = pari(M).qflllgram()
6538
+ T = pari(M).qflllgram(flag=flag)
6531
6539
  else:
6532
6540
  M = self.minkowski_embedding(ZK, prec=prec)
6533
- T = pari(M).qflll()
6541
+ T = pari(M).qflll(flag=flag)
6534
6542
 
6535
6543
  return [sum([ZZ(T[i][j]) * ZK[j] for j in range(d)]) for i in range(d)]
6536
6544
 
@@ -7108,14 +7116,14 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
7108
7116
  sage: K.units(proof=True) # takes forever, not tested
7109
7117
  ...
7110
7118
  sage: K.units(proof=False) # result not independently verified
7111
- (-a^9 - a + 1,
7119
+ (a^9 + a - 1,
7120
+ -a^15 + a^12 - a^10 + a^9 + 2*a^8 - 3*a^7 - a^6 + 3*a^5 - a^4 - 4*a^3 + 3*a^2 + 2*a - 2,
7121
+ a^15 + a^14 + a^13 + a^12 + a^10 - a^7 - a^6 - a^2 - 1,
7122
+ 2*a^16 - 3*a^15 + 3*a^14 - 3*a^13 + 3*a^12 - a^11 + a^9 - 3*a^8 + 4*a^7 - 5*a^6 + 6*a^5 - 4*a^4 + 3*a^3 - 2*a^2 - 2*a + 4,
7112
7123
  -a^16 + a^15 - a^14 + a^12 - a^11 + a^10 + a^8 - a^7 + 2*a^6 - a^4 + 3*a^3 - 2*a^2 + 2*a - 1,
7113
- 2*a^16 - a^14 - a^13 + 3*a^12 - 2*a^10 + a^9 + 3*a^8 - 3*a^6 + 3*a^5 + 3*a^4 - 2*a^3 - 2*a^2 + 3*a + 4,
7114
- a^15 + a^14 + 2*a^11 + a^10 - a^9 + a^8 + 2*a^7 - a^5 + 2*a^3 - a^2 - 3*a + 1,
7115
- -a^16 - a^15 - a^14 - a^13 - a^12 - a^11 - a^10 - a^9 - a^8 - a^7 - a^6 - a^5 - a^4 - a^3 - a^2 + 2,
7116
- -2*a^16 + 3*a^15 - 3*a^14 + 3*a^13 - 3*a^12 + a^11 - a^9 + 3*a^8 - 4*a^7 + 5*a^6 - 6*a^5 + 4*a^4 - 3*a^3 + 2*a^2 + 2*a - 4,
7117
- a^15 - a^12 + a^10 - a^9 - 2*a^8 + 3*a^7 + a^6 - 3*a^5 + a^4 + 4*a^3 - 3*a^2 - 2*a + 2,
7118
- 2*a^16 + a^15 - a^11 - 3*a^10 - 4*a^9 - 4*a^8 - 4*a^7 - 5*a^6 - 7*a^5 - 8*a^4 - 6*a^3 - 5*a^2 - 6*a - 7)
7124
+ a^16 - 2*a^15 - 2*a^13 - a^12 - a^11 - 2*a^10 + a^9 - 2*a^8 + 2*a^7 - 3*a^6 - 3*a^4 - 2*a^3 - a^2 - 4*a + 2,
7125
+ -a^15 - a^14 - 2*a^11 - a^10 + a^9 - a^8 - 2*a^7 + a^5 - 2*a^3 + a^2 + 3*a - 1,
7126
+ -3*a^16 - 3*a^15 - 3*a^14 - 3*a^13 - 3*a^12 - 2*a^11 - 2*a^10 - 2*a^9 - a^8 + a^7 + 2*a^6 + 3*a^5 + 3*a^4 + 4*a^3 + 6*a^2 + 8*a + 8)
7119
7127
 
7120
7128
  TESTS:
7121
7129
 
@@ -7124,7 +7132,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
7124
7132
 
7125
7133
  sage: K.<a> = NumberField(1/2*x^2 - 1/6)
7126
7134
  sage: K.units()
7127
- (3*a - 2,)
7135
+ (3*a + 2,)
7128
7136
  """
7129
7137
  proof = proof_flag(proof)
7130
7138
 
@@ -7206,14 +7214,14 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
7206
7214
  (u0, u1, u2, u3, u4, u5, u6, u7, u8)
7207
7215
  sage: U.gens_values() # result not independently verified
7208
7216
  [-1,
7209
- -a^9 - a + 1,
7217
+ a^9 + a - 1,
7218
+ -a^15 + a^12 - a^10 + a^9 + 2*a^8 - 3*a^7 - a^6 + 3*a^5 - a^4 - 4*a^3 + 3*a^2 + 2*a - 2,
7219
+ a^15 + a^14 + a^13 + a^12 + a^10 - a^7 - a^6 - a^2 - 1,
7220
+ 2*a^16 - 3*a^15 + 3*a^14 - 3*a^13 + 3*a^12 - a^11 + a^9 - 3*a^8 + 4*a^7 - 5*a^6 + 6*a^5 - 4*a^4 + 3*a^3 - 2*a^2 - 2*a + 4,
7210
7221
  -a^16 + a^15 - a^14 + a^12 - a^11 + a^10 + a^8 - a^7 + 2*a^6 - a^4 + 3*a^3 - 2*a^2 + 2*a - 1,
7211
- 2*a^16 - a^14 - a^13 + 3*a^12 - 2*a^10 + a^9 + 3*a^8 - 3*a^6 + 3*a^5 + 3*a^4 - 2*a^3 - 2*a^2 + 3*a + 4,
7212
- a^15 + a^14 + 2*a^11 + a^10 - a^9 + a^8 + 2*a^7 - a^5 + 2*a^3 - a^2 - 3*a + 1,
7213
- -a^16 - a^15 - a^14 - a^13 - a^12 - a^11 - a^10 - a^9 - a^8 - a^7 - a^6 - a^5 - a^4 - a^3 - a^2 + 2,
7214
- -2*a^16 + 3*a^15 - 3*a^14 + 3*a^13 - 3*a^12 + a^11 - a^9 + 3*a^8 - 4*a^7 + 5*a^6 - 6*a^5 + 4*a^4 - 3*a^3 + 2*a^2 + 2*a - 4,
7215
- a^15 - a^12 + a^10 - a^9 - 2*a^8 + 3*a^7 + a^6 - 3*a^5 + a^4 + 4*a^3 - 3*a^2 - 2*a + 2,
7216
- 2*a^16 + a^15 - a^11 - 3*a^10 - 4*a^9 - 4*a^8 - 4*a^7 - 5*a^6 - 7*a^5 - 8*a^4 - 6*a^3 - 5*a^2 - 6*a - 7]
7222
+ a^16 - 2*a^15 - 2*a^13 - a^12 - a^11 - 2*a^10 + a^9 - 2*a^8 + 2*a^7 - 3*a^6 - 3*a^4 - 2*a^3 - a^2 - 4*a + 2,
7223
+ -a^15 - a^14 - 2*a^11 - a^10 + a^9 - a^8 - 2*a^7 + a^5 - 2*a^3 + a^2 + 3*a - 1,
7224
+ -3*a^16 - 3*a^15 - 3*a^14 - 3*a^13 - 3*a^12 - 2*a^11 - 2*a^10 - 2*a^9 - a^8 + a^7 + 2*a^6 + 3*a^5 + 3*a^4 + 4*a^3 + 6*a^2 + 8*a + 8]
7217
7225
  """
7218
7226
  proof = proof_flag(proof)
7219
7227
 
@@ -7262,8 +7270,8 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
7262
7270
  sage: U = K.S_unit_group(S=a); U
7263
7271
  S-unit group with structure C10 x Z x Z x Z of
7264
7272
  Number Field in a with defining polynomial x^4 - 10*x^3 + 100*x^2 - 375*x + 1375
7265
- with S = (Fractional ideal (5, 1/275*a^3 + 4/55*a^2 - 5/11*a + 5),
7266
- Fractional ideal (11, 1/275*a^3 + 4/55*a^2 - 5/11*a + 9))
7273
+ with S = (Fractional ideal (5, -7/275*a^3 + 1/11*a^2 - 9/11*a),
7274
+ Fractional ideal (11, -7/275*a^3 + 1/11*a^2 - 9/11*a + 3))
7267
7275
  sage: U.gens()
7268
7276
  (u0, u1, u2, u3)
7269
7277
  sage: U.gens_values() # random
@@ -7274,8 +7282,8 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
7274
7282
  sage: [u.multiplicative_order() for u in U.gens()]
7275
7283
  [10, +Infinity, +Infinity, +Infinity]
7276
7284
  sage: U.primes()
7277
- (Fractional ideal (5, 1/275*a^3 + 4/55*a^2 - 5/11*a + 5),
7278
- Fractional ideal (11, 1/275*a^3 + 4/55*a^2 - 5/11*a + 9))
7285
+ (Fractional ideal (5, -7/275*a^3 + 1/11*a^2 - 9/11*a),
7286
+ Fractional ideal (11, -7/275*a^3 + 1/11*a^2 - 9/11*a + 3))
7279
7287
 
7280
7288
  With the default value of `S`, the S-unit group is the same as
7281
7289
  the global unit group::
@@ -7428,7 +7436,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
7428
7436
  sage: # needs fpylll sage.rings.padics sage.symbolic
7429
7437
  sage: solutions, bound = K.S_unit_solutions(S, prec=100, include_bound=True)
7430
7438
  sage: bound
7431
- 7
7439
+ 6
7432
7440
  """
7433
7441
  from .S_unit_solver import solve_S_unit_equation
7434
7442
  return solve_S_unit_equation(self, S, prec, include_exponents, include_bound, proof)
@@ -8786,10 +8794,40 @@ class NumberField_absolute(NumberField_generic):
8786
8794
  polynomials are supported (:issue:`252`)::
8787
8795
 
8788
8796
  sage: K.<a> = NumberField(2*x^4 + 6*x^2 + 1/2)
8789
- sage: K
8790
- Number Field in a with defining polynomial 2*x^4 + 6*x^2 + 1/2
8791
- sage: sorted([F.discriminant() for F, _, _ in K.subfields()])
8792
- [-8, -4, 1, 8, 256]
8797
+ sage: K.subfields()
8798
+ [(Number Field in a0 with defining polynomial x,
8799
+ Ring morphism:
8800
+ From: Number Field in a0 with defining polynomial x
8801
+ To: Number Field in a with defining polynomial 2*x^4 + 6*x^2 + 1/2
8802
+ Defn: 0 |--> 0,
8803
+ None),
8804
+ (Number Field in a1 with defining polynomial x^2 - 2,
8805
+ Ring morphism:
8806
+ From: Number Field in a1 with defining polynomial x^2 - 2
8807
+ To: Number Field in a with defining polynomial 2*x^4 + 6*x^2 + 1/2
8808
+ Defn: a1 |--> -a^2 - 3/2,
8809
+ None),
8810
+ (Number Field in a2 with defining polynomial x^2 + 4,
8811
+ Ring morphism:
8812
+ From: Number Field in a2 with defining polynomial x^2 + 4
8813
+ To: Number Field in a with defining polynomial 2*x^4 + 6*x^2 + 1/2
8814
+ Defn: a2 |--> 2*a^3 + 7*a,
8815
+ None),
8816
+ (Number Field in a3 with defining polynomial x^2 + 2,
8817
+ Ring morphism:
8818
+ From: Number Field in a3 with defining polynomial x^2 + 2
8819
+ To: Number Field in a with defining polynomial 2*x^4 + 6*x^2 + 1/2
8820
+ Defn: a3 |--> -2*a^3 - 5*a,
8821
+ None),
8822
+ (Number Field in a4 with defining polynomial x^4 + 1,
8823
+ Ring morphism:
8824
+ From: Number Field in a4 with defining polynomial x^4 + 1
8825
+ To: Number Field in a with defining polynomial 2*x^4 + 6*x^2 + 1/2
8826
+ Defn: a4 |--> -a^3 - 1/2*a^2 - 5/2*a - 3/4,
8827
+ Ring morphism:
8828
+ From: Number Field in a with defining polynomial 2*x^4 + 6*x^2 + 1/2
8829
+ To: Number Field in a4 with defining polynomial x^4 + 1
8830
+ Defn: a |--> 1/2*a4^3 + a4^2 + 1/2*a4)]
8793
8831
  """
8794
8832
  return self._subfields_helper(degree=degree, name=name,
8795
8833
  both_maps=True, optimize=False)