[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