Closed jdemeyer closed 3 years ago
Dependencies: #24735
Description changed:
---
+++
@@ -1 +1,64 @@
+**Tarball**: http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/4-1-1/singular-4.1.1p3.tar.gz
+This is breaking `p_group_cohomology`:
+
+```
+
+sage -t src/sage/tests/modular_group_cohomology.py
+**********************************************************************
+File "src/sage/tests/modular_group_cohomology.py", line 52, in sage.tests.modular_group_cohomology
+Failed example:
+H.essential_ideal() # optional - p_group_cohomology
+Exception raised:
+Traceback (most recent call last):
+File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 573, in _run
+self.compile_and_execute(example, compiler, test.globs)
+File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 983, in compile_and_execute
+exec(compiled, globs)
+File "<doctest sage.tests.modular_group_cohomology[12]>", line 1, in <module>
+H.essential_ideal() # optional - p_group_cohomology
+File "pGroupCohomology/cohomology.pyx", line 1691, in pGroupCohomology.cohomology.permanent_result.__call__
+File "pGroupCohomology/cohomology.pyx", line 5180, in pGroupCohomology.cohomology.COHO.essential_ideal
+File "pGroupCohomology/cohomology.pyx", line 9760, in pGroupCohomology.cohomology.COHO._lower_bound_depth
+File "pGroupCohomology/cohomology.pyx", line 1691, in pGroupCohomology.cohomology.permanent_result.__call__
+File "pGroupCohomology/cohomology.pyx", line 9826, in pGroupCohomology.cohomology.COHO.depth
+File "pGroupCohomology/cohomology.pyx", line 1691, in pGroupCohomology.cohomology.permanent_result.__call__
+File "pGroupCohomology/cohomology.pyx", line 8041, in pGroupCohomology.cohomology.COHO.filter_regular_parameters
+File "pGroupCohomology/cohomology.pyx", line 1691, in pGroupCohomology.cohomology.permanent_result.__call__
+File "pGroupCohomology/cohomology.pyx", line 8788, in pGroupCohomology.cohomology.COHO.find_small_last_parameter
+File "pGroupCohomology/cohomology.pyx", line 8694, in pGroupCohomology.cohomology.COHO.find_small_last_parameter
+File "pGroupCohomology/cohomology.pyx", line 1691, in pGroupCohomology.cohomology.permanent_result.__call__
+File "pGroupCohomology/cohomology.pyx", line 8380, in pGroupCohomology.cohomology.COHO._get_obvious_parameter
+File "pGroupCohomology/cohomology.pyx", line 6471, in pGroupCohomology.cohomology.COHO.standard_monomials
+File "pGroupCohomology/cohomology.pyx", line 6356, in pGroupCohomology.cohomology.COHO._makeStdMon
+File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/interfaces/interface.py", line 655, in __call__
+return self._obj.parent().function_call(self._name, [self._obj] + list(args), kwds)
+File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/interfaces/interface.py", line 576, in function_call
+return self.new(s)
+File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/interfaces/interface.py", line 345, in new
+return self(code)
+File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/interfaces/singular.py", line 798, in __call__
+return SingularElement(self, type, x, False)
+File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/interfaces/singular.py", line 1284, in __init__
+raise_(TypeError, TypeError(x), sys.exc_info()[2])
+File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/interfaces/singular.py", line 1279, in __init__
+self._name = parent._create(value, type)
+File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/interfaces/singular.py", line 759, in _create
+self.set(type, name, value)
+File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/interfaces/singular.py", line 702, in set
+self.eval(cmd)
+File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/interfaces/singular.py", line 660, in eval
+raise SingularError('Singular error:\n%s'%s)
+TypeError: Singular error:
+? ncols(`int`) failed
+? expected ncols(`matrix`)
+? expected ncols(`smatrix`)
+? expected ncols(`ideal`)
+? expected ncols(`module`)
+? expected ncols(`intmat`)
+? expected ncols(`bigintmat`)
+? error occurred in or before STDIN line 5765: ``
+**********************************************************************
+```
+
+(a few more similar error in the same file)
Branch: u/jdemeyer/ticket/25993
Description changed:
---
+++
@@ -3,7 +3,6 @@
This is breaking `p_group_cohomology`:
- sage -t src/sage/tests/modular_group_cohomology.py
File "src/sage/tests/modular_group_cohomology.py", line 52, in sage.tests.modular_group_cohomology @@ -62,3 +61,5 @@
(a few more similar error in the same file)
+
+It's not clear to me whether this is a Singular bug or a p_group_cohomology bug.
Last 10 new commits:
0f55b76 | More real -> Float porting |
aea0544 | Don't check for exact Singular version |
4e52b5e | Use p_Divide for lcm as suggested by upstream |
50b9ae2 | Backport patch to move singular's NTL handling out of libsingular |
7b56ef2 | Document patch |
930ba2e | Remove duplicate cimport |
f31d9da | Move patch documentation inside patch itself |
07ef11b | rest -> reminder |
a9e5aed | Minor fixes to Singular interface |
ec53e6f | Upgrade to Singular 4.1.1p3 |
Sigh. So I have to upgrade the group cohomology package earlier than I thought. I'll see what I can do (after grading some exam).
The ticket description prominently tells that the group cohomology package is failing, but the title of the ticket is about upgrading Singular.
So, just to be sure about the topic of this ticket:
Replying to @jdemeyer:
It's not clear to me whether this is a Singular bug or a p_group_cohomology bug.
Most likely it is an API change.
This ticket is about upgrading Singular. If the p_group_cohomology package must be changed, ideally it should be done in a way which makes it compatible both with Singular 4.1.1p3 as well as earlier versions. In that case, the upgrade of p_group_cohomology can be done on a different ticket and #25993 should depend on that.
Concerning the commit history, only the last commit belongs to this ticket. The rest belongs to #24735 which is an upgrade of Singular to 4.1.1p2.
Replying to @jdemeyer:
Concerning the commit history, only the last commit belongs to this ticket. The rest belongs to #24735 which is an upgrade of Singular to 4.1.1p2.
I see. Do you know if the breakage already happens in p2?
PS: I recently added a patch to Singular which backports a bugfix that is important to me. Is that bugfix in Singular-4.1.1?
Replying to @simon-king-jena:
I see. Do you know if the breakage already happens in p2?
I know that it does not occur. That's also a good reason to do the upgrade in two steps: first to 4.1.1p2 which works fine and then to 4.1.1p3 (or a later version) once p_group_cohomology is fixed.
Replying to @jdemeyer:
Replying to @simon-king-jena:
I see. Do you know if the breakage already happens in p2?
I know that it does not occur. That's also a good reason to do the upgrade in two steps: first to 4.1.1p2 which works fine and then to 4.1.1p3 (or a later version) once p_group_cohomology is fixed.
Thank you! That sounds like a good plan. And do you know about the backported bug fix?
Replying to @simon-king-jena:
I recently added a patch to Singular which backports a bugfix that is important to me. Is that bugfix in Singular-4.1.1?
That's hard to say if you don't say which patch you mean. In any case, all patches which are currently (in Sage 8.3.rc3) applied to Singular are included in Singular 4.1.1p2.
Note that you said 4.1.1 but I guess you really care about 4.1.1p2 or 4.1.1p3. Despite what the version numbers suggest, experience shows that Singular adds non-trivial changes in such patch-releases.
Replying to @jdemeyer:
Replying to @simon-king-jena:
I recently added a patch to Singular which backports a bugfix that is important to me. Is that bugfix in Singular-4.1.1?
That's hard to say if you don't say which patch you mean. In any case, all patches which are currently (in Sage 8.3.rc3) applied to Singular are included in Singular 4.1.1p2.
It is backport_std.patch
Note that you said 4.1.1 but I guess you really care about 4.1.1p2 or 4.1.1p3. Despite what the version numbers suggest, experience shows that Singular adds non-trivial changes in such patch-releases.
I see. I thought that the "p something" patch level is Sage's addition of patches, not Singular's.
Upstream: Fixed upstream, but not in a stable release.
Description changed:
---
+++
@@ -1,3 +1,5 @@
+We need to add a fix for https://www.singular.uni-kl.de:8005/trac/ticket/834
+
**Tarball**: http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/4-1-1/singular-4.1.1p3.tar.gz
This is breaking `p_group_cohomology`:
Replying to @simon-king-jena:
I see. I thought that the "p something" patch level is Sage's addition of patches, not Singular's.
No, Sage's p levels have a dot. So you can have a Singular package version number like 4.1.1p2.p0
(where 4.1.1p2
comes from Singular upstream and .p0
from Sage). I know, it's confusing :-)
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
83c8ac2 | Upgrade to Singular 4.1.1p3 |
Replying to @simon-king-jena:
It is
backport_std.patch
Sorry, I don't know what you mean. Where should I find this patch?
Replying to @jdemeyer:
Replying to @simon-king-jena:
It is
backport_std.patch
Sorry, I don't know what you mean. Where should I find this patch?
Replying to @simon-king-jena:
Sigh. So I have to upgrade the group cohomology package earlier than I thought.
At least this time, it's not the fault of Sage but Singular :-)
I created #26001 to deal with the now needed upgrade of the group cohomology package. I suggest that I bae #26001 on top of #24735 (which by now is positively reviewed) and make the new ticket a dependency for the upgrade of Singular to version 4.1.1.p3.
Changed dependencies from #24735 to #24735 #26001
Is this supposed to pass the non-optional doctests already? I cherry-picket the last two commits (Upgrade to Singular 4.1.1p3
and Minor fixes to Singular interface
) and added the patch to singular in an attempt to update nix's Singular to p3. I'm getting a segfault while running the doctests:
File "/nix/store/pzc940fjxrhq17j58krwry2y7wi9czh8-sage-src-8.3/src/sage/rings/polynomial/plural.pyx", line 396, in sage.rings.polynomial.plural.NCPolynomialRing_plural.__dealloc__
Failed example:
R2 = A2.g_algebra({y*x:x*y-z, z*x:x*z+2*x, z*y:y*z-2*y}, order=TermOrder('degrevlex', 2))
Exception raised:
Traceback (most recent call last):
File "/nix/store/ic3b215ln47d0js46lyvc7zjizd9jfqp-python-2.7.15-env/lib/python2.7/site-packages/sage/doctest/forker.py", line 573, in _run
self.compile_and_execute(example, compiler, test.globs)
File "/nix/store/ic3b215ln47d0js46lyvc7zjizd9jfqp-python-2.7.15-env/lib/python2.7/site-packages/sage/doctest/forker.py", line 983, in compile_and_execute
exec(compiled, globs)
File "<doctest sage.rings.polynomial.plural.NCPolynomialRing_plural.__dealloc__[6]>", line 1, in <module>
R2 = A2.g_algebra({y*x:x*y-z, z*x:x*z+Integer(2)*x, z*y:y*z-Integer(2)*y}, order=TermOrder('degrevlex', Integer(2)))
File "/nix/store/ic3b215ln47d0js46lyvc7zjizd9jfqp-python-2.7.15-env/lib/python2.7/site-packages/sage/algebras/free_algebra.py", line 876, in g_algebra
order=order, check=check)
File "sage/structure/factory.pyx", line 368, in sage.structure.factory.UniqueFactory.__call__ (build/cythonized/sage/structure/factory.c:2046)
return self.get_object(version, key, kwds)
File "sage/structure/factory.pyx", line 411, in sage.structure.factory.UniqueFactory.get_object (build/cythonized/sage/structure/factory.c:2422)
obj = self.create_object(version, key, **extra_args)
File "sage/rings/polynomial/plural.pyx", line 173, in sage.rings.polynomial.plural.G_AlgFactory.create_object (build/cythonized/sage/rings/polynomial/plural.cpp:5046)
return NCPolynomialRing_plural(base_ring, names, c, d, order,
File "sage/rings/polynomial/plural.pyx", line 351, in sage.rings.polynomial.plural.NCPolynomialRing_plural.__init__ (build/cythonized/sage/rings/polynomial/plural.cpp:6406)
test = ff.nctools__lib.ndcond(ring = self)
File "sage/libs/singular/function.pyx", line 1330, in sage.libs.singular.function.SingularFunction.__call__ (build/cythonized/sage/libs/singular/function.cpp:15332)
return call_function(self, args, ring, interruptible, attributes)
File "sage/libs/singular/function.pyx", line 1512, in sage.libs.singular.function.call_function (build/cythonized/sage/libs/singular/function.cpp:17285)
with opt_ctx: # we are preserving the global options state here
File "sage/libs/singular/function.pyx", line 1514, in sage.libs.singular.function.call_function (build/cythonized/sage/libs/singular/function.cpp:17197)
sig_on()
SignalError: Segmentation fault
Note that this will also break the build of polymake (not sure if it affects the 3.1 version shipped by Sage)
4.1.1p4 is out, with fixes for the gcd in ZZ and the polymake issue. But (of course) with new problems: the stest function has changed signature and now only accepts two parameters [1]. After porting the Sage code I'm getting floating point exceptions
File "/usr/lib/python2.7/site-packages/sage/rings/quotient_ring_element.py", line 629, in sage.rings.quotient_ring_element.QuotientRingElement._richcmp_
Failed example:
I = F*[x*y+y*z,x^2+x*y-y*x-y^2]*F
Exception raised:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/sage/doctest/forker.py", line 671, in _run
self.compile_and_execute(example, compiler, test.globs)
File "/usr/lib/python2.7/site-packages/sage/doctest/forker.py", line 1086, in compile_and_execute
exec(compiled, globs)
File "<doctest sage.rings.quotient_ring_element.QuotientRingElement._richcmp_[7]>", line 1, in <module>
I = F*[x*y+y*z,x**Integer(2)+x*y-y*x-y**Integer(2)]*F
File "sage/structure/element.pyx", line 1517, in sage.structure.element.Element.__mul__ (build/cythonized/sage/structure/element.c:12022)
return (<Element>left)._mul_(right)
File "sage/algebras/letterplace/free_algebra_element_letterplace.pyx", line 604, in sage.algebras.letterplace.free_algebra_element_letterplace.FreeAlgebraElement_letterplace._mul_ (build/cythonized/sage/algebras/letterplace/free_algebra_element_letterplace.cpp:9487)
rshift = singular_system("stest",right._poly,left._poly.degree(), ring=A._current_ring)
File "sage/libs/singular/function.pyx", line 1330, in sage.libs.singular.function.SingularFunction.__call__ (build/cythonized/sage/libs/singular/function.cpp:15055)
return call_function(self, args, ring, interruptible, attributes)
File "sage/libs/singular/function.pyx", line 1512, in sage.libs.singular.function.call_function (build/cythonized/sage/libs/singular/function.cpp:16879)
with opt_ctx: # we are preserving the global options state here
File "sage/libs/singular/function.pyx", line 1514, in sage.libs.singular.function.call_function (build/cythonized/sage/libs/singular/function.cpp:16791)
sig_on()
FloatingPointError: Floating point exception
[1] https://github.com/Singular/Sources/commit/b00f8a34fb50dbff4746ce45d0680d242f28260c
Replying to @antonio-rojas:
4.1.1p4 is out
Really? I don't see it on ftp://jim.mathematik.uni-kl.de/pub/Math/Singular/SOURCES/4-1-1/
Replying to @jdemeyer:
Replying to @antonio-rojas:
4.1.1p4 is out
Really? I don't see it on ftp://jim.mathematik.uni-kl.de/pub/Math/Singular/SOURCES/4-1-1/
That mirror seems to be outdated
https://service.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/4-1-1/
Description changed:
---
+++
@@ -1,67 +1,5 @@
We need to add a fix for https://www.singular.uni-kl.de:8005/trac/ticket/834
-**Tarball**: http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/4-1-1/singular-4.1.1p3.tar.gz
+**Tarball**: https://service.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/4-1-1/singular-4.1.1p4.tar.gz
-This is breaking `p_group_cohomology`:
-
-```
-sage -t src/sage/tests/modular_group_cohomology.py
-**********************************************************************
-File "src/sage/tests/modular_group_cohomology.py", line 52, in sage.tests.modular_group_cohomology
-Failed example:
-H.essential_ideal() # optional - p_group_cohomology
-Exception raised:
-Traceback (most recent call last):
-File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 573, in _run
-self.compile_and_execute(example, compiler, test.globs)
-File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 983, in compile_and_execute
-exec(compiled, globs)
-File "<doctest sage.tests.modular_group_cohomology[12]>", line 1, in <module>
-H.essential_ideal() # optional - p_group_cohomology
-File "pGroupCohomology/cohomology.pyx", line 1691, in pGroupCohomology.cohomology.permanent_result.__call__
-File "pGroupCohomology/cohomology.pyx", line 5180, in pGroupCohomology.cohomology.COHO.essential_ideal
-File "pGroupCohomology/cohomology.pyx", line 9760, in pGroupCohomology.cohomology.COHO._lower_bound_depth
-File "pGroupCohomology/cohomology.pyx", line 1691, in pGroupCohomology.cohomology.permanent_result.__call__
-File "pGroupCohomology/cohomology.pyx", line 9826, in pGroupCohomology.cohomology.COHO.depth
-File "pGroupCohomology/cohomology.pyx", line 1691, in pGroupCohomology.cohomology.permanent_result.__call__
-File "pGroupCohomology/cohomology.pyx", line 8041, in pGroupCohomology.cohomology.COHO.filter_regular_parameters
-File "pGroupCohomology/cohomology.pyx", line 1691, in pGroupCohomology.cohomology.permanent_result.__call__
-File "pGroupCohomology/cohomology.pyx", line 8788, in pGroupCohomology.cohomology.COHO.find_small_last_parameter
-File "pGroupCohomology/cohomology.pyx", line 8694, in pGroupCohomology.cohomology.COHO.find_small_last_parameter
-File "pGroupCohomology/cohomology.pyx", line 1691, in pGroupCohomology.cohomology.permanent_result.__call__
-File "pGroupCohomology/cohomology.pyx", line 8380, in pGroupCohomology.cohomology.COHO._get_obvious_parameter
-File "pGroupCohomology/cohomology.pyx", line 6471, in pGroupCohomology.cohomology.COHO.standard_monomials
-File "pGroupCohomology/cohomology.pyx", line 6356, in pGroupCohomology.cohomology.COHO._makeStdMon
-File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/interfaces/interface.py", line 655, in __call__
-return self._obj.parent().function_call(self._name, [self._obj] + list(args), kwds)
-File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/interfaces/interface.py", line 576, in function_call
-return self.new(s)
-File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/interfaces/interface.py", line 345, in new
-return self(code)
-File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/interfaces/singular.py", line 798, in __call__
-return SingularElement(self, type, x, False)
-File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/interfaces/singular.py", line 1284, in __init__
-raise_(TypeError, TypeError(x), sys.exc_info()[2])
-File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/interfaces/singular.py", line 1279, in __init__
-self._name = parent._create(value, type)
-File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/interfaces/singular.py", line 759, in _create
-self.set(type, name, value)
-File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/interfaces/singular.py", line 702, in set
-self.eval(cmd)
-File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/interfaces/singular.py", line 660, in eval
-raise SingularError('Singular error:\n%s'%s)
-TypeError: Singular error:
-? ncols(`int`) failed
-? expected ncols(`matrix`)
-? expected ncols(`smatrix`)
-? expected ncols(`ideal`)
-? expected ncols(`module`)
-? expected ncols(`intmat`)
-? expected ncols(`bigintmat`)
-? error occurred in or before STDIN line 5765: ``
-**********************************************************************
-```
-
-(a few more similar error in the same file)
-
-It's not clear to me whether this is a Singular bug or a p_group_cohomology bug.
+This is breaking `p_group_cohomology`, which is why #26001 is a dependency.
Changed dependencies from #24735 #26001 to #26001
Can you test if it is also breaking the new version of p_group_cohomology (see #26001), which is ready for review?
Replying to @simon-king-jena:
Can you test if it is also breaking the new version of p_group_cohomology (see #26001), which is ready for review?
I did test: The upgrade to singular-4.1.1p3 is not problematic with the new version of p_group_cohomology. I cannot tell about p4, of course.
Anyway, some good news for the start of the new year...
Changed dependencies from #26001 to none
Description changed:
---
+++
@@ -1,5 +1,3 @@
We need to add a fix for https://www.singular.uni-kl.de:8005/trac/ticket/834
**Tarball**: https://service.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/4-1-1/singular-4.1.1p4.tar.gz
-
-This is breaking `p_group_cohomology`, which is why #26001 is a dependency.
Changed upstream from Fixed upstream, but not in a stable release. to none
Description changed:
---
+++
@@ -1,3 +1 @@
-We need to add a fix for https://www.singular.uni-kl.de:8005/trac/ticket/834
-
**Tarball**: https://service.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/4-1-1/singular-4.1.1p4.tar.gz
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
4bd32fe | Upgrade to Singular 4.1.1p4 |
This version compiles, but leads to doctest failures, in particular
sage -t src/sage/rings/quotient_ring.py
**********************************************************************
File "src/sage/rings/quotient_ring.py", line 89, in sage.rings.quotient_ring
Failed example:
Q3 = F.quo(F*[F.prod(m) for m in product(F.gens(), repeat=3)]*F)
Exception raised:
Traceback (most recent call last):
File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 671, in _run
self.compile_and_execute(example, compiler, test.globs)
File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 1086, in compile_and_execute
exec(compiled, globs)
File "<doctest sage.rings.quotient_ring[20]>", line 1, in <module>
Q3 = F.quo(F*[F.prod(m) for m in product(F.gens(), repeat=Integer(3))]*F)
File "/usr/local/src/sage-config/local/lib/python2.7/site-packages/sage/categories/monoids.py", line 158, in prod
return prod(args, self.one())
File "sage/misc/misc_c.pyx", line 144, in sage.misc.misc_c.prod (build/cythonized/sage/misc/misc_c.c:2570)
prod = balanced_list_prod(x, 0, n, recursion_cutoff)
File "sage/misc/misc_c.pyx", line 180, in sage.misc.misc_c.balanced_list_prod (build/cythonized/sage/misc/misc_c.c:2706)
prod *= <object>PySequence_Fast_GET_ITEM(L, k)
File "sage/structure/element.pyx", line 1517, in sage.structure.element.Element.__mul__ (build/cythonized/sage/structure/element.c:12023)
return (<Element>left)._mul_(right)
File "sage/algebras/letterplace/free_algebra_element_letterplace.pyx", line 604, in sage.algebras.letterplace.free_algebra_element_letterplace.FreeAlgebraElement_letterplace._mul_ (build/cythonized/sage/algebras/letterplace/free_algebra_element_letterplace.cpp:9525)
rshift = singular_system("stest",right._poly,left._poly.degree(),A._degbound,A.__ngens, ring=A._current_ring)
File "sage/libs/singular/function.pyx", line 1330, in sage.libs.singular.function.SingularFunction.__call__ (build/cythonized/sage/libs/singular/function.cpp:15057)
return call_function(self, args, ring, interruptible, attributes)
File "sage/libs/singular/function.pyx", line 1528, in sage.libs.singular.function.call_function (build/cythonized/sage/libs/singular/function.cpp:17033)
raise RuntimeError("error in Singular function call %r:\n%s" %
RuntimeError: error in Singular function call 'system':
wrong length of parameters(4), expected `poly`,`int`
**********************************************************************
Yes, see comment:25. The letterplace algebra implementation has been completely rewritten in Singular, in particular "stest" can only be used with rings that are explicitely declared as letterplace. In the long term free_algebra_letterplace.pyx should be refactored to use the new implementation, but a faster short-term solution could be to implement an internal variable shifting method in Sage itself (to replace "stest" usage).
Changed keywords from none to upgrade, Singular
It seems Singular 4-1-2 is out, see the GitHub "releases" page and one official sources directory at uni-kl:
So far no mention on the Singular home page or download page:
but I guess they will be updated soon.
Relevant changes: system("stest") and system("freegb") are no longer a thing. There is a stest function now, but it's marked static so not accessible from outside the library.
Replying to @antonio-rojas:
Relevant changes: system("stest") and system("freegb") are no longer a thing. There is a stest function now, but it's marked static so not accessible from outside the library.
That's quite unfortunate. freegb is needed for free commutative algebras in letterplace implementation. I am not sure if stest is needed there, too.
Any replacement for freegb?
Replying to @simon-king-jena:
Replying to @antonio-rojas:
Relevant changes: system("stest") and system("freegb") are no longer a thing. There is a stest function now, but it's marked static so not accessible from outside the library.
That's quite unfortunate. freegb is needed for free commutative algebras in letterplace implementation. I am not sure if stest is needed there, too.
Any replacement for freegb?
Looks like one can simply use std now https://github.com/Singular/Sources/commit/6a0ad754
Description changed:
---
+++
@@ -1 +1 @@
-**Tarball**: https://service.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/4-1-1/singular-4.1.1p4.tar.gz
+**Tarball**: https://service.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/4-1-2/singular-4.1.2p1.tar.gz
Replying to @antonio-rojas:
Looks like one can simply use std now https://github.com/Singular/Sources/commit/6a0ad754
Indeed, std
/twostd
can be used for this, but one needs to work over a polynomial ring constructed via freeAlgebra
, so that certain attributes like the degree bound are set for the computation.
However, I do not see how to make the degrees
option work, as Singular's freeAlgebra
function does not allow for block orders:
sage: F.<a,b,c> = FreeAlgebra(QQ, implementation='letterplace', degrees=(1,2,3))
sage: F.commutative_ring().term_order()
Block term order with blocks:
(Degree reverse lexicographic term order of length 3,
Lexicographic term order of length 1)
sage: from sage.libs.singular.function_factory import ff
sage: A = ff.freegb__lib.freeAlgebra(F.commutative_ring(), 5)
...
RuntimeError: error in Singular function call 'freeAlgebra':
only for rings with a global ordering of one block
This is with Singular 4.1.2p1 (freeAlgebra
does not exist in the Singular version that is currently in Sage).
The other failing doctests seem mostly harmless.
Tarball:
see checksums.ini
on the branchUse
make SAGE_SPKG="sage-spkg -o" singular-clean sagelib-clean build
to automatically download and install."Critical" because it enables supporting newer versions of FLINT.
We use the Singular development branch (
spielwiese
) + PR https://github.com/Singular/Singular/pull/1058 in order to build documentation. The tarball is made from https://github.com/mkoeppe/Singular/tree/Release-4-2-0-p1%2BsageUpstream: Fixed upstream, but not in a stable release.
CC: @simon-king-jena @timokau @slel @isuruf @saraedum @dkrenn @sagetrac-araichev @cheuberg @behackl @dimpase @videlec
Component: packages: standard
Keywords: upgrade, Singular, pysingular
Author: Antonio Rojas, Markus Wageringel, Matthias Koeppe
Branch:
ec471e0
Reviewer: Matthias Koeppe, Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/25993