passagemath-flint 10.5.42__cp311-cp311-macosx_14_0_arm64.whl → 10.6.1rc1__cp311-cp311-macosx_14_0_arm64.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 (106) hide show
  1. {passagemath_flint-10.5.42.dist-info → passagemath_flint-10.6.1rc1.dist-info}/METADATA +5 -6
  2. {passagemath_flint-10.5.42.dist-info → passagemath_flint-10.6.1rc1.dist-info}/RECORD +106 -106
  3. passagemath_flint.dylibs/{libflint.19.0.dylib → libflint.20.0.dylib} +0 -0
  4. passagemath_flint.dylibs/libgcc_s.1.1.dylib +0 -0
  5. passagemath_flint.dylibs/libgf2x.3.dylib +0 -0
  6. passagemath_flint.dylibs/libgfortran.5.dylib +0 -0
  7. passagemath_flint.dylibs/libmpfi.0.dylib +0 -0
  8. passagemath_flint.dylibs/libopenblas_armv8p-r0.3.29.dylib +0 -0
  9. passagemath_flint.dylibs/libquadmath.0.dylib +0 -0
  10. sage/combinat/posets/hasse_cython_flint.cpython-311-darwin.so +0 -0
  11. sage/data_structures/bounded_integer_sequences.cpython-311-darwin.so +0 -0
  12. sage/data_structures/bounded_integer_sequences.pyx +22 -20
  13. sage/graphs/chrompoly.cpython-311-darwin.so +0 -0
  14. sage/graphs/chrompoly.pyx +4 -3
  15. sage/graphs/matchpoly.cpython-311-darwin.so +0 -0
  16. sage/libs/arb/arith.cpython-311-darwin.so +0 -0
  17. sage/libs/flint/arith.cpython-311-darwin.so +0 -0
  18. sage/libs/flint/arith_sage.cpython-311-darwin.so +0 -0
  19. sage/libs/flint/flint.pxd +2 -2
  20. sage/libs/flint/flint_sage.cpython-311-darwin.so +0 -0
  21. sage/libs/flint/flint_wrap.h +4 -0
  22. sage/libs/flint/fmpq_poly_sage.cpython-311-darwin.so +0 -0
  23. sage/libs/flint/fmpz_factor_sage.cpython-311-darwin.so +0 -0
  24. sage/libs/flint/fmpz_poly.cpython-311-darwin.so +0 -0
  25. sage/libs/flint/fmpz_poly_sage.cpython-311-darwin.so +0 -0
  26. sage/libs/flint/nmod_poly_linkage.pxi +5 -4
  27. sage/libs/flint/qsieve.cpython-311-darwin.so +0 -0
  28. sage/libs/flint/qsieve_sage.cpython-311-darwin.so +0 -0
  29. sage/libs/flint/types.pxd +2 -2
  30. sage/libs/flint/ulong_extras.cpython-311-darwin.so +0 -0
  31. sage/libs/flint/ulong_extras_sage.cpython-311-darwin.so +0 -0
  32. sage/matrix/change_ring.cpython-311-darwin.so +0 -0
  33. sage/matrix/matrix_complex_ball_dense.cpython-311-darwin.so +0 -0
  34. sage/matrix/matrix_cyclo_dense.cpython-311-darwin.so +0 -0
  35. sage/matrix/matrix_cyclo_dense.pyx +3 -3
  36. sage/matrix/matrix_integer_dense.cpython-311-darwin.so +0 -0
  37. sage/matrix/matrix_integer_dense.pyx +50 -33
  38. sage/matrix/matrix_integer_sparse.cpython-311-darwin.so +0 -0
  39. sage/matrix/matrix_integer_sparse.pyx +1 -1
  40. sage/matrix/matrix_rational_dense.cpython-311-darwin.so +0 -0
  41. sage/matrix/matrix_rational_dense.pyx +64 -28
  42. sage/matrix/matrix_rational_sparse.cpython-311-darwin.so +0 -0
  43. sage/matrix/matrix_rational_sparse.pyx +3 -3
  44. sage/matrix/misc_flint.cpython-311-darwin.so +0 -0
  45. sage/modular/modform/eis_series_cython.cpython-311-darwin.so +0 -0
  46. sage/modular/modsym/apply.cpython-311-darwin.so +0 -0
  47. sage/modular/modsym/heilbronn.cpython-311-darwin.so +0 -0
  48. sage/modular/pollack_stevens/dist.cpython-311-darwin.so +0 -0
  49. sage/modular/pollack_stevens/dist.pyx +2 -2
  50. sage/quivers/algebra.py +2 -1
  51. sage/quivers/algebra_elements.cpython-311-darwin.so +0 -0
  52. sage/quivers/algebra_elements.pyx +5 -5
  53. sage/quivers/ar_quiver.py +21 -21
  54. sage/quivers/homspace.py +2 -1
  55. sage/quivers/morphism.py +31 -29
  56. sage/quivers/path_semigroup.py +14 -11
  57. sage/quivers/paths.cpython-311-darwin.so +0 -0
  58. sage/quivers/paths.pyx +2 -2
  59. sage/quivers/representation.py +22 -24
  60. sage/rings/complex_arb.cpython-311-darwin.so +0 -0
  61. sage/rings/complex_arb.pyx +37 -36
  62. sage/rings/complex_interval.cpython-311-darwin.so +0 -0
  63. sage/rings/convert/mpfi.cpython-311-darwin.so +0 -0
  64. sage/rings/factorint_flint.cpython-311-darwin.so +0 -0
  65. sage/rings/fraction_field_FpT.cpython-311-darwin.so +0 -0
  66. sage/rings/fraction_field_FpT.pyx +29 -0
  67. sage/rings/number_field/S_unit_solver.py +1 -1
  68. sage/rings/number_field/galois_group.py +1 -1
  69. sage/rings/number_field/morphism.py +3 -4
  70. sage/rings/number_field/number_field.py +98 -76
  71. sage/rings/number_field/number_field_element.cpython-311-darwin.so +0 -0
  72. sage/rings/number_field/number_field_element.pyx +72 -0
  73. sage/rings/number_field/number_field_element_quadratic.cpython-311-darwin.so +0 -0
  74. sage/rings/number_field/number_field_element_quadratic.pyx +35 -17
  75. sage/rings/number_field/number_field_morphisms.cpython-311-darwin.so +0 -0
  76. sage/rings/number_field/number_field_morphisms.pyx +2 -2
  77. sage/rings/number_field/number_field_rel.py +1 -1
  78. sage/rings/number_field/order.py +44 -47
  79. sage/rings/number_field/order_ideal.py +2 -5
  80. sage/rings/polynomial/evaluation_flint.cpython-311-darwin.so +0 -0
  81. sage/rings/polynomial/hilbert.cpython-311-darwin.so +0 -0
  82. sage/rings/polynomial/hilbert.pyx +3 -6
  83. sage/rings/polynomial/polynomial_complex_arb.cpython-311-darwin.so +0 -0
  84. sage/rings/polynomial/polynomial_integer_dense_flint.cpython-311-darwin.so +0 -0
  85. sage/rings/polynomial/polynomial_integer_dense_flint.pyx +3 -5
  86. sage/rings/polynomial/polynomial_number_field.cpython-311-darwin.so +0 -0
  87. sage/rings/polynomial/polynomial_rational_flint.cpython-311-darwin.so +0 -0
  88. sage/rings/polynomial/polynomial_rational_flint.pxd +3 -3
  89. sage/rings/polynomial/polynomial_rational_flint.pyx +24 -11
  90. sage/rings/polynomial/polynomial_zmod_flint.cpython-311-darwin.so +0 -0
  91. sage/rings/polynomial/polynomial_zmod_flint.pyx +3 -4
  92. sage/rings/polynomial/real_roots.cpython-311-darwin.so +0 -0
  93. sage/rings/polynomial/real_roots.pyx +1 -1
  94. sage/rings/polynomial/refine_root.cpython-311-darwin.so +0 -0
  95. sage/rings/polynomial/weil/weil_polynomials.cpython-311-darwin.so +0 -0
  96. sage/rings/polynomial/weil/weil_polynomials.pyx +1 -1
  97. sage/rings/qqbar.py +1 -1
  98. sage/rings/real_arb.cpython-311-darwin.so +0 -0
  99. sage/rings/real_arb.pyx +21 -10
  100. sage/rings/real_interval_absolute.cpython-311-darwin.so +0 -0
  101. sage/rings/real_mpfi.cpython-311-darwin.so +0 -0
  102. sage/rings/real_mpfi.pyx +14 -11
  103. sage/schemes/elliptic_curves/descent_two_isogeny.cpython-311-darwin.so +0 -0
  104. sage/schemes/elliptic_curves/descent_two_isogeny.pyx +11 -0
  105. {passagemath_flint-10.5.42.dist-info → passagemath_flint-10.6.1rc1.dist-info}/WHEEL +0 -0
  106. {passagemath_flint-10.5.42.dist-info → passagemath_flint-10.6.1rc1.dist-info}/top_level.txt +0 -0
sage/rings/qqbar.py CHANGED
@@ -8665,7 +8665,7 @@ class ANBinaryExpr(ANDescr):
8665
8665
  sage: n = sqrt(AA(2)) + one
8666
8666
  sage: one == 1 # needs sage.symbolic
8667
8667
  True
8668
- sage: sage_input(n)
8668
+ sage: sage_input(n) # needs sage.symbolic
8669
8669
  R.<x> = AA[]
8670
8670
  QQbar.polynomial_root(AA.common_polynomial(x^2 - 2), RIF(RR(1.4142135623730949), RR(1.4142135623730951))) + 1
8671
8671
  sage: from sage.rings.qqbar import *
Binary file
sage/rings/real_arb.pyx CHANGED
@@ -581,7 +581,7 @@ class RealBallField(UniqueRepresentation, sage.rings.abc.RealBallField):
581
581
 
582
582
  return super()._repr_option(key)
583
583
 
584
- def gens(self):
584
+ def gens(self) -> tuple:
585
585
  r"""
586
586
  EXAMPLES::
587
587
 
@@ -3111,6 +3111,17 @@ cdef class RealBall(RingElement):
3111
3111
  raise TypeError("unsupported operand type(s) for >>: '{}' and '{}'"
3112
3112
  .format(type(val).__name__, type(shift).__name__))
3113
3113
 
3114
+ def conjugate(self):
3115
+ r"""
3116
+ Return the conjugate of this ball.
3117
+
3118
+ EXAMPLES::
3119
+
3120
+ sage: RBF(1).conjugate()
3121
+ 1.000000000000000
3122
+ """
3123
+ return self
3124
+
3114
3125
  # Elementary functions
3115
3126
 
3116
3127
  def log(self, base=None):
@@ -3536,12 +3547,12 @@ cdef class RealBall(RingElement):
3536
3547
 
3537
3548
  EXAMPLES::
3538
3549
 
3539
- sage: RBF(1).Ei() # abs tol 5e-16
3550
+ sage: RBF(1).Ei() # abs tol 5e-15
3540
3551
  [1.89511781635594 +/- 4.94e-15]
3541
3552
 
3542
3553
  TESTS::
3543
3554
 
3544
- sage: RBF(Ei(1)) # abs tol 5e-16 # needs sage.symbolic
3555
+ sage: RBF(Ei(1)) # abs tol 5e-15 # needs sage.symbolic
3545
3556
  [1.89511781635594 +/- 4.94e-15]
3546
3557
  """
3547
3558
  cdef RealBall res = self._new()
@@ -3600,12 +3611,12 @@ cdef class RealBall(RingElement):
3600
3611
 
3601
3612
  EXAMPLES::
3602
3613
 
3603
- sage: RBF(1).Shi()
3614
+ sage: RBF(1).Shi() # abs tol 5e-15
3604
3615
  [1.05725087537573 +/- 2.77e-15]
3605
3616
 
3606
3617
  TESTS::
3607
3618
 
3608
- sage: RBF(Shi(1)) # needs sage.symbolic
3619
+ sage: RBF(Shi(1)) # abs tol 5e-15 # needs sage.symbolic
3609
3620
  [1.05725087537573 +/- 2.77e-15]
3610
3621
  """
3611
3622
  cdef RealBall res = self._new()
@@ -3622,12 +3633,12 @@ cdef class RealBall(RingElement):
3622
3633
 
3623
3634
  EXAMPLES::
3624
3635
 
3625
- sage: RBF(1).Chi() # abs tol 1e-17
3636
+ sage: RBF(1).Chi() # abs tol 5e-16
3626
3637
  [0.837866940980208 +/- 4.72e-16]
3627
3638
 
3628
3639
  TESTS::
3629
3640
 
3630
- sage: RBF(Chi(1)) # abs tol 1e-17 # needs sage.symbolic
3641
+ sage: RBF(Chi(1)) # abs tol 5e-16 # needs sage.symbolic
3631
3642
  [0.837866940980208 +/- 4.72e-16]
3632
3643
  """
3633
3644
  cdef RealBall res = self._new()
@@ -3644,14 +3655,14 @@ cdef class RealBall(RingElement):
3644
3655
 
3645
3656
  EXAMPLES::
3646
3657
 
3647
- sage: RBF(3).li() # abs tol 1e-15
3658
+ sage: RBF(3).li() # abs tol 5e-15
3648
3659
  [2.16358859466719 +/- 4.72e-15]
3649
3660
 
3650
3661
  TESTS::
3651
3662
 
3652
3663
  sage: RBF(li(0)) # needs sage.symbolic
3653
3664
  0
3654
- sage: RBF(Li(0)) # needs sage.symbolic
3665
+ sage: RBF(Li(0)) # abs tol 5e-15 # needs sage.symbolic
3655
3666
  [-1.04516378011749 +/- 4.23e-15]
3656
3667
  """
3657
3668
  cdef RealBall res = self._new()
@@ -3668,7 +3679,7 @@ cdef class RealBall(RingElement):
3668
3679
 
3669
3680
  EXAMPLES::
3670
3681
 
3671
- sage: RBF(3).Li() # abs tol 1e-15
3682
+ sage: RBF(3).Li() # abs tol 5e-15
3672
3683
  [1.11842481454970 +/- 7.61e-15]
3673
3684
  """
3674
3685
  cdef RealBall res = self._new()
Binary file
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)