passagemath-flint 10.5.43__cp312-cp312-musllinux_1_2_aarch64.whl → 10.6.1rc1__cp312-cp312-musllinux_1_2_aarch64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. {passagemath_flint-10.5.43.dist-info → passagemath_flint-10.6.1rc1.dist-info}/METADATA +5 -6
  2. {passagemath_flint-10.5.43.dist-info → passagemath_flint-10.6.1rc1.dist-info}/RECORD +100 -100
  3. passagemath_flint.libs/{libflint-7dd7ad94.so.19.0.0 → libflint-4ce13791.so.20.0.1} +0 -0
  4. sage/combinat/posets/hasse_cython_flint.cpython-312-aarch64-linux-musl.so +0 -0
  5. sage/data_structures/bounded_integer_sequences.cpython-312-aarch64-linux-musl.so +0 -0
  6. sage/data_structures/bounded_integer_sequences.pyx +22 -20
  7. sage/graphs/chrompoly.cpython-312-aarch64-linux-musl.so +0 -0
  8. sage/graphs/chrompoly.pyx +4 -3
  9. sage/graphs/matchpoly.cpython-312-aarch64-linux-musl.so +0 -0
  10. sage/libs/arb/arith.cpython-312-aarch64-linux-musl.so +0 -0
  11. sage/libs/flint/arith.cpython-312-aarch64-linux-musl.so +0 -0
  12. sage/libs/flint/arith_sage.cpython-312-aarch64-linux-musl.so +0 -0
  13. sage/libs/flint/flint.pxd +2 -2
  14. sage/libs/flint/flint_sage.cpython-312-aarch64-linux-musl.so +0 -0
  15. sage/libs/flint/flint_wrap.h +4 -0
  16. sage/libs/flint/fmpq_poly_sage.cpython-312-aarch64-linux-musl.so +0 -0
  17. sage/libs/flint/fmpz_factor_sage.cpython-312-aarch64-linux-musl.so +0 -0
  18. sage/libs/flint/fmpz_poly.cpython-312-aarch64-linux-musl.so +0 -0
  19. sage/libs/flint/fmpz_poly_sage.cpython-312-aarch64-linux-musl.so +0 -0
  20. sage/libs/flint/nmod_poly_linkage.pxi +5 -4
  21. sage/libs/flint/qsieve.cpython-312-aarch64-linux-musl.so +0 -0
  22. sage/libs/flint/qsieve_sage.cpython-312-aarch64-linux-musl.so +0 -0
  23. sage/libs/flint/types.pxd +2 -2
  24. sage/libs/flint/ulong_extras.cpython-312-aarch64-linux-musl.so +0 -0
  25. sage/libs/flint/ulong_extras_sage.cpython-312-aarch64-linux-musl.so +0 -0
  26. sage/matrix/change_ring.cpython-312-aarch64-linux-musl.so +0 -0
  27. sage/matrix/matrix_complex_ball_dense.cpython-312-aarch64-linux-musl.so +0 -0
  28. sage/matrix/matrix_cyclo_dense.cpython-312-aarch64-linux-musl.so +0 -0
  29. sage/matrix/matrix_cyclo_dense.pyx +3 -3
  30. sage/matrix/matrix_integer_dense.cpython-312-aarch64-linux-musl.so +0 -0
  31. sage/matrix/matrix_integer_dense.pyx +50 -33
  32. sage/matrix/matrix_integer_sparse.cpython-312-aarch64-linux-musl.so +0 -0
  33. sage/matrix/matrix_integer_sparse.pyx +1 -1
  34. sage/matrix/matrix_rational_dense.cpython-312-aarch64-linux-musl.so +0 -0
  35. sage/matrix/matrix_rational_dense.pyx +64 -28
  36. sage/matrix/matrix_rational_sparse.cpython-312-aarch64-linux-musl.so +0 -0
  37. sage/matrix/matrix_rational_sparse.pyx +3 -3
  38. sage/matrix/misc_flint.cpython-312-aarch64-linux-musl.so +0 -0
  39. sage/modular/modform/eis_series_cython.cpython-312-aarch64-linux-musl.so +0 -0
  40. sage/modular/modsym/apply.cpython-312-aarch64-linux-musl.so +0 -0
  41. sage/modular/modsym/heilbronn.cpython-312-aarch64-linux-musl.so +0 -0
  42. sage/modular/pollack_stevens/dist.cpython-312-aarch64-linux-musl.so +0 -0
  43. sage/modular/pollack_stevens/dist.pyx +2 -2
  44. sage/quivers/algebra.py +2 -1
  45. sage/quivers/algebra_elements.cpython-312-aarch64-linux-musl.so +0 -0
  46. sage/quivers/algebra_elements.pyx +5 -5
  47. sage/quivers/ar_quiver.py +21 -21
  48. sage/quivers/homspace.py +2 -1
  49. sage/quivers/morphism.py +31 -29
  50. sage/quivers/path_semigroup.py +14 -11
  51. sage/quivers/paths.cpython-312-aarch64-linux-musl.so +0 -0
  52. sage/quivers/paths.pyx +2 -2
  53. sage/quivers/representation.py +22 -24
  54. sage/rings/complex_arb.cpython-312-aarch64-linux-musl.so +0 -0
  55. sage/rings/complex_arb.pyx +37 -36
  56. sage/rings/complex_interval.cpython-312-aarch64-linux-musl.so +0 -0
  57. sage/rings/convert/mpfi.cpython-312-aarch64-linux-musl.so +0 -0
  58. sage/rings/factorint_flint.cpython-312-aarch64-linux-musl.so +0 -0
  59. sage/rings/fraction_field_FpT.cpython-312-aarch64-linux-musl.so +0 -0
  60. sage/rings/fraction_field_FpT.pyx +29 -0
  61. sage/rings/number_field/S_unit_solver.py +1 -1
  62. sage/rings/number_field/galois_group.py +1 -1
  63. sage/rings/number_field/morphism.py +3 -4
  64. sage/rings/number_field/number_field.py +97 -75
  65. sage/rings/number_field/number_field_element.cpython-312-aarch64-linux-musl.so +0 -0
  66. sage/rings/number_field/number_field_element.pyx +72 -0
  67. sage/rings/number_field/number_field_element_quadratic.cpython-312-aarch64-linux-musl.so +0 -0
  68. sage/rings/number_field/number_field_element_quadratic.pyx +35 -17
  69. sage/rings/number_field/number_field_morphisms.cpython-312-aarch64-linux-musl.so +0 -0
  70. sage/rings/number_field/number_field_morphisms.pyx +2 -2
  71. sage/rings/number_field/number_field_rel.py +1 -1
  72. sage/rings/number_field/order.py +44 -47
  73. sage/rings/number_field/order_ideal.py +2 -5
  74. sage/rings/polynomial/evaluation_flint.cpython-312-aarch64-linux-musl.so +0 -0
  75. sage/rings/polynomial/hilbert.cpython-312-aarch64-linux-musl.so +0 -0
  76. sage/rings/polynomial/hilbert.pyx +3 -6
  77. sage/rings/polynomial/polynomial_complex_arb.cpython-312-aarch64-linux-musl.so +0 -0
  78. sage/rings/polynomial/polynomial_integer_dense_flint.cpython-312-aarch64-linux-musl.so +0 -0
  79. sage/rings/polynomial/polynomial_integer_dense_flint.pyx +3 -5
  80. sage/rings/polynomial/polynomial_number_field.cpython-312-aarch64-linux-musl.so +0 -0
  81. sage/rings/polynomial/polynomial_rational_flint.cpython-312-aarch64-linux-musl.so +0 -0
  82. sage/rings/polynomial/polynomial_rational_flint.pxd +3 -3
  83. sage/rings/polynomial/polynomial_rational_flint.pyx +24 -11
  84. sage/rings/polynomial/polynomial_zmod_flint.cpython-312-aarch64-linux-musl.so +0 -0
  85. sage/rings/polynomial/polynomial_zmod_flint.pyx +3 -4
  86. sage/rings/polynomial/real_roots.cpython-312-aarch64-linux-musl.so +0 -0
  87. sage/rings/polynomial/real_roots.pyx +1 -1
  88. sage/rings/polynomial/refine_root.cpython-312-aarch64-linux-musl.so +0 -0
  89. sage/rings/polynomial/weil/weil_polynomials.cpython-312-aarch64-linux-musl.so +0 -0
  90. sage/rings/polynomial/weil/weil_polynomials.pyx +1 -1
  91. sage/rings/qqbar.py +1 -1
  92. sage/rings/real_arb.cpython-312-aarch64-linux-musl.so +0 -0
  93. sage/rings/real_arb.pyx +21 -10
  94. sage/rings/real_interval_absolute.cpython-312-aarch64-linux-musl.so +0 -0
  95. sage/rings/real_mpfi.cpython-312-aarch64-linux-musl.so +0 -0
  96. sage/rings/real_mpfi.pyx +14 -11
  97. sage/schemes/elliptic_curves/descent_two_isogeny.cpython-312-aarch64-linux-musl.so +0 -0
  98. sage/schemes/elliptic_curves/descent_two_isogeny.pyx +11 -0
  99. {passagemath_flint-10.5.43.dist-info → passagemath_flint-10.6.1rc1.dist-info}/WHEEL +0 -0
  100. {passagemath_flint-10.5.43.dist-info → passagemath_flint-10.6.1rc1.dist-info}/top_level.txt +0 -0
sage/rings/real_mpfi.pyx CHANGED
@@ -952,16 +952,16 @@ cdef class RealIntervalField_class(sage.rings.abc.RealIntervalField):
952
952
  """
953
953
  return 1
954
954
 
955
- def gens(self):
955
+ def gens(self) -> tuple:
956
956
  """
957
- Return a list of generators.
957
+ Return a tuple of generators.
958
958
 
959
959
  EXAMPLES::
960
960
 
961
961
  sage: RIF.gens()
962
- [1]
962
+ (1,)
963
963
  """
964
- return [self.gen()]
964
+ return (self.gen(),)
965
965
 
966
966
  def _is_valid_homomorphism_(self, codomain, im_gens, base_map=None):
967
967
  """
@@ -5004,7 +5004,7 @@ cdef class RealIntervalFieldElement(RingElement):
5004
5004
  """
5005
5005
  return (~self).arctanh()
5006
5006
 
5007
- def algdep(self, n):
5007
+ def algebraic_dependency(self, n):
5008
5008
  r"""
5009
5009
  Return a polynomial of degree at most `n` which is
5010
5010
  approximately satisfied by ``self``.
@@ -5020,13 +5020,13 @@ cdef class RealIntervalFieldElement(RingElement):
5020
5020
 
5021
5021
  ALGORITHM:
5022
5022
 
5023
- Uses the PARI C-library ``algdep`` command.
5023
+ This uses the PARI C-library :pari:`algdep` command.
5024
5024
 
5025
5025
  EXAMPLES::
5026
5026
 
5027
5027
  sage: r = sqrt(RIF(2)); r
5028
5028
  1.414213562373095?
5029
- sage: r.algdep(5) # needs fpylll
5029
+ sage: r.algebraic_dependency(5) # needs fpylll
5030
5030
  x^2 - 2
5031
5031
 
5032
5032
  If we compute a wrong, but precise, interval, we get a wrong
@@ -5034,7 +5034,7 @@ cdef class RealIntervalFieldElement(RingElement):
5034
5034
 
5035
5035
  sage: r = sqrt(RealIntervalField(200)(2)) + (1/2)^40; r
5036
5036
  1.414213562374004543503461652447613117632171875376948073176680?
5037
- sage: r.algdep(5) # needs fpylll
5037
+ sage: r.algebraic_dependency(5) # needs fpylll
5038
5038
  7266488*x^5 + 22441629*x^4 - 90470501*x^3 + 23297703*x^2 + 45778664*x + 13681026
5039
5039
 
5040
5040
  But if we compute an interval that includes the number we mean,
@@ -5042,13 +5042,13 @@ cdef class RealIntervalFieldElement(RingElement):
5042
5042
  interval is very imprecise::
5043
5043
 
5044
5044
  sage: r = r.union(sqrt(2.0))
5045
- sage: r.algdep(5) # needs fpylll
5045
+ sage: r.algebraic_dependency(5) # needs fpylll
5046
5046
  x^2 - 2
5047
5047
 
5048
5048
  Even on this extremely imprecise interval we get an answer which is
5049
5049
  technically correct::
5050
5050
 
5051
- sage: RIF(-1, 1).algdep(5) # needs fpylll
5051
+ sage: RIF(-1, 1).algebraic_dependency(5) # needs fpylll
5052
5052
  x
5053
5053
  """
5054
5054
  # If 0 is in the interval, then we have no known bits! But
@@ -5061,7 +5061,10 @@ cdef class RealIntervalFieldElement(RingElement):
5061
5061
 
5062
5062
  known_bits = -self.relative_diameter().log2()
5063
5063
 
5064
- return sage.arith.misc.algdep(self.center(), n, known_bits=known_bits)
5064
+ return sage.arith.misc.algebraic_dependency(self.center(),
5065
+ n, known_bits=known_bits)
5066
+
5067
+ algdep = algebraic_dependency
5065
5068
 
5066
5069
  def factorial(self):
5067
5070
  """
@@ -974,6 +974,8 @@ cdef int everywhere_locally_soluble(mpz_t a, mpz_t b, mpz_t c, mpz_t d, mpz_t e)
974
974
 
975
975
  # Odd finite primes
976
976
  Delta = f.discriminant()
977
+ if not Delta:
978
+ raise ValueError("the curve is singular, Delta is zero")
977
979
  for p in prime_divisors(Delta):
978
980
  if p == 2:
979
981
  continue
@@ -998,6 +1000,15 @@ def test_els(a, b, c, d, e):
998
1000
  ....: print("This never happened", a, b, c, d, e)
999
1001
  ....: except ValueError:
1000
1002
  ....: continue
1003
+
1004
+ TESTS:
1005
+
1006
+ Check that :issue:`39864` is fixed::
1007
+
1008
+ sage: test_els(194, 617, 846, 617, 194)
1009
+ Traceback (most recent call last):
1010
+ ...
1011
+ ValueError: the curve is singular, Delta is zero
1001
1012
  """
1002
1013
  cdef Integer A, B, C, D, E
1003
1014
  A = Integer(a)