[sagemath] 01/01: Import upstream patch to work with Singular 4.1.0p2.
Tobias Hansen
thansen at moszumanska.debian.org
Sat Feb 25 12:29:01 UTC 2017
This is an automated email from the git hooks/post-receive script.
thansen pushed a commit to branch master
in repository sagemath.
commit c952cecb611f66b716f7bcafbf8186199149c39a
Author: Tobias Hansen <thansen at debian.org>
Date: Sat Feb 25 09:42:27 2017 +0000
Import upstream patch to work with Singular 4.1.0p2.
---
debian/changelog | 1 +
debian/control.in | 2 +-
debian/control.runtime-depends | 6 +-
debian/patches/series | 1 +
debian/patches/u0-version-singular-4.1.0p2.patch | 729 +++++++++++++++++++++++
5 files changed, 735 insertions(+), 4 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index bbd3c69..0443cd7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -28,6 +28,7 @@ sagemath (7.5.1-1) UNRELEASED; urgency=medium
- dt-disable-parallel-sphinx.patch
- dt-more-fix-test-cases.patch (parts were applied upstream)
* New patches:
+ - u0-version-singular-4.1.0p2.patch
- u1-singular-include-path-for-pynac.patch
- u1-dont-test-glpk-version.patch
diff --git a/debian/control.in b/debian/control.in
index c7b128b..fecc23f 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -63,7 +63,7 @@ Build-Depends:
libplanarity-dev,
libpng-dev,
libppl-dev (>= 1:1.1),
- libpynac-dev (>= 0.7.3),
+ libpynac-dev (>= 0.7.5),
libratpoints-dev,
libreadline-dev,
librw-dev,
diff --git a/debian/control.runtime-depends b/debian/control.runtime-depends
index 4d00cff..2e00866 100644
--- a/debian/control.runtime-depends
+++ b/debian/control.runtime-depends
@@ -15,7 +15,7 @@
less,
libcdd-tools (>= 094h),
libjs-mathjax,
- libsingular4-dev (>= 1:4.1.0),
+ libsingular4-dev (>= 1:4.1.0-p2),
maxima-sage,
maxima-sage-doc,
maxima-sage-share,
@@ -104,8 +104,8 @@
sagemath-database-graphs,
sagemath-database-mutually-combinatorial-designs,
sagemath-database-polytopes,
- singular (>= 1:4.1.0),
- singular-doc (>= 1:4.1.0),
+ singular (>= 1:4.1.0-p2),
+ singular-doc (>= 1:4.1.0-p2),
sqlite3,
sympow (>= 1.023-8),
tachyon,
diff --git a/debian/patches/series b/debian/patches/series
index 66478b1..be5ecfe 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,6 +4,7 @@ u0-version-pari-2.9.patch
# Uncontroversial fixes to Sage's code
# We should forward these upstream, and they would probably accept
+u0-version-singular-4.1.0p2.patch
u1-pip-nowarn.patch
u1-version-planarity-3.patch
u1-version-pbori-boost1.62-hashes.patch
diff --git a/debian/patches/u0-version-singular-4.1.0p2.patch b/debian/patches/u0-version-singular-4.1.0p2.patch
new file mode 100644
index 0000000..f9536ff
--- /dev/null
+++ b/debian/patches/u0-version-singular-4.1.0p2.patch
@@ -0,0 +1,729 @@
+Origin: https://trac.sagemath.org/ticket/22425
+
+From 6bdcdee6c48bbebdd3674fc3c2469a9f3d2e9bb9 Mon Sep 17 00:00:00 2001
+From: Jean-Pierre Flori <jean-pierre.flori at ssi.gouv.fr>
+Date: Thu, 23 Feb 2017 13:15:35 +0000
+Subject: Draft update to singular 4.1.0p2.
+
+From a204dfc0e0b79c8a81bdfc50aca0e7976875d5fb Mon Sep 17 00:00:00 2001
+From: Jean-Pierre Flori <jean-pierre.flori at ssi.gouv.fr>
+Date: Thu, 23 Feb 2017 18:01:17 +0000
+Subject: Further easy fixes.
+
+From e8a265b2ebc7a5714a82764f09cbbbb81fe833d6 Mon Sep 17 00:00:00 2001
+From: Jean-Pierre Flori <jean-pierre.flori at ssi.gouv.fr>
+Date: Fri, 24 Feb 2017 13:08:12 +0000
+Subject: Further doctest changes.
+
+--- a/sage/src/sage/libs/singular/decl.pxd
++++ b/sage/src/sage/libs/singular/decl.pxd
+@@ -484,8 +484,8 @@
+
+ ring *rDefault(int char , int nvars, char **names)
+ ring *rDefault(const n_Procs_s* cf, int nvars, char **names)
+- ring *rDefault(int ch , int nvars, char **names,int ord_size, int *ord, int *block0, int *block1, int **wvhdl)
+- ring *rDefault(const n_Procs_s* cf, int nvars, char **names,int ord_size, int *ord, int *block0, int *block1, int **wvhdl)
++ ring *rDefault(int ch , int nvars, char **names,int ord_size, rRingOrder_t *ord, int *block0, int *block1, int **wvhdl)
++ ring *rDefault(const n_Procs_s* cf, int nvars, char **names,int ord_size, rRingOrder_t *ord, int *block0, int *block1, int **wvhdl)
+
+
+
+--- a/sage/src/sage/libs/singular/ring.pyx
++++ b/sage/src/sage/libs/singular/ring.pyx
+@@ -21,7 +21,7 @@
+ from sage.libs.singular.decl cimport number, poly, ring, currRing
+ from sage.libs.singular.decl cimport rChangeCurrRing, rCopy0, rComplete, rDelete, idInit
+ from sage.libs.singular.decl cimport omAlloc0, omStrDup, omAlloc, omAlloc0Bin, sip_sring_bin, rnumber_bin
+-from sage.libs.singular.decl cimport ringorder_dp, ringorder_Dp, ringorder_lp, ringorder_rp, ringorder_ds, ringorder_Ds, ringorder_ls, ringorder_M, ringorder_C, ringorder_wp, ringorder_Wp, ringorder_ws, ringorder_Ws, ringorder_a
++from sage.libs.singular.decl cimport ringorder_dp, ringorder_Dp, ringorder_lp, ringorder_rp, ringorder_ds, ringorder_Ds, ringorder_ls, ringorder_M, ringorder_C, ringorder_wp, ringorder_Wp, ringorder_ws, ringorder_Ws, ringorder_a, rRingOrder_t
+ from sage.libs.singular.decl cimport p_Copy, prCopyR
+ from sage.libs.singular.decl cimport n_unknown, n_Zp, n_Q, n_R, n_GF, n_long_R, n_algExt,n_transExt,n_long_C, n_Z, n_Zn, n_Znm, n_Z2m, n_CF
+ from sage.libs.singular.decl cimport n_coeffType, cfInitCharProc
+@@ -165,7 +165,7 @@
+ ## q q : GF(q=p^n) *names TRUE (todo)
+
+ _wvhdl = <int **>omAlloc0((nblcks + 2) * sizeof(int *))
+- _order = <int *>omAlloc0((nblcks + 2) * sizeof(int))
++ _order = <rRingOrder_t *>omAlloc0((nblcks + 2) * sizeof(int))
+ _block0 = <int *>omAlloc0((nblcks + 2) * sizeof(int))
+ _block1 = <int *>omAlloc0((nblcks + 2) * sizeof(int))
+
+--- a/sage/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
++++ b/sage/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
+@@ -591,7 +591,7 @@
+
+ sage: P._singular_()
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+@@ -1179,7 +1179,7 @@
+ sage: P.<x,y,z> = QQ[]
+ sage: P._singular_()
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+@@ -1195,9 +1195,7 @@
+ sage: P.<x,y,z> = PolynomialRing(k,3)
+ sage: P._singular_()
+ polynomial ring, over a field, global ordering
+- // characteristic : 3
+- // 1 parameter : a
+- // minpoly : (a^3-a+1)
++ // coefficients: ZZ/3[a]/(a^3-a+1)
+ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+@@ -1213,7 +1211,7 @@
+ sage: P.<x> = QQ[]
+ sage: P._singular_()
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+@@ -1253,7 +1251,7 @@
+ sage: P.<x,y,z> = QQ[]
+ sage: P._singular_init_()
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+@@ -1268,9 +1266,7 @@
+ sage: R.<x,y> = PolynomialRing(NumberField(w^2+1,'s'))
+ sage: singular(R)
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
+- // 1 parameter : s
+- // minpoly : (s^2+1)
++ // coefficients: QQ[s]/(s^2+1)
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+@@ -1279,9 +1275,7 @@
+ sage: R = PolynomialRing(GF(2**8,'a'),10,'x', order='invlex')
+ sage: singular(R)
+ polynomial ring, over a field, global ordering
+- // characteristic : 2
+- // 1 parameter : a
+- // minpoly : (a^8+a^4+a^3+a^2+1)
++ // coefficients: ZZ/2[a]/(a^8+a^4+a^3+a^2+1)
+ // number of vars : 10
+ // block 1 : ordering rp
+ // : names x0 x1 x2 x3 x4 x5 x6 x7 x8 x9
+@@ -1290,7 +1284,7 @@
+ sage: R = PolynomialRing(GF(127),2,'x', order='invlex')
+ sage: singular(R)
+ polynomial ring, over a field, global ordering
+- // characteristic : 127
++ // coefficients: ZZ/127
+ // number of vars : 2
+ // block 1 : ordering rp
+ // : names x0 x1
+@@ -1299,7 +1293,7 @@
+ sage: R = PolynomialRing(QQ,2,'x', order='invlex')
+ sage: singular(R)
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 2
+ // block 1 : ordering rp
+ // : names x0 x1
+@@ -1308,7 +1302,7 @@
+ sage: R = PolynomialRing(QQ,2,'x', order='degneglex')
+ sage: singular(R)
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 2
+ // block 1 : ordering a
+ // : names x0 x1
+@@ -1320,7 +1314,7 @@
+ sage: R = PolynomialRing(QQ,'x')
+ sage: singular(R)
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+@@ -1329,7 +1323,7 @@
+ sage: R = PolynomialRing(GF(127),'x')
+ sage: singular(R)
+ polynomial ring, over a field, global ordering
+- // characteristic : 127
++ // coefficients: ZZ/127
+ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+@@ -1338,7 +1332,7 @@
+ sage: R = ZZ['x,y']
+ sage: singular(R)
+ polynomial ring, over a domain, global ordering
+- // coeff. ring is : ZZ
++ // coefficients: ZZ
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+@@ -1347,7 +1341,7 @@
+ sage: R = IntegerModRing(1024)['x,y']
+ sage: singular(R)
+ polynomial ring, over a ring (with zero-divisors), global ordering
+- // coeff. ring is : Z/2^10
++ // coefficients: Z/2^10
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+@@ -1356,7 +1350,7 @@
+ sage: R = IntegerModRing(15)['x,y']
+ sage: singular(R)
+ polynomial ring, over a ring (with zero-divisors), global ordering
+- // coeff. ring is : ZZ/15
++ // coefficients: ZZ/bigint(15)
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+@@ -1367,7 +1361,7 @@
+ sage: P.<x> = QQ[]
+ sage: P._singular_init_()
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+--- a/sage/src/sage/rings/polynomial/polynomial_quotient_ring.py
++++ b/sage/src/sage/rings/polynomial/polynomial_quotient_ring.py
+@@ -601,7 +601,7 @@
+ sage: Q = P.quo([(x^2+1)])
+ sage: singular(Q) # indirect doctest
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 1
+ // block 1 : ordering lp
+ // : names xbar
+--- a/sage/src/sage/rings/polynomial/polynomial_singular_interface.py
++++ b/sage/src/sage/rings/polynomial/polynomial_singular_interface.py
+@@ -81,9 +81,7 @@
+ sage: R.<x,y> = PolynomialRing(CC,'x',2)
+ sage: singular(R)
+ polynomial ring, over a field, global ordering
+- // characteristic : 0 (complex:15 digits, additional 0 digits)
+- // 1 parameter : I
+- // minpoly : (I^2+1)
++ // coefficients: float[I](complex:15 digits, additional 0 digits)/(I^2+1)
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+@@ -91,7 +89,7 @@
+ sage: R.<x,y> = PolynomialRing(RealField(100),'x',2)
+ sage: singular(R)
+ polynomial ring, over a field, global ordering
+- // characteristic : 0 (real)
++ // coefficients: float
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+@@ -101,9 +99,7 @@
+ sage: R.<x> = PolynomialRing(NumberField(w^2+1,'s'))
+ sage: singular(R)
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
+- // 1 parameter : s
+- // minpoly : (s^2+1)
++ // coefficients: QQ[s]/(s^2+1)
+ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+@@ -112,7 +108,7 @@
+ sage: R = PolynomialRing(GF(127),1,'x')
+ sage: singular(R)
+ polynomial ring, over a field, global ordering
+- // characteristic : 127
++ // coefficients: ZZ/127
+ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+@@ -121,7 +117,7 @@
+ sage: R = PolynomialRing(QQ,1,'x')
+ sage: singular(R)
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+@@ -130,7 +126,7 @@
+ sage: R = PolynomialRing(QQ,'x')
+ sage: singular(R)
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+@@ -139,7 +135,7 @@
+ sage: R = PolynomialRing(GF(127),'x')
+ sage: singular(R)
+ polynomial ring, over a field, global ordering
+- // characteristic : 127
++ // coefficients: ZZ/127
+ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+@@ -148,9 +144,7 @@
+ sage: R = Frac(ZZ['a,b'])['x,y']
+ sage: singular(R)
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
+- // 2 parameter : a b
+- // minpoly : 0
++ // coefficients: QQ(a, b)
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+@@ -160,7 +154,7 @@
+ sage: R = IntegerModRing(1024)['x,y']
+ sage: singular(R)
+ polynomial ring, over a ring (with zero-divisors), global ordering
+- // coeff. ring is : Z/2^10
++ // coefficients: Z/2^10
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+@@ -169,7 +163,7 @@
+ sage: R = IntegerModRing(15)['x,y']
+ sage: singular(R)
+ polynomial ring, over a ring (with zero-divisors), global ordering
+- // coeff. ring is : ZZ/15
++ // coefficients: ZZ/bigint(15)
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+@@ -178,7 +172,7 @@
+ sage: R = ZZ['x,y']
+ sage: singular(R)
+ polynomial ring, over a domain, global ordering
+- // coeff. ring is : ZZ
++ // coefficients: ZZ
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+@@ -190,9 +184,7 @@
+ sage: S = K['y']
+ sage: singular(S)
+ polynomial ring, over a field, global ordering
+- // characteristic : 5
+- // 1 parameter : x
+- // minpoly : 0
++ // coefficients: ZZ/5(x)
+ // number of vars : 2
+ // block 1 : ordering lp
+ // : names a y
+@@ -234,7 +226,7 @@
+
+ sage: PolynomialRing(QQ,'u_ba')._singular_init_()
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 1
+ // block 1 : ordering lp
+ // : names u_ba
+--- a/sage/src/sage/rings/polynomial/term_order.py
++++ b/sage/src/sage/rings/polynomial/term_order.py
+@@ -1756,7 +1756,7 @@
+ '(lp(3),Dp(5),lp(2))'
+ sage: P._singular_()
+ polynomial ring, over a field, global ordering
+- // characteristic : 127
++ // coefficients: ZZ/127
+ // number of vars : 10
+ // block 1 : ordering lp
+ // : names x0 x1 x2
+@@ -1784,7 +1784,7 @@
+ '(a(1:2),ls(2),a(1:2),ls(2))'
+ sage: P._singular_()
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 4
+ // block 1 : ordering a
+ // : names x0 x1
+--- a/sage/src/sage/rings/quotient_ring.py
++++ b/sage/src/sage/rings/quotient_ring.py
+@@ -1174,7 +1174,7 @@
+ sage: S = R.quotient_ring(x^2+y^2)
+ sage: S._singular_()
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+--- a/sage/src/sage/rings/quotient_ring_element.py
++++ b/sage/src/sage/rings/quotient_ring_element.py
+@@ -786,7 +786,7 @@
+ sage: Q = P.quo(I)
+ sage: Q._singular_()
+ polynomial ring, over a field, global ordering
+- // characteristic : 2
++ // coefficients: ZZ/2
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+--- a/sage/src/sage/rings/polynomial/multi_polynomial_element.py
++++ b/sage/src/sage/rings/polynomial/multi_polynomial_element.py
+@@ -1997,7 +1997,7 @@
+ ::
+
+ sage: r = f/g; r
+- (-2*b*c^2 - 1)/(2*a*b^3*c^6 + a*c)
++ (-b*c^2 + 2)/(a*b^3*c^6 - 2*a*c)
+ sage: degree_lowest_rational_function(r,a)
+ (-1, 3)
+ sage: degree_lowest_rational_function(r,b)
+--- a/sage/src/sage/rings/polynomial/multi_polynomial_ideal.py
++++ b/sage/src/sage/rings/polynomial/multi_polynomial_ideal.py
+@@ -190,7 +190,7 @@
+ The Groebner basis modulo any product of the prime factors is also non-trivial::
+
+ sage: I.change_ring(P.change_ring( IntegerModRing(2*7) )).groebner_basis()
+- [x + 3*y + 11*z, y^2 + 3*y, y*z + 11*y + 4, 2*y + 6, z^2 + 3, 2*z + 10]
++ [x + 9*y + 13*z, y^2 + 3*y, y*z + 7*y + 6, 2*y + 6, z^2 + 3, 2*z + 10]
+
+ Modulo any other prime the Groebner basis is trivial so there are
+ no other solutions. For example::
+@@ -3644,11 +3644,13 @@
+ sage: P.<a,b,c> = PolynomialRing(Zmod(1000),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()
+- [b*c^2 + 992*b*c + 712*c^2 + 332*b + 96*c,
+- 2*c^3 + 214*b*c + 862*c^2 + 762*b + 268*c,
++ [b*c^2 + 732*b*c + 808*b,
++ 2*c^3 + 884*b*c + 666*c^2 + 320*b,
+ b^2 + 438*b*c + 281*b,
+ 5*b*c + 156*c^2 + 112*b + 948*c,
+- 50*c^2 + 600*b + 650*c, a + 2*b + 2*c + 999, 125*b]
++ 50*c^2 + 600*b + 650*c,
++ a + 2*b + 2*c + 999,
++ 125*b]
+
+ ::
+
+--- a/sage/src/sage/rings/polynomial/pbori.pyx
++++ b/sage/src/sage/rings/polynomial/pbori.pyx
+@@ -1371,7 +1371,7 @@
+ sage: B.<x,y> = BooleanPolynomialRing(2)
+ sage: B._singular_() # indirect doctest
+ polynomial ring, over a field, global ordering
+- // characteristic : 2
++ // coefficients: ZZ/2
+ // number of vars : 2
+ // block 1 : ordering lp
+ // : names x y
+--- a/sage/src/doc/de/tutorial/interfaces.rst
++++ b/sage/src/doc/de/tutorial/interfaces.rst
+@@ -198,7 +198,7 @@
+ sage: R1 = singular.ring(0, '(x,y)', 'dp')
+ sage: R1
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+--- a/sage/src/doc/en/constructions/algebraic_geometry.rst
++++ b/sage/src/doc/en/constructions/algebraic_geometry.rst
+@@ -164,7 +164,7 @@
+ sage: klein1 = f.Adj_div(); print(klein1)
+ [1]:
+ [1]:
+- // characteristic : 2
++ // coefficients: ZZ/2
+ // number of vars : 2
+ // block 1 : ordering lp
+ // : names x y
+@@ -187,13 +187,13 @@
+ sage: print(klein1)
+ [1]:
+ [1]:
+- // characteristic : 2
++ // coefficients: ZZ/2
+ // number of vars : 2
+ // block 1 : ordering lp
+ // : names x y
+ // block 2 : ordering C
+ [2]:
+- // characteristic : 2
++ // coefficients: ZZ/2
+ // number of vars : 3
+ // block 1 : ordering lp
+ // : names x y z
+@@ -210,7 +210,7 @@
+ [5]:
+ [1]:
+ [1]:
+- // characteristic : 2
++ // coefficients: ZZ/2
+ // number of vars : 3
+ // block 1 : ordering ls
+ // : names x y t
+@@ -325,7 +325,7 @@
+ 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)
+- [(-2*x + y)/(x + y), (-x + z)/(x + y)]
++ [(-x - 2*y)/(-2*x - 2*y), (-x + z)/(x + y)]
+
+ - Using Singular's ``BrillNoether`` command (for details see the section
+ Brill-Noether in the Singular online documentation
+--- a/sage/src/doc/en/constructions/rings.rst
++++ b/sage/src/doc/en/constructions/rings.rst
+@@ -57,7 +57,7 @@
+ sage: I = singular.ideal(['a+b+c+d', 'ab+ad+bc+cd', 'abc+abd+acd+bcd', 'abcd-1'])
+ sage: R
+ polynomial ring, over a field, global ordering
+- // characteristic : 97
++ // coefficients: ZZ/97
+ // number of vars : 4
+ // block 1 : ordering lp
+ // : names a b c d
+--- a/sage/src/doc/en/developer/coding_in_other.rst
++++ b/sage/src/doc/en/developer/coding_in_other.rst
+@@ -402,7 +402,7 @@
+ sage: singular.LIB("brnoeth.lib")
+ sage: singular.ring(5,'(x,y)','lp')
+ polynomial ring, over a field, global ordering
+- // characteristic : 5
++ // coefficients: ZZ/5
+ // number of vars : 2
+ // block 1 : ordering lp
+ // : names x y
+--- a/sage/src/doc/en/tutorial/interfaces.rst
++++ b/sage/src/doc/en/tutorial/interfaces.rst
+@@ -197,7 +197,7 @@
+ sage: R1 = singular.ring(0, '(x,y)', 'dp')
+ sage: R1
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+--- a/sage/src/doc/fr/tutorial/interfaces.rst
++++ b/sage/src/doc/fr/tutorial/interfaces.rst
+@@ -199,7 +199,7 @@
+ sage: R1 = singular.ring(0, '(x,y)', 'dp')
+ sage: R1
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+--- a/sage/src/doc/ja/tutorial/interfaces.rst
++++ b/sage/src/doc/ja/tutorial/interfaces.rst
+@@ -173,7 +173,7 @@
+ sage: R1 = singular.ring(0, '(x,y)', 'dp')
+ sage: R1
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+--- a/sage/src/doc/pt/tutorial/interfaces.rst
++++ b/sage/src/doc/pt/tutorial/interfaces.rst
+@@ -197,7 +197,7 @@
+ sage: R1 = singular.ring(0, '(x,y)', 'dp')
+ sage: R1
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+--- a/sage/src/doc/ru/tutorial/interfaces.rst
++++ b/sage/src/doc/ru/tutorial/interfaces.rst
+@@ -191,7 +191,7 @@
+ sage: R1 = singular.ring(0, '(x,y)', 'dp')
+ sage: R1
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+--- a/sage/src/sage/categories/pushout.py
++++ b/sage/src/sage/categories/pushout.py
+@@ -3202,7 +3202,7 @@
+ Gap
+ sage: FS(QQ['t'])
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 1
+ // block 1 : ordering lp
+ // : names t
+--- a/sage/src/sage/interfaces/expect.py
++++ b/sage/src/sage/interfaces/expect.py
+@@ -1213,7 +1213,7 @@
+ sage: R.<x> = QQ[]; f = x^3 + x + 1; g = x^3 - x - 1; r = f.resultant(g); gap(ZZ); singular(R)
+ Integers
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+--- a/sage/src/sage/interfaces/interface.py
++++ b/sage/src/sage/interfaces/interface.py
+@@ -734,7 +734,7 @@
+ sage: S = singular.ring(0, ('x'))
+ sage: loads(dumps(S))
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+--- a/sage/src/sage/interfaces/singular.py
++++ b/sage/src/sage/interfaces/singular.py
+@@ -65,7 +65,7 @@
+ sage: R1 = singular.ring(0, '(x,y)', 'dp')
+ sage: R1
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+@@ -243,7 +243,7 @@
+ sage: singular.lib('poly.lib')
+ sage: singular.ring(32003, '(a,b,c,d,e,f)', 'lp')
+ polynomial ring, over a field, global ordering
+- // characteristic : 32003
++ // coefficients: ZZ/32003
+ // number of vars : 6
+ // block 1 : ordering lp
+ // : names a b c d e f
+@@ -1000,7 +1000,7 @@
+ sage: R = singular.ring(0, '(x,y,z)', 'dp')
+ sage: R
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+@@ -1080,7 +1080,7 @@
+ sage: S = singular.ring('real', '(a,b)', 'lp')
+ sage: singular.current_ring()
+ polynomial ring, over a field, global ordering
+- // characteristic : 0 (real)
++ // coefficients: float
+ // number of vars : 2
+ // block 1 : ordering lp
+ // : names a b
+@@ -1088,7 +1088,7 @@
+ sage: singular.set_ring(R)
+ sage: singular.current_ring()
+ polynomial ring, over a field, local ordering
+- // characteristic : 7
++ // coefficients: ZZ/7
+ // number of vars : 2
+ // block 1 : ordering ds
+ // : names a b
+@@ -1130,14 +1130,14 @@
+ sage: r = PolynomialRing(GF(127),3,'xyz', order='invlex')
+ sage: r._singular_()
+ polynomial ring, over a field, global ordering
+- // characteristic : 127
++ // coefficients: ZZ/127
+ // number of vars : 3
+ // block 1 : ordering rp
+ // : names x y z
+ // block 2 : ordering C
+ sage: singular.current_ring()
+ polynomial ring, over a field, global ordering
+- // characteristic : 127
++ // coefficients: ZZ/127
+ // number of vars : 3
+ // block 1 : ordering rp
+ // : names x y z
+@@ -1360,7 +1360,7 @@
+ sage: cpQ.set_ring()
+ sage: cpQ
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 2
+ // block 1 : ordering dp
+ // : names x y
+@@ -1911,7 +1911,7 @@
+
+ sage: singular('basering')
+ polynomial ring, over a domain, global ordering
+- // coeff. ring is : ZZ
++ // coefficients: ZZ
+ // number of vars : 3
+ // block 1 : ordering lp
+ // : names x y z
+@@ -1996,7 +1996,7 @@
+ sage: S = singular.ring('real', '(a,b)', 'lp')
+ sage: singular.current_ring()
+ polynomial ring, over a field, global ordering
+- // characteristic : 0 (real)
++ // coefficients: float
+ // number of vars : 2
+ // block 1 : ordering lp
+ // : names a b
+@@ -2004,7 +2004,7 @@
+ sage: R.set_ring()
+ sage: singular.current_ring()
+ polynomial ring, over a field, local ordering
+- // characteristic : 7
++ // coefficients: ZZ/7
+ // number of vars : 2
+ // block 1 : ordering ds
+ // : names a b
+@@ -2260,7 +2260,7 @@
+
+ sage: loads(dumps(singular.ring()))
+ polynomial ring, over a field, global ordering
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 1
+ // block 1 : ordering lp
+ // : names x
+--- a/sage/src/sage/libs/singular/function.pyx
++++ b/sage/src/sage/libs/singular/function.pyx
+@@ -282,7 +282,7 @@
+ sage: l = ringlist(P)
+ sage: ring = singular_function("ring")
+ sage: ring(l, ring=P)._output()
+- // characteristic : 0
++ // coefficients: QQ
+ // number of vars : 3
+ // block 1 : ordering dp
+ // : names x y z
+--- a/sage/src/sage/schemes/curves/projective_curve.py
++++ b/sage/src/sage/schemes/curves/projective_curve.py
+@@ -1830,7 +1830,7 @@
+ sage: C = Curve(f); pts = C.rational_points()
+ sage: D = C.divisor([ (3, pts[0]), (-1,pts[1]), (10, pts[5]) ])
+ sage: C.riemann_roch_basis(D)
+- [(-2*x + y)/(x + y), (-x + z)/(x + y)]
++ [(-x - 2*y)/(-2*x - 2*y), (-x + z)/(x + y)]
+
+
+ .. NOTE::
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/sagemath.git
More information about the debian-science-commits
mailing list