diff options
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | PKGBUILD | 4 | ||||
-rw-r--r-- | sagemath-pari-2.13.patch | 116 | ||||
-rw-r--r-- | sagemath-singular-4.1.2.patch | 54 |
4 files changed, 89 insertions, 89 deletions
@@ -103,9 +103,9 @@ pkgbase = sagemath-git sha256sums = 4fb46b12b5ee5e5bde87f646dc69a7b8929886be247e2d9a9ae1f12efbe5b580 sha256sums = af922e1f978821a9a1f6c9a56130d71e5011c84a7aee7bf66a591bee658af30b sha256sums = 7da0dbcda15a327c21dc33853cb8f98cb86a283139f8735e3b20a71d49458a88 - sha256sums = 881186d016a6eb47b919765b9d4e6abc4560fce54e08cf42bd948ba77e16aa85 + sha256sums = e6ce1829347fa588096cd975c5d607ae8d32d407f0bab2cdadd13e1bfb99494d sha256sums = 34f06f9776f84f6998b1350555316e0ffea76ed16e149916970f19ef750a467f - sha256sums = 84875c90268436cb6a740a4e1bffd70b4895458ef9e1ee268a3c4aa0564e893f + sha256sums = 58cfc3826d123a6c7293e5db382dc111b9df0ad192dc30e4d1df373d0aff7ec2 pkgname = sagemath-git optdepends = cython: to compile cython code @@ -46,9 +46,9 @@ sha256sums=('SKIP' '4fb46b12b5ee5e5bde87f646dc69a7b8929886be247e2d9a9ae1f12efbe5b580' 'af922e1f978821a9a1f6c9a56130d71e5011c84a7aee7bf66a591bee658af30b' '7da0dbcda15a327c21dc33853cb8f98cb86a283139f8735e3b20a71d49458a88' - '881186d016a6eb47b919765b9d4e6abc4560fce54e08cf42bd948ba77e16aa85' + 'e6ce1829347fa588096cd975c5d607ae8d32d407f0bab2cdadd13e1bfb99494d' '34f06f9776f84f6998b1350555316e0ffea76ed16e149916970f19ef750a467f' - '84875c90268436cb6a740a4e1bffd70b4895458ef9e1ee268a3c4aa0564e893f') + '58cfc3826d123a6c7293e5db382dc111b9df0ad192dc30e4d1df373d0aff7ec2') pkgver() { cd sage diff --git a/sagemath-pari-2.13.patch b/sagemath-pari-2.13.patch index bf9bccfc41bf..64966b005a36 100644 --- a/sagemath-pari-2.13.patch +++ b/sagemath-pari-2.13.patch @@ -1,5 +1,5 @@ diff --git a/src/sage/arith/misc.py b/src/sage/arith/misc.py -index ba100c4a83..8aa96d8e14 100644 +index 53d9683279..564b99044f 100644 --- a/src/sage/arith/misc.py +++ b/src/sage/arith/misc.py @@ -1458,13 +1458,13 @@ def divisors(n): @@ -341,7 +341,7 @@ index 33aa4d2d46..b506227cff 100644 R = RealField(prec) C = ComplexField(prec) diff --git a/src/sage/libs/pari/tests.py b/src/sage/libs/pari/tests.py -index 415a707fe8..6a3626f308 100644 +index eb1c04f1e6..40329aea82 100644 --- a/src/sage/libs/pari/tests.py +++ b/src/sage/libs/pari/tests.py @@ -135,7 +135,7 @@ Some more exotic examples:: @@ -379,7 +379,7 @@ index 415a707fe8..6a3626f308 100644 sage: pari('x+1').conj() x + 1 -@@ -763,7 +763,7 @@ Transcendental functions:: +@@ -767,7 +767,7 @@ Transcendental functions:: sage: pari(2).besseli(3+i) 1.12539407613913 + 2.08313822670661*I sage: C.<i> = ComplexField() @@ -388,7 +388,7 @@ index 415a707fe8..6a3626f308 100644 -0.280775566958244 - 0.486708533223726*I sage: pari(1.5).cos() -@@ -818,7 +818,7 @@ Transcendental functions:: +@@ -822,7 +822,7 @@ Transcendental functions:: sage: pari(-1).gamma() Traceback (most recent call last): ... @@ -397,7 +397,7 @@ index 415a707fe8..6a3626f308 100644 sage: pari(2).gammah() 1.32934038817914 -@@ -1629,7 +1624,7 @@ General number fields:: +@@ -1633,7 +1633,7 @@ General number fields:: sage: x = QQ['x'].0; nf = pari(x^2 + 2).nfinit() sage: nf.nfgaloisconj() @@ -406,7 +406,7 @@ index 415a707fe8..6a3626f308 100644 sage: nf = pari(x^3 + 2).nfinit() sage: nf.nfgaloisconj() [x]~ -@@ -1672,7 +1667,7 @@ General number fields:: +@@ -1676,7 +1676,7 @@ General number fields:: [[1, [7605, 4]~, [5610, 5]~, [7913, -6]~; 0, 1, 0, -1; 0, 0, 1, 0; 0, 0, 0, 1], [[19320, 13720; 0, 56], [2, 1; 0, 1], 1, 1]] sage: pari('x^3 - 17').nfinit() @@ -415,7 +415,7 @@ index 415a707fe8..6a3626f308 100644 sage: pari('x^2 + 10^100 + 1').nfinit() [...] sage: pari('1.0').nfinit() -@@ -1733,7 +1728,7 @@ General number fields:: +@@ -1737,7 +1737,7 @@ General number fields:: sage: pari(-23).quadhilbert() x^3 - x^2 + 1 sage: pari(145).quadhilbert() @@ -424,7 +424,7 @@ index 415a707fe8..6a3626f308 100644 sage: pari(-12).quadhilbert() # Not fundamental Traceback (most recent call last): ... -@@ -1758,7 +1753,7 @@ library:: +@@ -1762,7 +1762,7 @@ library:: sage: e = pari([0,0,0,-82,0]).ellinit() sage: eta1 = e.elleta(precision=100)[0] sage: eta1.sage() @@ -434,7 +434,7 @@ index 415a707fe8..6a3626f308 100644 sage: eta1.sage() 3.60546360143265208591582056420772677481026899659802474544 diff --git a/src/sage/matrix/matrix1.pyx b/src/sage/matrix/matrix1.pyx -index 689195dc85..6bca9e19ca 100644 +index 0455c169fe..4fa3cb9b2d 100644 --- a/src/sage/matrix/matrix1.pyx +++ b/src/sage/matrix/matrix1.pyx @@ -87,7 +87,7 @@ cdef class Matrix(Matrix0): @@ -447,7 +447,7 @@ index 689195dc85..6bca9e19ca 100644 from sage.libs.pari.all import pari return pari.matrix(self._nrows, self._ncols, self._list()) diff --git a/src/sage/modular/local_comp/liftings.py b/src/sage/modular/local_comp/liftings.py -index 5d7be71f16..5ed77f1785 100644 +index 91bfd2448d..f9bf800b22 100644 --- a/src/sage/modular/local_comp/liftings.py +++ b/src/sage/modular/local_comp/liftings.py @@ -222,9 +222,9 @@ def lift_for_SL(A, N=None): @@ -492,10 +492,10 @@ index 7a91d353e3..b71fc8aac4 100644 True """ diff --git a/src/sage/modular/multiple_zeta.py b/src/sage/modular/multiple_zeta.py -index 540e29d0e5..9083303db3 100644 +index 4c8718f3be..c195adad4d 100644 --- a/src/sage/modular/multiple_zeta.py +++ b/src/sage/modular/multiple_zeta.py -@@ -455,7 +455,7 @@ class MultizetaValues(UniqueRepresentation): +@@ -457,7 +457,7 @@ class MultizetaValues(UniqueRepresentation): """ self.prec = int(prec) self.max_weight = int(max_weight) @@ -558,7 +558,7 @@ index 53857d31a0..6557b7f308 100644 return repr(self.vector()) diff --git a/src/sage/modules/fg_pid/fgp_module.py b/src/sage/modules/fg_pid/fgp_module.py -index b111d7fb32..c518d7479a 100644 +index a5597dfe1d..a002cf5ce3 100644 --- a/src/sage/modules/fg_pid/fgp_module.py +++ b/src/sage/modules/fg_pid/fgp_module.py @@ -70,17 +70,17 @@ the technical note has a V that need not be equal to V0, in general. :: @@ -595,7 +595,7 @@ index b111d7fb32..c518d7479a 100644 sage: x.additive_order() 16 -@@ -143,7 +143,7 @@ You can explicitly coerce elements of the kernel into M0 though. :: +@@ -144,7 +144,7 @@ You can explicitly coerce elements of the kernel into M0 though. :: sage: M0(K.0) (2, 0) sage: M0(K.1) @@ -604,7 +604,7 @@ index b111d7fb32..c518d7479a 100644 sage: f(M0(K.0)) (0) sage: f(M0(K.1)) -@@ -179,7 +179,7 @@ TESTS:: +@@ -180,7 +180,7 @@ TESTS:: sage: Q.linear_combination_of_smith_form_gens([1,3]) (1, 3) sage: Q(V([1,3,4])) @@ -613,7 +613,7 @@ index b111d7fb32..c518d7479a 100644 sage: Q(W([1,16,0])) (0, 0) sage: V = span([[1/2,1,1],[3/2,2,1],[0,0,1]],QQ) -@@ -632,7 +632,7 @@ class FGP_Module_class(Module): +@@ -633,7 +633,7 @@ class FGP_Module_class(Module): sage: W = V.span([2*V.0+4*V.1, 9*V.0+12*V.1, 4*V.2]) sage: Q = V/W sage: x = Q(V.0-V.1); x # indirect doctest @@ -622,7 +622,7 @@ index b111d7fb32..c518d7479a 100644 sage: type(x) <class 'sage.modules.fg_pid.fgp_module.FGP_Module_class_with_category.element_class'> sage: x is Q(x) -@@ -931,9 +931,9 @@ class FGP_Module_class(Module): +@@ -932,9 +932,9 @@ class FGP_Module_class(Module): sage: Q = V/W sage: Q._smith_form() ( @@ -635,7 +635,7 @@ index b111d7fb32..c518d7479a 100644 ) """ return self._relative_matrix().smith_form() -@@ -1026,7 +1026,7 @@ class FGP_Module_class(Module): +@@ -1027,7 +1027,7 @@ class FGP_Module_class(Module): sage: Q.smith_form_gens() ((1, 0), (0, 1)) sage: [x.lift() for x in Q.smith_form_gens()] @@ -644,7 +644,7 @@ index b111d7fb32..c518d7479a 100644 """ # Get the rightmost transformation in the Smith form _, _, X = self._smith_form() -@@ -1067,18 +1067,18 @@ class FGP_Module_class(Module): +@@ -1068,18 +1068,18 @@ class FGP_Module_class(Module): [ 0 0 0 1/3 0] [ 0 0 0 0 2/3] sage: D.gens_to_smith() @@ -672,7 +672,7 @@ index b111d7fb32..c518d7479a 100644 The matrix `T` now satisfies a certain congruence:: -@@ -1120,14 +1120,14 @@ class FGP_Module_class(Module): +@@ -1121,14 +1121,14 @@ class FGP_Module_class(Module): [ 0 0 0 1/3 0] [ 0 0 0 0 2/3] sage: D.smith_to_gens() @@ -693,7 +693,7 @@ index b111d7fb32..c518d7479a 100644 This matrix satisfies the congruence:: -@@ -1148,7 +1148,7 @@ class FGP_Module_class(Module): +@@ -1149,7 +1149,7 @@ class FGP_Module_class(Module): of the user defined generators that is x:: sage: x.vector() * D.smith_to_gens() @@ -702,7 +702,7 @@ index b111d7fb32..c518d7479a 100644 """ if self.base_ring() != ZZ: # it is not -@@ -1196,7 +1196,7 @@ class FGP_Module_class(Module): +@@ -1197,7 +1197,7 @@ class FGP_Module_class(Module): sage: gens = [V(g) for g in gens] sage: D = FGP_with_gens(V, W, gens) sage: D.gens() @@ -711,7 +711,7 @@ index b111d7fb32..c518d7479a 100644 We create some element of D:: -@@ -1209,12 +1209,12 @@ class FGP_Module_class(Module): +@@ -1210,12 +1210,12 @@ class FGP_Module_class(Module): sage: v = D.gens_vector(x) sage: v @@ -726,7 +726,7 @@ index b111d7fb32..c518d7479a 100644 Let us check:: -@@ -1278,28 +1278,28 @@ class FGP_Module_class(Module): +@@ -1279,28 +1279,28 @@ class FGP_Module_class(Module): sage: O.V() Free module of degree 3 and rank 2 over Integer Ring User basis matrix: @@ -767,7 +767,7 @@ index b111d7fb32..c518d7479a 100644 True """ try: -@@ -1407,8 +1407,8 @@ class FGP_Module_class(Module): +@@ -1408,8 +1408,8 @@ class FGP_Module_class(Module): sage: O.V() Free module of degree 3 and rank 2 over Integer Ring User basis matrix: @@ -778,7 +778,7 @@ index b111d7fb32..c518d7479a 100644 sage: O.W() Free module of degree 3 and rank 2 over Integer Ring Echelon basis matrix: -@@ -1699,7 +1699,7 @@ class FGP_Module_class(Module): +@@ -1700,7 +1700,7 @@ class FGP_Module_class(Module): sage: V = span([[1/2,1,1],[3/2,2,1],[0,0,1]],ZZ); W = V.span([2*V.0+4*V.1, 9*V.0+12*V.1, 4*V.2]) sage: Q = V/W sage: Q.random_element() @@ -900,7 +900,7 @@ index 80cf269cc0..9cb22461a0 100644 sage: b.multiplicative_order() 9094947017729282379150390624 diff --git a/src/sage/rings/finite_rings/integer_mod_ring.py b/src/sage/rings/finite_rings/integer_mod_ring.py -index d5072839b2..315aa4f9be 100644 +index 79ed150464..a10f10d883 100644 --- a/src/sage/rings/finite_rings/integer_mod_ring.py +++ b/src/sage/rings/finite_rings/integer_mod_ring.py @@ -627,7 +627,7 @@ class IntegerModRing_generic(quotient_ring.QuotientRing_generic): @@ -975,10 +975,10 @@ index cd4c2212c3..007a68e4c0 100644 sage: c = OK(a) sage: b = k(a); b diff --git a/src/sage/rings/integer.pyx b/src/sage/rings/integer.pyx -index 4c835d0697..650669e1e1 100644 +index 77a3a18913..421a90e10e 100644 --- a/src/sage/rings/integer.pyx +++ b/src/sage/rings/integer.pyx -@@ -5451,7 +5451,7 @@ cdef class Integer(sage.structure.element.EuclideanDomainElement): +@@ -5474,7 +5474,7 @@ cdef class Integer(sage.structure.element.EuclideanDomainElement): sage: 3._bnfisnorm(QuadraticField(-1, 'i')) (1, 3) sage: 7._bnfisnorm(CyclotomicField(7)) @@ -1097,10 +1097,10 @@ index 46d0ca8c9d..1ad6d583a8 100644 if isinstance(args[0], FractionalIdealClass): return self.element_class(self, None, self._number_field.ideal(args[0].ideal())) diff --git a/src/sage/rings/number_field/number_field.py b/src/sage/rings/number_field/number_field.py -index 9bb756cc82..0b7cc29d83 100644 +index 9a5bc410ea..4555eb1d24 100644 --- a/src/sage/rings/number_field/number_field.py +++ b/src/sage/rings/number_field/number_field.py -@@ -3422,7 +3422,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): +@@ -3440,7 +3440,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): sage: L.<b> = K.extension(x^2 - 3, x^2 + 1) sage: M.<c> = L.extension(x^2 + 1) sage: L.ideal(K.ideal(2, a)) @@ -1109,7 +1109,7 @@ index 9bb756cc82..0b7cc29d83 100644 sage: M.ideal(K.ideal(2, a)) == M.ideal(a*(b - c)/2) True -@@ -4590,7 +4576,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): +@@ -4608,7 +4608,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): 1/13*a^2 + 7/13*a - 332/13, -1/13*a^2 + 6/13*a + 345/13, -1, @@ -1118,7 +1118,7 @@ index 9bb756cc82..0b7cc29d83 100644 sage: units[5] in (1/13*a^2 - 19/13*a - 7/13, 1/13*a^2 + 20/13*a - 7/13) True sage: len(units) == 6 -@@ -4632,8 +4618,8 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): +@@ -4650,8 +4650,8 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): sage: K.<a> = QuadraticField(-105) sage: K._S_class_group_quotient_matrix((K.ideal(11, a + 4),)) [0 0] @@ -1128,7 +1128,7 @@ index 9bb756cc82..0b7cc29d83 100644 """ from sage.matrix.constructor import matrix S_clgp_gens = self._S_class_group_and_units(S)[1] -@@ -4754,7 +4740,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): +@@ -4772,7 +4772,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): 1/13*a^2 + 7/13*a - 332/13, -1/13*a^2 + 6/13*a + 345/13, -1, @@ -1137,7 +1137,7 @@ index 9bb756cc82..0b7cc29d83 100644 sage: gens[5] in (1/13*a^2 - 19/13*a - 7/13, 1/13*a^2 + 20/13*a - 7/13) True sage: gens[6] in (-1/13*a^2 + 45/13*a - 97/13, 1/13*a^2 - 45/13*a + 97/13) -@@ -5930,28 +5930,37 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): +@@ -5948,28 +5948,37 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): try: return self._integral_basis_dict[v] except (AttributeError, KeyError): @@ -1195,7 +1195,7 @@ index 9bb756cc82..0b7cc29d83 100644 def reduced_basis(self, prec=None): r""" -@@ -6637,7 +6646,8 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): +@@ -6655,7 +6664,8 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): """ Return generators for the unit group modulo torsion. @@ -1205,7 +1205,7 @@ index 9bb756cc82..0b7cc29d83 100644 INPUT: -@@ -6659,7 +6645,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): +@@ -6677,7 +6687,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): sage: A = x^4 - 10*x^3 + 20*5*x^2 - 15*5^2*x + 11*5^3 sage: K = NumberField(A, 'a') sage: K.units() @@ -1214,7 +1214,7 @@ index 9bb756cc82..0b7cc29d83 100644 For big number fields, provably computing the unit group can take a very long time. In this case, one can ask for the -@@ -6670,14 +6656,14 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): +@@ -6688,14 +6698,14 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): sage: K.units(proof=True) # takes forever, not tested ... sage: K.units(proof=False) # result not independently verified @@ -1235,7 +1235,7 @@ index 9bb756cc82..0b7cc29d83 100644 TESTS: -@@ -6686,7 +6672,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): +@@ -6704,7 +6714,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): sage: K.<a> = NumberField(1/2*x^2 - 1/6) sage: K.units() @@ -1244,7 +1244,7 @@ index 9bb756cc82..0b7cc29d83 100644 """ proof = proof_flag(proof) -@@ -6704,7 +6714,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): +@@ -6722,7 +6732,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): pass # get PARI to compute the units @@ -1253,7 +1253,7 @@ index 9bb756cc82..0b7cc29d83 100644 B = tuple(self(b, check=False) for b in B) if proof: # cache the provable results and return them -@@ -6719,7 +6729,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): +@@ -6737,7 +6747,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): """ Return the unit group (including torsion) of this number field. @@ -1262,7 +1262,7 @@ index 9bb756cc82..0b7cc29d83 100644 INPUT: -@@ -6765,7 +6751,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): +@@ -6783,7 +6793,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): sage: U.gens() (u0, u1, u2, u3, u4, u5, u6, u7, u8) sage: U.gens_values() # result not independently verified @@ -1271,7 +1271,7 @@ index 9bb756cc82..0b7cc29d83 100644 """ proof = proof_flag(proof) -@@ -6953,7 +6939,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): +@@ -6971,7 +6981,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField): sage: solutions, bound = K.S_unit_solutions(S, prec=100, include_bound=True) sage: bound @@ -1280,7 +1280,7 @@ index 9bb756cc82..0b7cc29d83 100644 """ from .S_unit_solver import solve_S_unit_equation return solve_S_unit_equation(self, S, prec, include_exponents, include_bound, proof) -@@ -10792,9 +10802,9 @@ class NumberField_cyclotomic(NumberField_absolute): +@@ -10810,9 +10820,9 @@ class NumberField_cyclotomic(NumberField_absolute): EXAMPLES:: sage: k5.<z> = CyclotomicField(5) @@ -1292,7 +1292,7 @@ index 9bb756cc82..0b7cc29d83 100644 sage: z^7 + 3 z^2 + 3 sage: k5(w) # indirect doctest -@@ -10805,7 +10815,7 @@ class NumberField_cyclotomic(NumberField_absolute): +@@ -10823,7 +10833,7 @@ class NumberField_cyclotomic(NumberField_absolute): sage: F = CyclotomicField(8) sage: z = F.gen() @@ -1301,7 +1301,7 @@ index 9bb756cc82..0b7cc29d83 100644 E(8)-E(8)^3 sage: F(a) -zeta8^3 + zeta8 -@@ -10819,6 +10829,7 @@ class NumberField_cyclotomic(NumberField_absolute): +@@ -10837,6 +10847,7 @@ class NumberField_cyclotomic(NumberField_absolute): It also works with the old pexpect interface to GAP:: @@ -1310,7 +1310,7 @@ index 9bb756cc82..0b7cc29d83 100644 [ [ E(4), 1 ], [ 0, 1+E(8)-E(8)^3 ] ] sage: b[1,2] diff --git a/src/sage/rings/number_field/number_field_element.pyx b/src/sage/rings/number_field/number_field_element.pyx -index 811edde5f0..80ac1604da 100644 +index 0c2499bfee..88bfc6d6d8 100644 --- a/src/sage/rings/number_field/number_field_element.pyx +++ b/src/sage/rings/number_field/number_field_element.pyx @@ -1629,7 +1629,7 @@ cdef class NumberFieldElement(FieldElement): @@ -1419,7 +1419,7 @@ index c8760280d1..6b72eff4a0 100644 sage: K.subfields(8, 'w') [ diff --git a/src/sage/rings/number_field/order.py b/src/sage/rings/number_field/order.py -index 82e2cd2d07..f15fe4ad17 100644 +index 82a9da5cdb..1e818c94b8 100644 --- a/src/sage/rings/number_field/order.py +++ b/src/sage/rings/number_field/order.py @@ -2181,7 +2181,7 @@ def EisensteinIntegers(names="omega"): @@ -1432,7 +1432,7 @@ index 82e2cd2d07..f15fe4ad17 100644 -0.500000000000000 + 0.866025403784439*I sage: omega.minpoly() diff --git a/src/sage/rings/number_field/unit_group.py b/src/sage/rings/number_field/unit_group.py -index 5c94f7407d..47a2755e36 100644 +index 5c94f7407d..2a3c617ca3 100644 --- a/src/sage/rings/number_field/unit_group.py +++ b/src/sage/rings/number_field/unit_group.py @@ -15,12 +15,12 @@ The first generator is a primitive root of unity in the field:: @@ -1618,7 +1618,7 @@ index 5c94f7407d..47a2755e36 100644 def _element_constructor_(self, u): """ -@@ -375,7 +375,7 @@ class UnitGroup(AbelianGroupWithValues_class): +@@ -375,7 +372,7 @@ class UnitGroup(AbelianGroupWithValues_class): sage: UK.gens() (u0, u1) sage: UK.gens_values() @@ -1650,7 +1650,7 @@ index 5c94f7407d..47a2755e36 100644 return self.element_class(self, m) -@@ -527,9 +527,9 @@ class UnitGroup(AbelianGroupWithValues_class): +@@ -527,9 +523,9 @@ class UnitGroup(AbelianGroupWithValues_class): sage: U.zeta(2, all=True) [-1] sage: U.zeta(3) @@ -1662,7 +1662,7 @@ index 5c94f7407d..47a2755e36 100644 sage: U.zeta(4) Traceback (most recent call last): ... -@@ -645,7 +645,7 @@ class UnitGroup(AbelianGroupWithValues_class): +@@ -645,7 +641,7 @@ class UnitGroup(AbelianGroupWithValues_class): sage: SUK = UnitGroup(K,S=2) sage: v = (3,1,4,1,5,9,2) sage: u = SUK.exp(v); u @@ -1671,7 +1671,7 @@ index 5c94f7407d..47a2755e36 100644 sage: SUK.log(u) (3, 1, 4, 1, 5, 9, 2) sage: SUK.log(u) == v -@@ -692,7 +692,7 @@ class UnitGroup(AbelianGroupWithValues_class): +@@ -692,7 +688,7 @@ class UnitGroup(AbelianGroupWithValues_class): sage: SUK = UnitGroup(K,S=2) sage: v = (3,1,4,1,5,9,2) sage: u = SUK.exp(v); u @@ -1694,7 +1694,7 @@ index 20f1574e90..bf4b831a75 100644 return sum(self(x[i]) * v ** i for i in range(x.poldegree() + 1)) diff --git a/src/sage/rings/polynomial/polynomial_element.pyx b/src/sage/rings/polynomial/polynomial_element.pyx -index d562a46088..761d22c785 100644 +index b7f3058ce7..4615107773 100644 --- a/src/sage/rings/polynomial/polynomial_element.pyx +++ b/src/sage/rings/polynomial/polynomial_element.pyx @@ -7550,7 +7550,7 @@ cdef class Polynomial(CommutativeAlgebraElement): @@ -1707,7 +1707,7 @@ index d562a46088..761d22c785 100644 [(-2.8510609648967059?e-452, 1)] sage: p.roots(ring=QQbar) diff --git a/src/sage/rings/polynomial/polynomial_quotient_ring.py b/src/sage/rings/polynomial/polynomial_quotient_ring.py -index 66af8957b9..8d6dfe1e6e 100644 +index cd7b05ab0d..ec340c0ae9 100644 --- a/src/sage/rings/polynomial/polynomial_quotient_ring.py +++ b/src/sage/rings/polynomial/polynomial_quotient_ring.py @@ -1306,7 +1306,16 @@ class PolynomialQuotientRing_generic(CommutativeRing): @@ -1824,10 +1824,10 @@ index e1111c1c55..41a9c67214 100644 verbose = int(verbose) if known_points is None: diff --git a/src/sage/schemes/elliptic_curves/ell_rational_field.py b/src/sage/schemes/elliptic_curves/ell_rational_field.py -index 61074f21b9..9a19def280 100644 +index 3631a12f1d..a0166490da 100644 --- a/src/sage/schemes/elliptic_curves/ell_rational_field.py +++ b/src/sage/schemes/elliptic_curves/ell_rational_field.py -@@ -5403,9 +5403,9 @@ class EllipticCurve_rational_field(EllipticCurve_number_field): +@@ -5408,9 +5408,9 @@ class EllipticCurve_rational_field(EllipticCurve_number_field): sage: E = EllipticCurve('37a1') sage: E.eval_modular_form([1.5+I,2.0+I,2.5+I],100) # abs tol 1e-20 @@ -1838,7 +1838,7 @@ index 61074f21b9..9a19def280 100644 + 0.00186044853403710837 + 3.71914507780688601e-22*I, + -0.00187439785481520858 - 6.39417173217386647e-23*I] - sage: E.eval_modular_form(2.1+I, 100) # abs tol 1e-20 + sage: E.eval_modular_form(2.1+I, 100) # abs tol 1e-16 [0.00150864362757267079 + 0.00109100341113449845*I] diff --git a/src/sage/schemes/elliptic_curves/isogeny_small_degree.py b/src/sage/schemes/elliptic_curves/isogeny_small_degree.py index 7178da3685..ea0a7e88bc 100644 diff --git a/sagemath-singular-4.1.2.patch b/sagemath-singular-4.1.2.patch index c42b2f4b9956..85e5411c6cae 100644 --- a/sagemath-singular-4.1.2.patch +++ b/sagemath-singular-4.1.2.patch @@ -1,5 +1,5 @@ diff --git a/src/doc/en/constructions/algebraic_geometry.rst b/src/doc/en/constructions/algebraic_geometry.rst -index a312548..d1c9c95 100644 +index 3933bf0839..76b173d80a 100644 --- a/src/doc/en/constructions/algebraic_geometry.rst +++ b/src/doc/en/constructions/algebraic_geometry.rst @@ -139,7 +139,7 @@ Other methods @@ -10,8 +10,8 @@ index a312548..d1c9c95 100644 + sage: I = singular.ideal('x^4+x', 'y^4+y') sage: L = singular.closed_points(I) sage: # Here you have all the points : - sage: print(L) -@@ -325,7 +325,7 @@ Singular itself to help an understanding of how the wrapper works. + sage: L # random +@@ -329,7 +329,7 @@ Singular itself to help an understanding of how the wrapper works. sage: X = Curve(f); pts = X.rational_points() sage: D = X.divisor([ (3, pts[0]), (-1,pts[1]), (10, pts[5]) ]) sage: X.riemann_roch_basis(D) @@ -21,7 +21,7 @@ index a312548..d1c9c95 100644 - Using Singular's ``BrillNoether`` command (for details see the section Brill-Noether in the Singular online documentation diff --git a/src/sage/algebras/free_algebra.py b/src/sage/algebras/free_algebra.py -index 7391dd9..7234f91 100644 +index 7391dd9812..7234f91456 100644 --- a/src/sage/algebras/free_algebra.py +++ b/src/sage/algebras/free_algebra.py @@ -39,7 +39,15 @@ two-sided ideals, and thus provide ideal containment tests:: @@ -69,7 +69,7 @@ index 7391dd9..7234f91 100644 newname = 'x' while newname in varnames: diff --git a/src/sage/algebras/letterplace/free_algebra_element_letterplace.pyx b/src/sage/algebras/letterplace/free_algebra_element_letterplace.pyx -index ad863ea..d6127c9 100644 +index e7fed21ada..e9c1c9d908 100644 --- a/src/sage/algebras/letterplace/free_algebra_element_letterplace.pyx +++ b/src/sage/algebras/letterplace/free_algebra_element_letterplace.pyx @@ -17,6 +17,7 @@ AUTHOR: @@ -127,7 +127,7 @@ index ad863ea..d6127c9 100644 return FreeAlgebraElement_letterplace(A, p, check=False) diff --git a/src/sage/algebras/letterplace/free_algebra_letterplace.pxd b/src/sage/algebras/letterplace/free_algebra_letterplace.pxd -index 7e5f2bb..d1d162c 100644 +index 7e5f2bbe97..d1d162c3b4 100644 --- a/src/sage/algebras/letterplace/free_algebra_letterplace.pxd +++ b/src/sage/algebras/letterplace/free_algebra_letterplace.pxd @@ -13,8 +13,15 @@ from sage.rings.ring cimport Algebra @@ -147,7 +147,7 @@ index 7e5f2bb..d1d162c 100644 cdef MPolynomialRing_libsingular _commutative_ring cdef MPolynomialRing_libsingular _current_ring diff --git a/src/sage/algebras/letterplace/free_algebra_letterplace.pyx b/src/sage/algebras/letterplace/free_algebra_letterplace.pyx -index a9d09ad..714284e 100644 +index 39cfa4dfed..b520c4cab8 100644 --- a/src/sage/algebras/letterplace/free_algebra_letterplace.pyx +++ b/src/sage/algebras/letterplace/free_algebra_letterplace.pyx @@ -37,7 +37,15 @@ The preceding containment test is based on the computation of Groebner @@ -200,7 +200,7 @@ index a9d09ad..714284e 100644 -singular_system=singular_function("system") +freeAlgebra = singular_function("freeAlgebra") - # unfortunately we can not set Singular attributes for MPolynomialRing_libsingular + # unfortunately we cannot set Singular attributes for MPolynomialRing_libsingular # Hence, we must constantly work around Letterplace's sanity checks, @@ -242,7 +257,7 @@ cdef class FreeAlgebra_letterplace(Algebra): sage: F.<a,b,c> = FreeAlgebra(K, implementation='letterplace') @@ -222,7 +222,7 @@ index a9d09ad..714284e 100644 raise TypeError("The generator degrees must be given by a list or tuple of %d positive integers" % (self.__ngens-1)) self._degrees = tuple([int(i) for i in degrees]) self.set_degbound(max(self._degrees)) -@@ -666,7 +683,7 @@ cdef class FreeAlgebra_letterplace(Algebra): +@@ -662,7 +679,7 @@ cdef class FreeAlgebra_letterplace(Algebra): Sage, since it does the reductions in a different order compared to Singular. Therefore, we call the original Singular reduction method, and prevent a warning message by asserting @@ -231,7 +231,7 @@ index a9d09ad..714284e 100644 sage: from sage.libs.singular.function import singular_function sage: poly_reduce = singular_function("NF") -@@ -682,8 +699,10 @@ cdef class FreeAlgebra_letterplace(Algebra): +@@ -678,8 +695,10 @@ cdef class FreeAlgebra_letterplace(Algebra): ngens = self.__ngens degbound = self._degbound cdef list G = [C(x._poly) for x in g] @@ -243,7 +243,7 @@ index a9d09ad..714284e 100644 return C.ideal(out) ########################### -@@ -879,3 +898,28 @@ cdef class FreeAlgebra_letterplace(Algebra): +@@ -875,3 +894,28 @@ cdef class FreeAlgebra_letterplace(Algebra): PNames[P.ngens(): len(PNames): P.ngens()+1] = list(Names[self.ngens(): len(Names): self.ngens()+1])[:P.degbound()] x = Ppoly.hom([Gens[Names.index(asdf)] for asdf in PNames])(x.letterplace_polynomial()) return FreeAlgebraElement_letterplace(self,self._current_ring(x)) @@ -273,7 +273,7 @@ index a9d09ad..714284e 100644 + """ + singular_ring_delete(self._lp_ring) diff --git a/src/sage/algebras/letterplace/letterplace_ideal.pyx b/src/sage/algebras/letterplace/letterplace_ideal.pyx -index d7214d1..5b8cf48 100644 +index f1430ee77c..c16803280b 100644 --- a/src/sage/algebras/letterplace/letterplace_ideal.pyx +++ b/src/sage/algebras/letterplace/letterplace_ideal.pyx @@ -18,7 +18,11 @@ One can compute Groebner bases out to a finite degree, can compute normal @@ -391,7 +391,7 @@ index d7214d1..5b8cf48 100644 Since the commutators of the generators are contained in the ideal, we can verify the above result by a computation in a polynomial ring -@@ -276,9 +303,32 @@ class LetterplaceIdeal(Ideal_nc): +@@ -275,9 +302,32 @@ class LetterplaceIdeal(Ideal_nc): libsingular_options['redSB'] = True A.set_degbound(degbound) P = A._current_ring @@ -428,7 +428,7 @@ index d7214d1..5b8cf48 100644 libsingular_options['redSB'] = bck[1] self.__GB = A.ideal(out,side='twosided',coerce=False) diff --git a/src/sage/combinat/root_system/hecke_algebra_representation.py b/src/sage/combinat/root_system/hecke_algebra_representation.py -index 51f4113..ba42ed1 100644 +index 51f4113706..ba42ed1524 100644 --- a/src/sage/combinat/root_system/hecke_algebra_representation.py +++ b/src/sage/combinat/root_system/hecke_algebra_representation.py @@ -746,7 +746,7 @@ class HeckeAlgebraRepresentation(WithEqualityById, SageObject): @@ -441,7 +441,7 @@ index 51f4113..ba42ed1 100644 (q2/(-q1+q2))*2121 + ((-q2)/(-q1+q2))*121 - 212 + 12, -2121 + 121] diff --git a/src/sage/combinat/root_system/non_symmetric_macdonald_polynomials.py b/src/sage/combinat/root_system/non_symmetric_macdonald_polynomials.py -index 3537772..ee8ddec 100644 +index 35377724c9..ee8ddec7dd 100644 --- a/src/sage/combinat/root_system/non_symmetric_macdonald_polynomials.py +++ b/src/sage/combinat/root_system/non_symmetric_macdonald_polynomials.py @@ -555,8 +555,7 @@ class NonSymmetricMacdonaldPolynomials(CherednikOperatorsEigenvectors): @@ -489,7 +489,7 @@ index 3537772..ee8ddec 100644 ....: for weight in IntegerVectors(d,3).map(list).map(L0): ....: eigenvalues = E.eigenvalues(E[L0(weight)]) diff --git a/src/sage/combinat/sf/macdonald.py b/src/sage/combinat/sf/macdonald.py -index e664e21..cc525b4 100644 +index e664e21b5a..cc525b4d7e 100644 --- a/src/sage/combinat/sf/macdonald.py +++ b/src/sage/combinat/sf/macdonald.py @@ -483,7 +483,7 @@ class Macdonald(UniqueRepresentation): @@ -511,7 +511,7 @@ index e664e21..cc525b4 100644 return self( self._s(left)*self._s(right) ) diff --git a/src/sage/interfaces/singular.py b/src/sage/interfaces/singular.py -index 88a33b0..a7cf5ea 100644 +index e0faf1409e..5c02e8f0fb 100644 --- a/src/sage/interfaces/singular.py +++ b/src/sage/interfaces/singular.py @@ -191,13 +191,21 @@ The 1x1 and 2x2 minors:: @@ -539,7 +539,7 @@ index 88a33b0..a7cf5ea 100644 :: diff --git a/src/sage/libs/singular/function.pyx b/src/sage/libs/singular/function.pyx -index 0fea70a..26c74d0 100644 +index 0fea70ad25..26c74d0d7f 100644 --- a/src/sage/libs/singular/function.pyx +++ b/src/sage/libs/singular/function.pyx @@ -1257,7 +1257,7 @@ cdef class SingularFunction(SageObject): @@ -582,7 +582,7 @@ index 0fea70a..26c74d0 100644 The Singular function ``list`` can be called with any number of arguments:: diff --git a/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py b/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py -index 8b9367e..ef04d4f 100644 +index 8b9367ea1a..ef04d4f2b0 100644 --- a/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py +++ b/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py @@ -1579,7 +1579,7 @@ class FractionWithFactoredDenominator(RingElement): @@ -604,7 +604,7 @@ index 8b9367e..ef04d4f 100644 sage: F1 = decomp[1] sage: p = {x: 1, y: 1, z: 1} diff --git a/src/sage/rings/polynomial/multi_polynomial_element.py b/src/sage/rings/polynomial/multi_polynomial_element.py -index d86833f..3742439 100644 +index 72e25ebd02..49b4298bc0 100644 --- a/src/sage/rings/polynomial/multi_polynomial_element.py +++ b/src/sage/rings/polynomial/multi_polynomial_element.py @@ -2231,7 +2231,7 @@ def degree_lowest_rational_function(r, x): @@ -617,7 +617,7 @@ index d86833f..3742439 100644 -1 sage: degree_lowest_rational_function(r,b) diff --git a/src/sage/rings/polynomial/multi_polynomial_ideal.py b/src/sage/rings/polynomial/multi_polynomial_ideal.py -index f025b3a..94e130d 100644 +index e45a47f4d9..2a6d9fc93a 100644 --- a/src/sage/rings/polynomial/multi_polynomial_ideal.py +++ b/src/sage/rings/polynomial/multi_polynomial_ideal.py @@ -154,7 +154,7 @@ when the system has no solutions over the rationals. @@ -640,7 +640,7 @@ index f025b3a..94e130d 100644 The ideals must share the same ring:: -@@ -4008,7 +4008,7 @@ class MPolynomialIdeal( MPolynomialIdeal_singular_repr, \ +@@ -4012,7 +4012,7 @@ class MPolynomialIdeal( MPolynomialIdeal_singular_repr, \ sage: J.groebner_basis.set_cache(gb) sage: ideal(J.transformed_basis()).change_ring(P).interreduced_basis() # testing trac 21884 @@ -649,7 +649,7 @@ index f025b3a..94e130d 100644 Giac's gbasis over `\QQ` can benefit from a probabilistic lifting and multi threaded operations:: -@@ -4111,9 +4111,9 @@ class MPolynomialIdeal( MPolynomialIdeal_singular_repr, \ +@@ -4115,9 +4115,9 @@ class MPolynomialIdeal( MPolynomialIdeal_singular_repr, \ sage: P.<a,b,c> = PolynomialRing(ZZ,3) sage: I = P * (a + 2*b + 2*c - 1, a^2 - a + 2*b^2 + 2*c^2, 2*a*b + 2*b*c - b) sage: I.groebner_basis() @@ -663,7 +663,7 @@ index f025b3a..94e130d 100644 10*b*c + 12*c^2 - b - 4*c, a + 2*b + 2*c - 1] diff --git a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx -index 1758424..553d22d 100644 +index 836afdcdcd..4129c2c8fd 100644 --- a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx +++ b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx @@ -1349,7 +1349,7 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base): @@ -676,7 +676,7 @@ index 1758424..553d22d 100644 // block 1 : ordering dp // : names x y diff --git a/src/sage/rings/polynomial/plural.pyx b/src/sage/rings/polynomial/plural.pyx -index c2792ae..aa2ef59 100644 +index c2792aec88..aa2ef59e79 100644 --- a/src/sage/rings/polynomial/plural.pyx +++ b/src/sage/rings/polynomial/plural.pyx @@ -390,28 +390,30 @@ cdef class NCPolynomialRing_plural(Ring): @@ -732,7 +732,7 @@ index c2792ae..aa2ef59 100644 #MPolynomialRing_generic.__init__(self, base_ring, n, names, order) diff --git a/src/sage/rings/polynomial/polynomial_singular_interface.py b/src/sage/rings/polynomial/polynomial_singular_interface.py -index 74b8b82..beee5ad 100644 +index 37f131b585..d9c33d9c2b 100644 --- a/src/sage/rings/polynomial/polynomial_singular_interface.py +++ b/src/sage/rings/polynomial/polynomial_singular_interface.py @@ -165,7 +165,7 @@ class PolynomialRing_singular_repr: @@ -745,7 +745,7 @@ index 74b8b82..beee5ad 100644 // block 1 : ordering dp // : names x y diff --git a/src/sage/schemes/curves/projective_curve.py b/src/sage/schemes/curves/projective_curve.py -index 1091c29..4f5936e 100644 +index 1091c29c20..4f5936edb8 100644 --- a/src/sage/schemes/curves/projective_curve.py +++ b/src/sage/schemes/curves/projective_curve.py @@ -2001,7 +2001,7 @@ class ProjectivePlaneCurve_finite_field(ProjectivePlaneCurve_field): |