-
-
Notifications
You must be signed in to change notification settings - Fork 481
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proper implementation of quotients of g-algebras and polynomial rings #11878
Comments
comment:1
It turns out that the code for the quotients from #4539 did not work properly, because comparison of elements of g-algebras did not take into account the relations. |
comment:2
I have a question, and probably Oleksandr knows the answer: Assume we are in a quotient ring Q (not sca) in Singular. As we know, the normal form of a polynomial p with respect to the defining ideal of the quotient ring is not automatically computed. But it can be obtained by NF(p,std(0)). I tried to create a Gröbner strategy object G for the zero ideal in Q. However, G.normal_form(p) did not reduce p. G.normal_form relies on the function Is I found another function Or, positively asked: What Singular function called from NF is responsible for the reduction of quotient ring elements? |
comment:3
I think I start to understand. The function |
comment:4
I broadened the purpose of the ticket: Implementing quotients of multivariate polynomial rings via Singular should be just as easy as implementing quotients of g-algebras via Plural. There is a design problem for the elements, though. I see three approaches:
All three approaches have disadvantages: The first approach may slow down the arithmetic of polynomials, since any call to hash, repr and cmp would involve a test whether the parent is a quotient ring. The second would imply a massive code duplication. The third may, again, slow down arithmetic, since (as in the first approach) arithmetic is spoiled by additional tests. Modern editors are capable to copy-and-paste, and I prefer speed. Thus, I'll go for the second approach, unless one of you objects. |
This comment has been minimized.
This comment has been minimized.
comment:5
If one goes for the second approach, one should use the occasion and refactor the code of |
comment:6
using |
The wrapper at #4539 originally tried to use Singular for computations in quotients of g-algebras. But for some reasons it did not work, and thus it was decided to temporarily use generic quotient rings, so that the ticket can be merged.
The purpose here is to use rings constructed by Singular from a "ring list", which should provide a more efficient implementation.
There should also be a proper implementation for the commutative case as well. Currently, generic code is used:
Depends on #4539
CC: @burcin @saliola @mwhansen @alexanderdreyer @sagetrac-OleksandrMotsak @sagetrac-PolyBoRi @malb
Component: algebra
Keywords: g-algebra Singular quotient
Issue created by migration from https://trac.sagemath.org/ticket/11878
The text was updated successfully, but these errors were encountered: