Singular
https://www.singular.uni-kl.de/forum/

use extra knowledge to speed up preimage calculation?
https://www.singular.uni-kl.de/forum/viewtopic.php?f=10&t=2069
Page 1 of 1

Author:  Soenke [ Fri Mar 02, 2012 5:50 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

Author:  Wolfram Decker [ Sat Mar 03, 2012 1:13 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.

Author:  Soenke [ Mon Mar 05, 2012 12:05 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

Author:  levandov [ Tue Sep 11, 2012 6:47 pm ]
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

Page 1 of 1 All times are UTC + 1 hour [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/