Open simon-king-jena opened 13 years ago
I forgot to copy-and-paste two lines from the example...
Description changed:
---
+++
@@ -15,6 +15,8 @@
The same example fails with a non-commutative polynomial ring:
It seems that the approach "make NCPolynomialRing_plural
a subclass of MPolynomialRing_libsingular
" is easy.
However, that change is so small that I tend to include it where I really need it: In #11878. So, this should be closed.
There is a function called is_sage_wrapper_for_singular_ring
in the plural patch.
The comment says that it's broken (for whatever reason).
Shouldn't it be the right place for this check?
Replying to @sagetrac-PolyBoRi:
There is a function called
is_sage_wrapper_for_singular_ring
in the plural patch. The comment says that it's broken (for whatever reason). Shouldn't it be the right place for this check?
Looking at the code, I don't understand why it doesn't work.
However, I have to think how to organise work. Things to do involve
NCPolynomialRing_plural
from MPolynomialRing_libsingular
. That would suffice to fix this ticket.These three "to-do"s are closely linked.
Do I understand correctly that generally it is better to have several smaller tickets, rather than one big ticket?
I suggest to proceed as follows:
NCPolynomialRing_plural
inheriting from MPolynomialRing_libsingular
, and separate rings from their elements.Sorry, I do not have the time to check anything in detail now. I was a little bit surprised that the ticket is still open. I am sure that the functionality worked before.
You can use a common base class, if you want.
But inheriting the noncommutative ring from the commutative seems absolutely the wrong way to go.
Still abstractions like is_sage_wrapper_for_singular_ring
seem unavoidable to me.
Thank for all your efforts (very appreciated) and my strong opinion without being able to dive into the topic again.
Cheers, Michael
4539 provides g-algebras (non-commutative polynomial rings). However,
sage.libs.singular.function.singular_function
doesn't accept them as input.Here is an example that works with usual polynomial rings
The same example fails with a non-commutative polynomial ring:
Apart from the misleading warning about the ideal otained from std not being a standard basis, I think the second example should work.
Two approaches: Add
sage.rings.polynomial.plural.NCPolynomialRing_plural
as a special case tosage.libs.singular.function
, or make the non-commutative rings inherit from the commutative (or probably better the other way around), such that isinstance is happy.Depends on #4539
CC: @saliola @mwhansen @alexanderdreyer @sagetrac-OleksandrMotsak @sagetrac-PolyBoRi @malb @burcin
Component: algebra
Issue created by migration from https://trac.sagemath.org/ticket/11892