summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD10
-rw-r--r--sagemath-ipython7.patch16
-rw-r--r--sagemath-rpy-3.patch79
-rw-r--r--sagemath-singular-4.1.2.patch110
5 files changed, 115 insertions, 108 deletions
diff --git a/.SRCINFO b/.SRCINFO
index b31f5e365064..6a554c9462ee 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = sagemath-git
pkgdesc = Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab
- pkgver = 9.1.beta0.r0.gb8f53f72e8
+ pkgver = 9.1.beta1.r0.gdde78cbd22
pkgrel = 1
url = http://www.sagemath.org
arch = x86_64
@@ -101,17 +101,15 @@ pkgbase = sagemath-git
source = sagemath-singular-4.1.2.patch
source = sagemath-ecl-sigfpe.patch
source = sagemath-ipython7.patch
- source = sagemath-rpy-3.patch
source = sagemath-python-3.8.patch
sha256sums = SKIP
sha256sums = 5aa8febd117e7243a6d2d21eddf035cda99aac1018b559dd99ae32e5ce533b86
sha256sums = 6a5470d7044a50a35a6478f57c19adf72fe54aefebeea8a095915b63f9e219ac
sha256sums = 876fd1c0fc3471b56e54d960d79e5ce1d5fc49cebf6eed27043a7380854c792c
sha256sums = 937074fa7a8a4e2aba9ea77ec622fe937985a1a9176c48460d51325ee877a4f5
- sha256sums = 0a78fe1ca875028c72a80fb2006aa6017922894dffd114086132ff35e7a26009
+ sha256sums = 1eedb88304df38e5c147c1943bc2a44faa724048f789fe0124518b3222836c66
sha256sums = e44bbde87f3312548faad75b7383ef21fade55be251ab5804de41cd3842ca8a0
- sha256sums = dca48f2eba8a27fdc027214faa63241f023f9e02e7bf2ca48b69395ce5a8d31b
- sha256sums = 9062b412595e81a5ca560a5ae789f8b7318981689cb8d076b30d8c54a4fc4495
+ sha256sums = 0b79606ce932d12ce4e2baebd660bf42faebca3138511987faf5569a5f3adbbf
sha256sums = ea5c54b2f2b12cb59633e6a0ad26e1f3809cb8ad60e889c31495aef0a7eeb578
pkgname = sagemath-git
diff --git a/PKGBUILD b/PKGBUILD
index 4e396e760d11..2dbac2ff92e2 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@
pkgbase=sagemath-git
pkgname=(sagemath-git sagemath-jupyter-git)
-pkgver=9.1.beta0.r0.gb8f53f72e8
+pkgver=9.1.beta1.r0.gdde78cbd22
pkgrel=1
pkgdesc="Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab"
arch=(x86_64)
@@ -42,17 +42,15 @@ source=(git://git.sagemath.org/sage.git#branch=develop
sagemath-singular-4.1.2.patch
sagemath-ecl-sigfpe.patch
sagemath-ipython7.patch
- sagemath-rpy-3.patch
sagemath-python-3.8.patch)
sha256sums=('SKIP'
'5aa8febd117e7243a6d2d21eddf035cda99aac1018b559dd99ae32e5ce533b86'
'6a5470d7044a50a35a6478f57c19adf72fe54aefebeea8a095915b63f9e219ac'
'876fd1c0fc3471b56e54d960d79e5ce1d5fc49cebf6eed27043a7380854c792c'
'937074fa7a8a4e2aba9ea77ec622fe937985a1a9176c48460d51325ee877a4f5'
- '0a78fe1ca875028c72a80fb2006aa6017922894dffd114086132ff35e7a26009'
+ '1eedb88304df38e5c147c1943bc2a44faa724048f789fe0124518b3222836c66'
'e44bbde87f3312548faad75b7383ef21fade55be251ab5804de41cd3842ca8a0'
- 'dca48f2eba8a27fdc027214faa63241f023f9e02e7bf2ca48b69395ce5a8d31b'
- '9062b412595e81a5ca560a5ae789f8b7318981689cb8d076b30d8c54a4fc4495'
+ '0b79606ce932d12ce4e2baebd660bf42faebca3138511987faf5569a5f3adbbf'
'ea5c54b2f2b12cb59633e6a0ad26e1f3809cb8ad60e889c31495aef0a7eeb578')
pkgver() {
@@ -74,8 +72,6 @@ prepare(){
patch -p1 -i ../sagemath-python-3.8.patch
# Support IPython 7
patch -p1 -i ../sagemath-ipython7.patch
-# Adapt to rpy 3.0 changes
- patch -p1 -i ../sagemath-rpy-3.patch
# Fix mathjax path
sed -e 's|mathjax|mathjax2|g' -i src/sage/env.py
diff --git a/sagemath-ipython7.patch b/sagemath-ipython7.patch
index 28efd1440b6f..09830f221529 100644
--- a/sagemath-ipython7.patch
+++ b/sagemath-ipython7.patch
@@ -3275,22 +3275,6 @@ index ad2dba4fbc..1cd1fa7ba4 100644
"""
return self._nproc
-diff --git a/src/sage/parallel/use_fork.py b/src/sage/parallel/use_fork.py
-index 77842ec794..2c1689bd25 100644
---- a/src/sage/parallel/use_fork.py
-+++ b/src/sage/parallel/use_fork.py
-@@ -281,9 +281,9 @@ class p_iter_fork(object):
- """
- import os, sys
- try:
-- from imp import reload
-- except ImportError:
- from importlib import reload
-+ except ImportError:
-+ from imp import reload
- from sage.misc.persist import save
-
- # Make it so all stdout is sent to a file so it can
diff --git a/src/sage/plot/graphics.py b/src/sage/plot/graphics.py
index 31131ab220..bc33919835 100644
--- a/src/sage/plot/graphics.py
diff --git a/sagemath-rpy-3.patch b/sagemath-rpy-3.patch
deleted file mode 100644
index 3b192db4c6c7..000000000000
--- a/sagemath-rpy-3.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff --git a/src/sage/interfaces/r.py b/src/sage/interfaces/r.py
-index ad4f3bfd8a..3c1c0bb369 100644
---- a/src/sage/interfaces/r.py
-+++ b/src/sage/interfaces/r.py
-@@ -373,7 +373,7 @@ def _setup_r_to_sage_converter():
- cv = Converter('r to sage converter')
-
- # fallback
-- cv.ri2py.register(object, lambda obj: obj)
-+ cv.rpy2py.register(object, lambda obj: obj)
-
- def float_to_int_if_possible(f):
- # First, round the float to at most 15 significant places.
-@@ -383,7 +383,7 @@ def _setup_r_to_sage_converter():
- # Preserve the behaviour of the old r parser, e.g. return 1 instead of 1.0
- float_or_int = int(f) if isinstance(f, int) or f.is_integer() else f
- return float_or_int
-- cv.ri2py.register(float, float_to_int_if_possible)
-+ cv.rpy2py.register(float, float_to_int_if_possible)
-
- def list_to_singleton_if_possible(l):
- if len(l) == 1:
-@@ -395,11 +395,11 @@ def _setup_r_to_sage_converter():
- attrs = vec.list_attrs()
- # Recursive calls have to be made explicitly
- # https://bitbucket.org/rpy2/rpy2/issues/363/custom-converters-are-not-applied
-- data = list_to_singleton_if_possible([ cv.ri2py(val) for val in vec ])
-+ data = list_to_singleton_if_possible([ cv.rpy2py(val) for val in vec ])
- rclass = list(vec.do_slot('class')) if 'class' in attrs else vec.rclass
-
- if 'names' in attrs:
-- # separate names and values, call ri2py recursively to convert elements
-+ # separate names and values, call rpy2py recursively to convert elements
- names = list_to_singleton_if_possible(list(vec.do_slot('names')))
- return {
- 'DATA': data,
-@@ -409,7 +409,7 @@ def _setup_r_to_sage_converter():
- else:
- # if no names are present, convert to a normal list or a single value
- return data
-- cv.ri2py.register(SexpVector, _vector)
-+ cv.rpy2py.register(SexpVector, _vector)
-
- def _matrix(mat):
- if 'dim' in mat.list_attrs():
-@@ -421,28 +421,28 @@ def _setup_r_to_sage_converter():
- (nrow, ncol) = dimensions
- # Since R does it the other way round, we assign transposed and
- # then transpose the matrix :)
-- m = matrix(ncol, nrow, [cv.ri2py(i) for i in mat])
-+ m = matrix(ncol, nrow, [cv.rpy2py(i) for i in mat])
- return m.transpose()
- except TypeError:
- pass
- else:
- return _vector(mat)
-- cv.ri2py.register(FloatSexpVector, _matrix)
-+ cv.rpy2py.register(FloatSexpVector, _matrix)
-
- def _list_vector(vec):
- # we have a R list (vector of arbitrary elements)
- attrs = vec.list_attrs()
- names = vec.do_slot('names')
-- values = [ cv.ri2py(val) for val in vec ]
-+ values = [ cv.rpy2py(val) for val in vec ]
- rclass = list(vec.do_slot('class')) if 'class' in attrs else vec.rclass
- data = zip(names, values)
- return {
- 'DATA': dict(data),
-- '_Names': cv.ri2py(names),
-+ '_Names': cv.rpy2py(names),
- # We don't give the rclass here because the old expect interface
- # didn't do that either and we want to maintain compatibility.
- };
-- cv.ri2py.register(ListSexpVector, _list_vector)
-+ cv.rpy2py.register(ListSexpVector, _list_vector)
-
- return cv
-
diff --git a/sagemath-singular-4.1.2.patch b/sagemath-singular-4.1.2.patch
index 556d5fd77ba4..f7dba4977441 100644
--- a/sagemath-singular-4.1.2.patch
+++ b/sagemath-singular-4.1.2.patch
@@ -509,4 +509,112 @@ index d2dec78..6fa2680 100644
# self._populate_coercion_lists_() # ???
#MPolynomialRing_generic.__init__(self, base_ring, n, names, order)
-
+diff --git a/src/sage/combinat/root_system/hecke_algebra_representation.py b/src/sage/combinat/root_system/hecke_algebra_representation.py
+index 6498afbeaa..b1ad7ea6fa 100644
+--- a/src/sage/combinat/root_system/hecke_algebra_representation.py
++++ b/src/sage/combinat/root_system/hecke_algebra_representation.py
+@@ -745,7 +745,7 @@ class HeckeAlgebraRepresentation(WithEqualityById, SageObject):
+ -2121 + 212,
+ (q2/(q1-q2))*2121 + (q2/(-q1+q2))*121 + (q2/(-q1+q2))*212 - 12 + ((-q2)/(-q1+q2))*21 + 2,
+ ((-q2^2)/(-q1^2+q1*q2-q2^2))*2121 - 121 + (q2^2/(-q1^2+q1*q2-q2^2))*212 + 21,
+- ((q1^2+q2^2)/(-q1^2+q1*q2-q2^2))*2121 + ((-q1^2-q2^2)/(-q1^2+q1*q2-q2^2))*121 + ((-q2^2)/(-q1^2+q1*q2-q2^2))*212 + (q2^2/(-q1^2+q1*q2-q2^2))*12 - 21 + 1,
++ ((-q1^2-q2^2)/(q1^2-q1*q2+q2^2))*2121 + ((-q1^2-q2^2)/(-q1^2+q1*q2-q2^2))*121 + ((-q2^2)/(-q1^2+q1*q2-q2^2))*212 + (q2^2/(-q1^2+q1*q2-q2^2))*12 - 21 + 1,
+ 2121,
+ (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 3ae5effddb..898a1fe636 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):
+ B[(1, 0, 0)]
+
+ sage: E[-omega[1]]
+- B[(-1, 0, 0)] + ((-q*q1^6-q*q1^5*q2-q1*q2^5-q2^6)/(-q^3*q1^6-q^2*q1^5*q2-q*q1*q2^5-q2^6))*B[(1, 0, 0)] + ((-q1-q2)/(-q*q1-q2))*B[(0, -1, 0)]
+- + ((q1+q2)/(q*q1+q2))*B[(0, 1, 0)] + ((-q1-q2)/(-q*q1-q2))*B[(0, 0, -1)] + ((-q1-q2)/(-q*q1-q2))*B[(0, 0, 1)]
++ B[(-1, 0, 0)] + ((q*q1^6+q*q1^5*q2+q1*q2^5+q2^6)/(q^3*q1^6+q^2*q1^5*q2+q*q1*q2^5+q2^6))*B[(1, 0, 0)] + ((q1+q2)/(q*q1+q2))*B[(0, -1, 0)] + ((q1+q2)/(q*q1+q2))*B[(0, 1, 0)] + ((q1+q2)/(q*q1+q2))*B[(0, 0, -1)] + ((q1+q2)/(q*q1+q2))*B[(0, 0, 1)]
+
+ sage: E[omega[2]]
+ ((-q1*q2^3-q2^4)/(q*q1^4-q2^4))*B[(1, 0, 0)] + B[(0, 1, 0)]
+@@ -567,14 +566,7 @@ class NonSymmetricMacdonaldPolynomials(CherednikOperatorsEigenvectors):
+ + ((-q1*q2-q2^2)/(q*q1^2-q2^2))*B[(0, 0, -1)] + ((q1*q2+q2^2)/(-q*q1^2+q2^2))*B[(0, 0, 1)]
+
+ sage: E[-omega[1]-omega[2]]
+- ((-q^3*q1^6-q^3*q1^5*q2-2*q^2*q1^6-3*q^2*q1^5*q2+q^2*q1^4*q2^2+2*q^2*q1^3*q2^3+q*q1^5*q2+2*q*q1^4*q2^2-q*q1^3*q2^3-2*q*q1^2*q2^4+q*q1*q2^5+q*q2^6-q1^3*q2^3-q1^2*q2^4+2*q1*q2^5+2*q2^6)/(-q^4*q1^6-q^3*q1^5*q2+q^3*q1^4*q2^2-q*q1^2*q2^4+q*q1*q2^5+q2^6))*B[(0, 0, 0)] + B[(-1, -1, 0)]
+- + ((q*q1^4+q*q1^3*q2+q1*q2^3+q2^4)/(q^3*q1^4+q^2*q1^3*q2+q*q1*q2^3+q2^4))*B[(-1, 1, 0)] + ((q1+q2)/(q*q1+q2))*B[(-1, 0, -1)] + ((-q1-q2)/(-q*q1-q2))*B[(-1, 0, 1)]
+- + ((q*q1^4+q*q1^3*q2+q1*q2^3+q2^4)/(q^3*q1^4+q^2*q1^3*q2+q*q1*q2^3+q2^4))*B[(1, -1, 0)]
+- + ((-q^2*q1^6-q^2*q1^5*q2-q*q1^5*q2+q*q1^3*q2^3+q1^5*q2+q1^4*q2^2-q1^3*q2^3-q1^2*q2^4+q1*q2^5+q2^6)/(-q^4*q1^6-q^3*q1^5*q2+q^3*q1^4*q2^2-q*q1^2*q2^4+q*q1*q2^5+q2^6))*B[(1, 1, 0)]
+- + ((-q*q1^4-2*q*q1^3*q2-q*q1^2*q2^2+q1^3*q2+q1^2*q2^2-q1*q2^3-q2^4)/(-q^3*q1^4-q^2*q1^3*q2-q*q1*q2^3-q2^4))*B[(1, 0, -1)]
+- + ((-q*q1^4-2*q*q1^3*q2-q*q1^2*q2^2+q1^3*q2+q1^2*q2^2-q1*q2^3-q2^4)/(-q^3*q1^4-q^2*q1^3*q2-q*q1*q2^3-q2^4))*B[(1, 0, 1)] + ((q1+q2)/(q*q1+q2))*B[(0, -1, -1)]
+- + ((-q1-q2)/(-q*q1-q2))*B[(0, -1, 1)] + ((q*q1^4+2*q*q1^3*q2+q*q1^2*q2^2-q1^3*q2-q1^2*q2^2+q1*q2^3+q2^4)/(q^3*q1^4+q^2*q1^3*q2+q*q1*q2^3+q2^4))*B[(0, 1, -1)]
+- + ((q*q1^4+2*q*q1^3*q2+q*q1^2*q2^2-q1^3*q2-q1^2*q2^2+q1*q2^3+q2^4)/(q^3*q1^4+q^2*q1^3*q2+q*q1*q2^3+q2^4))*B[(0, 1, 1)]
++ ((q^3*q1^6+q^3*q1^5*q2+2*q^2*q1^6+3*q^2*q1^5*q2-q^2*q1^4*q2^2-2*q^2*q1^3*q2^3-q*q1^5*q2-2*q*q1^4*q2^2+q*q1^3*q2^3+2*q*q1^2*q2^4-q*q1*q2^5-q*q2^6+q1^3*q2^3+q1^2*q2^4-2*q1*q2^5-2*q2^6)/(q^4*q1^6+q^3*q1^5*q2-q^3*q1^4*q2^2+q*q1^2*q2^4-q*q1*q2^5-q2^6))*B[(0, 0, 0)] + B[(-1, -1, 0)] + ((q*q1^4+q*q1^3*q2+q1*q2^3+q2^4)/(q^3*q1^4+q^2*q1^3*q2+q*q1*q2^3+q2^4))*B[(-1, 1, 0)] + ((q1+q2)/(q*q1+q2))*B[(-1, 0, -1)] + ((-q1-q2)/(-q*q1-q2))*B[(-1, 0, 1)] + ((q*q1^4+q*q1^3*q2+q1*q2^3+q2^4)/(q^3*q1^4+q^2*q1^3*q2+q*q1*q2^3+q2^4))*B[(1, -1, 0)] + ((q^2*q1^6+q^2*q1^5*q2+q*q1^5*q2-q*q1^3*q2^3-q1^5*q2-q1^4*q2^2+q1^3*q2^3+q1^2*q2^4-q1*q2^5-q2^6)/(q^4*q1^6+q^3*q1^5*q2-q^3*q1^4*q2^2+q*q1^2*q2^4-q*q1*q2^5-q2^6))*B[(1, 1, 0)] + ((q*q1^4+2*q*q1^3*q2+q*q1^2*q2^2-q1^3*q2-q1^2*q2^2+q1*q2^3+q2^4)/(q^3*q1^4+q^2*q1^3*q2+q*q1*q2^3+q2^4))*B[(1, 0, -1)] + ((q*q1^4+2*q*q1^3*q2+q*q1^2*q2^2-q1^3*q2-q1^2*q2^2+q1*q2^3+q2^4)/(q^3*q1^4+q^2*q1^3*q2+q*q1*q2^3+q2^4))*B[(1, 0, 1)] + ((q1+q2)/(q*q1+q2))*B[(0, -1, -1)] + ((q1+q2)/(q*q1+q2))*B[(0, -1, 1)] + ((q*q1^4+2*q*q1^3*q2+q*q1^2*q2^2-q1^3*q2-q1^2*q2^2+q1*q2^3+q2^4)/(q^3*q1^4+q^2*q1^3*q2+q*q1*q2^3+q2^4))*B[(0, 1, -1)] + ((q*q1^4+2*q*q1^3*q2+q*q1^2*q2^2-q1^3*q2-q1^2*q2^2+q1*q2^3+q2^4)/(q^3*q1^4+q^2*q1^3*q2+q*q1*q2^3+q2^4))*B[(0, 1, 1)]
+
+ sage: E[omega[1]-omega[2]]
+ ((q^3*q1^7+q^3*q1^6*q2-q*q1*q2^6-q*q2^7)/(q^3*q1^7-q^2*q1^5*q2^2+q*q1^2*q2^5-q2^7))*B[(0, 0, 0)] + B[(1, -1, 0)]
+@@ -812,7 +804,7 @@ class NonSymmetricMacdonaldPolynomials(CherednikOperatorsEigenvectors):
+ ((-q*q1*q2^3-q*q2^4)/(q^2*q1^4-q2^4))*B[(0, 0)] + B[(1, 0)]
+
+ sage: E[2*omega[2]] # long time # not checked against Bogdan's notes, but a good self-consistency test
+- ((-q^12*q1^6-q^12*q1^5*q2+2*q^10*q1^5*q2+5*q^10*q1^4*q2^2+3*q^10*q1^3*q2^3+2*q^8*q1^5*q2+4*q^8*q1^4*q2^2+q^8*q1^3*q2^3-q^8*q1^2*q2^4+q^8*q1*q2^5+q^8*q2^6-q^6*q1^3*q2^3+q^6*q1^2*q2^4+4*q^6*q1*q2^5+2*q^6*q2^6+q^4*q1^3*q2^3+3*q^4*q1^2*q2^4+4*q^4*q1*q2^5+2*q^4*q2^6)/(-q^12*q1^6-q^10*q1^5*q2-q^8*q1^3*q2^3+q^6*q1^4*q2^2-q^6*q1^2*q2^4+q^4*q1^3*q2^3+q^2*q1*q2^5+q2^6))*B[(0, 0)] + ((q^7*q1^2*q2+2*q^7*q1*q2^2+q^7*q2^3+q^5*q1^2*q2+2*q^5*q1*q2^2+q^5*q2^3)/(-q^8*q1^3-q^6*q1^2*q2+q^2*q1*q2^2+q2^3))*B[(-1, 0)] + ((q^6*q1*q2+q^6*q2^2)/(-q^6*q1^2+q2^2))*B[(-1, -1)] + ((q^6*q1^2*q2+2*q^6*q1*q2^2+q^6*q2^3+q^4*q1^2*q2+2*q^4*q1*q2^2+q^4*q2^3)/(-q^8*q1^3-q^6*q1^2*q2+q^2*q1*q2^2+q2^3))*B[(-1, 1)] + ((q^3*q1*q2+q^3*q2^2)/(-q^6*q1^2+q2^2))*B[(-1, 2)] + ((-q^7*q1^3-q^7*q1^2*q2+q^7*q1*q2^2+q^7*q2^3+2*q^5*q1^2*q2+4*q^5*q1*q2^2+2*q^5*q2^3+2*q^3*q1^2*q2+4*q^3*q1*q2^2+2*q^3*q2^3)/(-q^8*q1^3-q^6*q1^2*q2+q^2*q1*q2^2+q2^3))*B[(1, 0)] + ((-q^6*q1^2*q2-2*q^6*q1*q2^2-q^6*q2^3-q^4*q1^2*q2-2*q^4*q1*q2^2-q^4*q2^3)/(q^8*q1^3+q^6*q1^2*q2-q^2*q1*q2^2-q2^3))*B[(1, -1)] + ((q^8*q1^3+q^8*q1^2*q2+q^6*q1^3+q^6*q1^2*q2-q^6*q1*q2^2-q^6*q2^3-2*q^4*q1^2*q2-4*q^4*q1*q2^2-2*q^4*q2^3-q^2*q1^2*q2-3*q^2*q1*q2^2-2*q^2*q2^3)/(q^8*q1^3+q^6*q1^2*q2-q^2*q1*q2^2-q2^3))*B[(1, 1)] + ((-q^5*q1^2-q^5*q1*q2+q^3*q1*q2+q^3*q2^2+q*q1*q2+q*q2^2)/(-q^6*q1^2+q2^2))*B[(1, 2)] + ((-q^6*q1^2-q^6*q1*q2+q^4*q1*q2+q^4*q2^2+q^2*q1*q2+q^2*q2^2)/(-q^6*q1^2+q2^2))*B[(2, 0)] + ((q^3*q1*q2+q^3*q2^2)/(-q^6*q1^2+q2^2))*B[(2, -1)] + ((-q^5*q1^2-q^5*q1*q2+q^3*q1*q2+q^3*q2^2+q*q1*q2+q*q2^2)/(-q^6*q1^2+q2^2))*B[(2, 1)] + B[(2, 2)] + ((-q^7*q1^2*q2-2*q^7*q1*q2^2-q^7*q2^3-q^5*q1^2*q2-2*q^5*q1*q2^2-q^5*q2^3)/(q^8*q1^3+q^6*q1^2*q2-q^2*q1*q2^2-q2^3))*B[(0, -1)] + ((q^7*q1^3+q^7*q1^2*q2-q^7*q1*q2^2-q^7*q2^3-2*q^5*q1^2*q2-4*q^5*q1*q2^2-2*q^5*q2^3-2*q^3*q1^2*q2-4*q^3*q1*q2^2-2*q^3*q2^3)/(q^8*q1^3+q^6*q1^2*q2-q^2*q1*q2^2-q2^3))*B[(0, 1)] + ((-q^6*q1^2-q^6*q1*q2+q^4*q1*q2+q^4*q2^2+q^2*q1*q2+q^2*q2^2)/(-q^6*q1^2+q2^2))*B[(0, 2)]
++ ((-q^12*q1^6-q^12*q1^5*q2+2*q^10*q1^5*q2+5*q^10*q1^4*q2^2+3*q^10*q1^3*q2^3+2*q^8*q1^5*q2+4*q^8*q1^4*q2^2+q^8*q1^3*q2^3-q^8*q1^2*q2^4+q^8*q1*q2^5+q^8*q2^6-q^6*q1^3*q2^3+q^6*q1^2*q2^4+4*q^6*q1*q2^5+2*q^6*q2^6+q^4*q1^3*q2^3+3*q^4*q1^2*q2^4+4*q^4*q1*q2^5+2*q^4*q2^6)/(-q^12*q1^6-q^10*q1^5*q2-q^8*q1^3*q2^3+q^6*q1^4*q2^2-q^6*q1^2*q2^4+q^4*q1^3*q2^3+q^2*q1*q2^5+q2^6))*B[(0, 0)] + ((q^7*q1^2*q2+2*q^7*q1*q2^2+q^7*q2^3+q^5*q1^2*q2+2*q^5*q1*q2^2+q^5*q2^3)/(-q^8*q1^3-q^6*q1^2*q2+q^2*q1*q2^2+q2^3))*B[(-1, 0)] + ((-q^6*q1*q2-q^6*q2^2)/(q^6*q1^2-q2^2))*B[(-1, -1)] + ((q^6*q1^2*q2+2*q^6*q1*q2^2+q^6*q2^3+q^4*q1^2*q2+2*q^4*q1*q2^2+q^4*q2^3)/(-q^8*q1^3-q^6*q1^2*q2+q^2*q1*q2^2+q2^3))*B[(-1, 1)] + ((-q^3*q1*q2-q^3*q2^2)/(q^6*q1^2-q2^2))*B[(-1, 2)] + ((q^7*q1^3+q^7*q1^2*q2-q^7*q1*q2^2-q^7*q2^3-2*q^5*q1^2*q2-4*q^5*q1*q2^2-2*q^5*q2^3-2*q^3*q1^2*q2-4*q^3*q1*q2^2-2*q^3*q2^3)/(q^8*q1^3+q^6*q1^2*q2-q^2*q1*q2^2-q2^3))*B[(1, 0)] + ((q^6*q1^2*q2+2*q^6*q1*q2^2+q^6*q2^3+q^4*q1^2*q2+2*q^4*q1*q2^2+q^4*q2^3)/(-q^8*q1^3-q^6*q1^2*q2+q^2*q1*q2^2+q2^3))*B[(1, -1)] + ((q^8*q1^3+q^8*q1^2*q2+q^6*q1^3+q^6*q1^2*q2-q^6*q1*q2^2-q^6*q2^3-2*q^4*q1^2*q2-4*q^4*q1*q2^2-2*q^4*q2^3-q^2*q1^2*q2-3*q^2*q1*q2^2-2*q^2*q2^3)/(q^8*q1^3+q^6*q1^2*q2-q^2*q1*q2^2-q2^3))*B[(1, 1)] + ((q^5*q1^2+q^5*q1*q2-q^3*q1*q2-q^3*q2^2-q*q1*q2-q*q2^2)/(q^6*q1^2-q2^2))*B[(1, 2)] + ((-q^6*q1^2-q^6*q1*q2+q^4*q1*q2+q^4*q2^2+q^2*q1*q2+q^2*q2^2)/(-q^6*q1^2+q2^2))*B[(2, 0)] + ((-q^3*q1*q2-q^3*q2^2)/(q^6*q1^2-q2^2))*B[(2, -1)] + ((-q^5*q1^2-q^5*q1*q2+q^3*q1*q2+q^3*q2^2+q*q1*q2+q*q2^2)/(-q^6*q1^2+q2^2))*B[(2, 1)] + B[(2, 2)] + ((q^7*q1^2*q2+2*q^7*q1*q2^2+q^7*q2^3+q^5*q1^2*q2+2*q^5*q1*q2^2+q^5*q2^3)/(-q^8*q1^3-q^6*q1^2*q2+q^2*q1*q2^2+q2^3))*B[(0, -1)] + ((q^7*q1^3+q^7*q1^2*q2-q^7*q1*q2^2-q^7*q2^3-2*q^5*q1^2*q2-4*q^5*q1*q2^2-2*q^5*q2^3-2*q^3*q1^2*q2-4*q^3*q1*q2^2-2*q^3*q2^3)/(q^8*q1^3+q^6*q1^2*q2-q^2*q1*q2^2-q2^3))*B[(0, 1)] + ((q^6*q1^2+q^6*q1*q2-q^4*q1*q2-q^4*q2^2-q^2*q1*q2-q^2*q2^2)/(q^6*q1^2-q2^2))*B[(0, 2)]
+ sage: E.recursion(2*omega[2])
+ [0, 1, 0, 2, 1, 0, 2, 1, 0]
+
+@@ -997,7 +989,7 @@ class NonSymmetricMacdonaldPolynomials(CherednikOperatorsEigenvectors):
+ sage: L0 = E.keys()
+ sage: omega = L0.fundamental_weights()
+ sage: E[2*omega[2]]
+- ((q*q1+q*q2)/(q*q1+q2))*B[(1, 2, 1)] + ((q*q1+q*q2)/(q*q1+q2))*B[(2, 1, 1)] + B[(2, 2, 0)]
++ ((-q*q1-q*q2)/(-q*q1-q2))*B[(1, 2, 1)] + ((-q*q1-q*q2)/(-q*q1-q2))*B[(2, 1, 1)] + B[(2, 2, 0)]
+ sage: for d in range(4): # long time (9s)
+ ....: 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 0d32a8dfbf..5e48f87aad 100644
+--- a/src/sage/combinat/sf/macdonald.py
++++ b/src/sage/combinat/sf/macdonald.py
+@@ -483,7 +483,7 @@ class Macdonald(UniqueRepresentation):
+ sage: Ht = Sym.macdonald().Ht()
+ sage: s = Sym.schur()
+ sage: Ht(s([2,1]))
+- ((-q)/(-q*t^2+t^3+q^2-q*t))*McdHt[1, 1, 1] + ((q^2+q*t+t^2)/(-q^2*t^2+q^3+t^3-q*t))*McdHt[2, 1] + (t/(-q^3+q^2*t+q*t-t^2))*McdHt[3]
++ (q/(q*t^2-t^3-q^2+q*t))*McdHt[1, 1, 1] + ((-q^2-q*t-t^2)/(q^2*t^2-q^3-t^3+q*t))*McdHt[2, 1] + (t/(-q^3+q^2*t+q*t-t^2))*McdHt[3]
+ sage: Ht(s([2]))
+ ((-q)/(-q+t))*McdHt[1, 1] + (t/(-q+t))*McdHt[2]
+ """
+@@ -899,7 +899,7 @@ class MacdonaldPolynomials_generic(sfa.SymmetricFunctionAlgebra_generic):
+ sage: Q._multiply(Q[1],Q[2])
+ McdQ[2, 1] + ((q^2*t-q^2+q*t-q+t-1)/(q^2*t-1))*McdQ[3]
+ sage: Ht._multiply(Ht[1],Ht[2])
+- ((-q^2+1)/(-q^2+t))*McdHt[2, 1] + ((-t+1)/(q^2-t))*McdHt[3]
++ ((q^2-1)/(q^2-t))*McdHt[2, 1] + ((t-1)/(-q^2+t))*McdHt[3]
+ """
+ return self( self._s(left)*self._s(right) )
+
+diff --git a/src/sage/schemes/curves/projective_curve.py b/src/sage/schemes/curves/projective_curve.py
+index b5bd3c8c3e..0b26733ede 100644
+--- a/src/sage/schemes/curves/projective_curve.py
++++ b/src/sage/schemes/curves/projective_curve.py
+@@ -1873,7 +1873,7 @@ class ProjectivePlaneCurve_prime_finite_field(ProjectivePlaneCurve_finite_field)
+ 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)
+- [(-x - 2*y)/(-2*x - 2*y), (-x + z)/(x + y)]
++ [(-2*x + y)/(x + y), (-x + z)/(x + y)]
+
+
+ .. NOTE::
+diff --git a/src/sage/rings/polynomial/multi_polynomial_element.py b/src/sage/rings/polynomial/multi_polynomial_element.py
+index e5d692150c..f4027eb11e 100644
+--- a/src/sage/rings/polynomial/multi_polynomial_element.py
++++ b/src/sage/rings/polynomial/multi_polynomial_element.py
+@@ -2147,7 +2147,7 @@ def degree_lowest_rational_function(r, x):
+ ::
+
+ sage: r = f/g; r
+- (-b*c^2 + 2)/(a*b^3*c^6 - 2*a*c)
++ (-2*b*c^2 - 1)/(2*a*b^3*c^6 + a*c)
+ sage: degree_lowest_rational_function(r,a)
+ -1
+ sage: degree_lowest_rational_function(r,b)