passagemath-flint 10.5.43__cp311-cp311-macosx_14_0_arm64.whl → 10.6.1rc2__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.
- {passagemath_flint-10.5.43.dist-info → passagemath_flint-10.6.1rc2.dist-info}/METADATA +5 -6
- {passagemath_flint-10.5.43.dist-info → passagemath_flint-10.6.1rc2.dist-info}/RECORD +102 -102
- passagemath_flint.dylibs/{libflint.19.0.dylib → libflint.20.0.dylib} +0 -0
- passagemath_flint.dylibs/libgf2x.3.dylib +0 -0
- passagemath_flint.dylibs/libmpfi.0.dylib +0 -0
- sage/combinat/posets/hasse_cython_flint.cpython-311-darwin.so +0 -0
- sage/data_structures/bounded_integer_sequences.cpython-311-darwin.so +0 -0
- sage/data_structures/bounded_integer_sequences.pyx +22 -20
- sage/graphs/chrompoly.cpython-311-darwin.so +0 -0
- sage/graphs/chrompoly.pyx +4 -3
- sage/graphs/matchpoly.cpython-311-darwin.so +0 -0
- sage/libs/arb/arith.cpython-311-darwin.so +0 -0
- sage/libs/flint/arith.cpython-311-darwin.so +0 -0
- sage/libs/flint/arith_sage.cpython-311-darwin.so +0 -0
- sage/libs/flint/flint.pxd +2 -2
- sage/libs/flint/flint_sage.cpython-311-darwin.so +0 -0
- sage/libs/flint/flint_wrap.h +4 -0
- sage/libs/flint/fmpq_poly_sage.cpython-311-darwin.so +0 -0
- sage/libs/flint/fmpz_factor_sage.cpython-311-darwin.so +0 -0
- sage/libs/flint/fmpz_poly.cpython-311-darwin.so +0 -0
- sage/libs/flint/fmpz_poly_sage.cpython-311-darwin.so +0 -0
- sage/libs/flint/nmod_poly_linkage.pxi +5 -4
- sage/libs/flint/qsieve.cpython-311-darwin.so +0 -0
- sage/libs/flint/qsieve_sage.cpython-311-darwin.so +0 -0
- sage/libs/flint/types.pxd +2 -2
- sage/libs/flint/ulong_extras.cpython-311-darwin.so +0 -0
- sage/libs/flint/ulong_extras_sage.cpython-311-darwin.so +0 -0
- sage/matrix/change_ring.cpython-311-darwin.so +0 -0
- sage/matrix/matrix_complex_ball_dense.cpython-311-darwin.so +0 -0
- sage/matrix/matrix_cyclo_dense.cpython-311-darwin.so +0 -0
- sage/matrix/matrix_cyclo_dense.pyx +3 -3
- sage/matrix/matrix_integer_dense.cpython-311-darwin.so +0 -0
- sage/matrix/matrix_integer_dense.pyx +50 -33
- sage/matrix/matrix_integer_sparse.cpython-311-darwin.so +0 -0
- sage/matrix/matrix_integer_sparse.pyx +1 -1
- sage/matrix/matrix_rational_dense.cpython-311-darwin.so +0 -0
- sage/matrix/matrix_rational_dense.pyx +64 -28
- sage/matrix/matrix_rational_sparse.cpython-311-darwin.so +0 -0
- sage/matrix/matrix_rational_sparse.pyx +3 -3
- sage/matrix/misc_flint.cpython-311-darwin.so +0 -0
- sage/modular/modform/eis_series_cython.cpython-311-darwin.so +0 -0
- sage/modular/modsym/apply.cpython-311-darwin.so +0 -0
- sage/modular/modsym/heilbronn.cpython-311-darwin.so +0 -0
- sage/modular/pollack_stevens/dist.cpython-311-darwin.so +0 -0
- sage/modular/pollack_stevens/dist.pyx +2 -2
- sage/quivers/algebra.py +2 -1
- sage/quivers/algebra_elements.cpython-311-darwin.so +0 -0
- sage/quivers/algebra_elements.pyx +5 -5
- sage/quivers/ar_quiver.py +21 -21
- sage/quivers/homspace.py +2 -1
- sage/quivers/morphism.py +31 -29
- sage/quivers/path_semigroup.py +14 -11
- sage/quivers/paths.cpython-311-darwin.so +0 -0
- sage/quivers/paths.pyx +2 -2
- sage/quivers/representation.py +22 -24
- sage/rings/complex_arb.cpython-311-darwin.so +0 -0
- sage/rings/complex_arb.pyx +37 -36
- sage/rings/complex_interval.cpython-311-darwin.so +0 -0
- sage/rings/convert/mpfi.cpython-311-darwin.so +0 -0
- sage/rings/factorint_flint.cpython-311-darwin.so +0 -0
- sage/rings/fraction_field_FpT.cpython-311-darwin.so +0 -0
- sage/rings/fraction_field_FpT.pyx +29 -0
- sage/rings/number_field/S_unit_solver.py +1 -1
- sage/rings/number_field/galois_group.py +1 -1
- sage/rings/number_field/morphism.py +3 -4
- sage/rings/number_field/number_field.py +97 -75
- sage/rings/number_field/number_field_element.cpython-311-darwin.so +0 -0
- sage/rings/number_field/number_field_element.pyx +72 -0
- sage/rings/number_field/number_field_element_quadratic.cpython-311-darwin.so +0 -0
- sage/rings/number_field/number_field_element_quadratic.pyx +35 -17
- sage/rings/number_field/number_field_morphisms.cpython-311-darwin.so +0 -0
- sage/rings/number_field/number_field_morphisms.pyx +2 -2
- sage/rings/number_field/number_field_rel.py +1 -1
- sage/rings/number_field/order.py +44 -47
- sage/rings/number_field/order_ideal.py +2 -5
- sage/rings/polynomial/evaluation_flint.cpython-311-darwin.so +0 -0
- sage/rings/polynomial/hilbert.cpython-311-darwin.so +0 -0
- sage/rings/polynomial/hilbert.pyx +3 -6
- sage/rings/polynomial/polynomial_complex_arb.cpython-311-darwin.so +0 -0
- sage/rings/polynomial/polynomial_integer_dense_flint.cpython-311-darwin.so +0 -0
- sage/rings/polynomial/polynomial_integer_dense_flint.pyx +3 -5
- sage/rings/polynomial/polynomial_number_field.cpython-311-darwin.so +0 -0
- sage/rings/polynomial/polynomial_rational_flint.cpython-311-darwin.so +0 -0
- sage/rings/polynomial/polynomial_rational_flint.pxd +3 -3
- sage/rings/polynomial/polynomial_rational_flint.pyx +24 -11
- sage/rings/polynomial/polynomial_zmod_flint.cpython-311-darwin.so +0 -0
- sage/rings/polynomial/polynomial_zmod_flint.pyx +3 -4
- sage/rings/polynomial/real_roots.cpython-311-darwin.so +0 -0
- sage/rings/polynomial/real_roots.pyx +1 -1
- sage/rings/polynomial/refine_root.cpython-311-darwin.so +0 -0
- sage/rings/polynomial/weil/weil_polynomials.cpython-311-darwin.so +0 -0
- sage/rings/polynomial/weil/weil_polynomials.pyx +1 -1
- sage/rings/qqbar.py +1 -1
- sage/rings/real_arb.cpython-311-darwin.so +0 -0
- sage/rings/real_arb.pyx +21 -10
- sage/rings/real_interval_absolute.cpython-311-darwin.so +0 -0
- sage/rings/real_mpfi.cpython-311-darwin.so +0 -0
- sage/rings/real_mpfi.pyx +14 -11
- sage/schemes/elliptic_curves/descent_two_isogeny.cpython-311-darwin.so +0 -0
- sage/schemes/elliptic_curves/descent_two_isogeny.pyx +11 -0
- {passagemath_flint-10.5.43.dist-info → passagemath_flint-10.6.1rc2.dist-info}/WHEEL +0 -0
- {passagemath_flint-10.5.43.dist-info → passagemath_flint-10.6.1rc2.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-
|
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-
|
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))
|
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
|
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
|
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
|
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))
|
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
|
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
|
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
|
957
|
+
Return a tuple of generators.
|
958
958
|
|
959
959
|
EXAMPLES::
|
960
960
|
|
961
961
|
sage: RIF.gens()
|
962
|
-
|
962
|
+
(1,)
|
963
963
|
"""
|
964
|
-
return
|
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
|
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
|
-
|
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.
|
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.
|
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.
|
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).
|
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.
|
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
|
"""
|
Binary file
|
@@ -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)
|
File without changes
|
File without changes
|