Back to Forum | View unanswered posts | View active topics
Topic review - use extra knowledge to speed up preimage calculation? |
Author |
Message |
|
|
Post subject: |
Re: use extra knowledge to speed up preimage calculation? |
|
|
Hi, I would suggest doing the preimage algorithm on your own. Take the Singular book and look for the algorithm; in it, having phi: S->r, you construct the ring T := r tensor S (tensor over the groundfield). Specify a nice elimination ordering on T. In what follows I use the notation from your example. Indeed you can start with Singular operation, which will do the job: Code: def T = r+S; setring T; Then, take your input ideal I from S, imap it to T and add to I the set of generators {x_i - \phi(x_i): x_i are generators of R} as well as the part of the known answer from R. Code: ideal Q = imap(r,Q); int i; ideal K; for(i=1; i<=size(Q);i++) { K = K, var(3+i) - Q[i]; }
Run slimgb or your favourite Groebner command with Code: option(prot); option(mem); // will show protocol of computation and memory usage K = interred(K); // helps removing linear dependencies ideal L = groebner(K);
and see what happens. In case of termination you obtain a big ideal and have to extract from it elements with leading monomial lying in R (thus just invoking the elimination lemma, cf. the Singular book). Have fun! Regards, Viktor
Hi, I would suggest doing the preimage algorithm on your own. Take the Singular book and look for the algorithm; in it, having phi: S->r, you construct the ring T := r tensor S (tensor over the groundfield). Specify a nice elimination ordering on T.
In what follows I use the notation from your example.
Indeed you can start with Singular operation, which will do the job: [code]def T = r+S; setring T; [/code]
Then, take your input ideal I from S, imap it to T and add to I the set of generators {x_i - \phi(x_i): x_i are generators of R} as well as the part of the known answer from R. [code] ideal Q = imap(r,Q); int i; ideal K; for(i=1; i<=size(Q);i++) { K = K, var(3+i) - Q[i]; } [/code]
Run slimgb or your favourite Groebner command with [code] option(prot); option(mem); // will show protocol of computation and memory usage K = interred(K); // helps removing linear dependencies ideal L = groebner(K); [/code] and see what happens. In case of termination you obtain a big ideal and have to extract from it elements with leading monomial lying in R (thus just invoking the elimination lemma, cf. the Singular book).
Have fun! Regards, Viktor
|
|
|
|
Posted: Tue Sep 11, 2012 6:47 pm |
|
|
|
|
|
Post subject: |
Re: use extra knowledge to speed up preimage calculation? |
|
|
After 3-4 days the calculation finished but the question still stands so here is what I do:
--------------------------------------- int charakter = 7; // eventually I would be interested in characteristic 0. ring S = charakter, (x(1..78), w(1..4)), dp; ring r = charakter, (x,y,z), dp; ideal nu = 0; ideal a = x*y*z*(x+y+z), y^10*z^5-2*y^9*z^6+3*y^8*z^7+3*y^7*z^8-2*y^6*z^9+y^5*z^10, x*y^9*z^5-3*x*y^8*z^6-x*y^7*z^7-3*x*y^6*z^8+x*y^5*z^9, x^10*z^5-2*x^9*z^6+3*x^8*z^7+3*x^7*z^8-2*x^6*z^9+x^5*z^10, x^10*y^5-2*x^9*y^6+3*x^8*y^7+3*x^7*y^8-2*x^6*y^9+x^5*y^10; //I want to compute the subring of k[x,y,z] generated by the elements of // order 15 in the ideal a, which are easy to read of: ideal Q = maxideal(11)*a[1], a[2], a[3], a[4], a[5] ; map phi = S, Q; setring(S); ideal K = preimage(r,phi, nu); // Caution: this may take some time... -----------------------------------------------------
Clearly the relations between the x(i) are the usual relations for the 11-fold veronese embedding which are easy to compute. Is there a way to provide this extra information to Singular to speed up calculation?
Thanks for your interest!
Sönke
After 3-4 days the calculation finished but the question still stands so here is what I do:
--------------------------------------- int charakter = 7; // eventually I would be interested in characteristic 0. ring S = charakter, (x(1..78), w(1..4)), dp; ring r = charakter, (x,y,z), dp; ideal nu = 0; ideal a = x*y*z*(x+y+z), y^10*z^5-2*y^9*z^6+3*y^8*z^7+3*y^7*z^8-2*y^6*z^9+y^5*z^10, x*y^9*z^5-3*x*y^8*z^6-x*y^7*z^7-3*x*y^6*z^8+x*y^5*z^9, x^10*z^5-2*x^9*z^6+3*x^8*z^7+3*x^7*z^8-2*x^6*z^9+x^5*z^10, x^10*y^5-2*x^9*y^6+3*x^8*y^7+3*x^7*y^8-2*x^6*y^9+x^5*y^10; //I want to compute the subring of k[x,y,z] generated by the elements of // order 15 in the ideal a, which are easy to read of: ideal Q = maxideal(11)*a[1], a[2], a[3], a[4], a[5] ; map phi = S, Q; setring(S); ideal K = preimage(r,phi, nu); // Caution: this may take some time... -----------------------------------------------------
Clearly the relations between the x(i) are the usual relations for the 11-fold veronese embedding which are easy to compute. Is there a way to provide this extra information to Singular to speed up calculation?
Thanks for your interest!
Sönke
|
|
|
|
Posted: Mon Mar 05, 2012 12:05 pm |
|
|
|
|
|
Post subject: |
Re: use extra knowledge to speed up preimage calculation? |
|
|
Thank you for your interest in Singular. I suggest that you add the relevant code to your example so that we can play with it.
Thank you for your interest in Singular. I suggest that you add the relevant code to your example so that we can play with it.
|
|
|
|
Posted: Sat Mar 03, 2012 1:13 pm |
|
|
|
|
|
Post subject: |
use extra knowledge to speed up preimage calculation? |
|
|
I am trying to compute an ideal J (in a large ring) as a kernel of a ring map f:S-> R and I am not sure if it is going to finish (currently running 48h).
I know some of the generators of J. Can I use this to speed up the calculation? For example, does it help in any way if I use a quotient ring of S as the source of the map f?
Thanks for hints!
Sönke
I am trying to compute an ideal J (in a large ring) as a kernel of a ring map f:S-> R and I am not sure if it is going to finish (currently running 48h).
I know some of the generators of J. Can I use this to speed up the calculation? For example, does it help in any way if I use a quotient ring of S as the source of the map f?
Thanks for hints!
Sönke
|
|
|
|
Posted: Fri Mar 02, 2012 5:50 pm |
|
|
|
|
|
It is currently Fri May 13, 2022 11:04 am
|
|