-
-
Notifications
You must be signed in to change notification settings - Fork 503
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
kernel and inverse_image of (polynomial) ring homomorphisms #9792
Comments
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Branch: u/gh-mwageringel/9792 |
New commits:
|
Commit: |
Author: Markus Wageringel |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:5
In Should we also implement a (lib)singular version of the kernel for ideals? Or did you do this already and saw that it was slower? |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
comment:7
Replying to @tscrim:
It would probably be good to wrap the Singular functions Possibly this means that this branch can be refactored such that it only wraps Singular functions, instead of constructing the graph ideal in Sage, unless we want to keep it for more control over the Gröbner basis computations. Here is Singular code for the example from the description:
|
comment:8
Replying to @mwageringel:
We will probably want to have both so we can have it for both generic polynomials (over more exotic base fields (integral domains?)) and specialized code for those implemented using Singular (and less back-and-forth between Singular and Sage). |
comment:10
Implementing this via the libsingular interface is a lot more complicated than I anticipated. It is not currently possible to use Sage's The implementation of algebra_containment is essentially the same as on this branch. The main difference is that The implementation of the Singular function The other option is to use the Singular pexpect interface to wrap |
Reviewer: Travis Scrimshaw |
comment:11
That is too bad. Thank you for trying. I agree that we should get this into Sage now, and we can revisit using libsingular later. |
comment:12
Thank you. |
Changed branch from u/gh-mwageringel/9792 to |
For polynomial ring homomorphisms, this ticket implements the methods
inverse_image
(of both ideals and individual elements)kernel
is_injective
_graph_ideal
(This also works for homomorphisms of polynomial quotient rings, number fields and Galois fields.)
The implementation is based on the following:
Given a homomorphism
f: K[x] -> K[y]
of (multivariate) polynomial rings that respects theK
-algebra structure, we can find preimages ofy
by computing normal forms modulo the graph ideal(x-f(x))
inK[y,x]
with respect to an elimination order. More generally, this works for morphisms of quotient ringsK[x]/I -> K[y]/J
, which allows to handle many types of ring homomorphisms in Sage.References: e.g. [BW1993] Propositions 6.44, 7.71; or Decker-Schreyer, Proposition 2.5.12 and Exercise 2.5.13.
See also #29723 (inverses of ring homomorphisms) and related posts on the mailing list and at Ask-Sagemath.
Example:
Note that the inverse image of ideals (but not of elements) could also be computed using Singular as follows:
CC: @dimpase
Component: algebra
Author: Markus Wageringel
Branch/Commit:
fd6dee6
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/9792
The text was updated successfully, but these errors were encountered: