Singular https://www.singular.uni-kl.de/forum/ |
|
primary decomposition of an ideal https://www.singular.uni-kl.de/forum/viewtopic.php?f=10&t=2108 |
Page 1 of 1 |
Author: | Dmitry [ Sun Jun 10, 2012 2:56 am ] |
Post subject: | primary decomposition of an ideal |
I'm trying to decompose an ideal generated by 4 quadrics, in 10 variables: LIB "primdec.lib"; ring r=0,(z0,z1,z2,z3,z4,z5,z6,z7,z8,z9),dp; poly f1=3*z1^2-z0*z2;poly f2=7*z1*z4-z0*z5-z2*z3; poly f3=z6*(z2+2*z1-z0)+4*z1*z2-6*z2^2; poly f4=8*z1*z8+4*z4^2-z0*z9-z3*z5+z6*z7+z2*(-4*z8-2*z7); ideal i=f1,f2,f3,f4; primdecGTZ(i); (Probably I'm doing this in a very stupid way, being ignorant.) After two hours of work I've shut Singular. Are there some small tricks to speed up this particular example? If it's relevant, I know that the corresponding scheme contains as a component (with multiplicity 2) the variety defined by z0=0=z1=z2, 4*z4^2+z6*z7=z3*z5 |
Author: | steenpass [ Wed Jun 20, 2012 9:22 am ] |
Post subject: | Re: primary decomposition of an ideal |
I don't see that you could do any better here. However, you could try the algorithm by Shimoyama and Yokoyama which is also implemented in Singular's primdec.lib (as primdecSY()). I started both computations on one of our compute servers here in Kaiserslautern and I will let you know whether or not I got a result within a reasonable amount of time. Thank you for providing this example, we are always looking for challenging new examples. Where did you get this from? Best regards, Andreas |
Author: | steenpass [ Thu Jun 21, 2012 12:18 pm ] |
Post subject: | Re: primary decomposition of an ideal |
It was pointed out to me that in fact, you can do better. If you already know that one of the components is given by Code: ideal j = z0, z1, z2, 4*z4^2+z6*z7-z3*z5; you can saturate the ideal i w. r. t. j: Code: list s1 = sat(i, j); This geometrically corresponds to the complement of V(j) in V(i) where V(i) is the variety defined by i. You can then decompose this, which gives you one component: Code: > list l1 = primdecGTZ(s1[1]); > size(l1); 1 Then you do it the other way round: Code: > list s2 = sat(i, l1[1][1]); > list l2 = primdecGTZ(s2[1]); > size(l2); 1 Finally, you can check that l1+l2 is indeed a primary decomposition of the ideal i: Code: > ideal t = intersect(l1[1][1], l2[1][1]); > size(reduce(t, std(i))); 0 > size(reduce(i, t)); 0 which shows that the ideal t is indeed (mathematically) equal to i. The desired result can thus be obtained in a few seconds cpu time. Best regards, Andreas |
Author: | Dmitry [ Sat Jun 23, 2012 1:15 pm ] |
Post subject: | Re: primary decomposition of an ideal |
Wow! Thanks! |
Author: | ipeh [ Mon Jul 15, 2013 7:32 pm ] |
Post subject: | Re: primary decomposition of an ideal |
Hello, I'm newcomer in SINGULAR. I have same problem with primary decomposition but more complicated (4 polynomials). It took me more than 1 hour and drove me crazy. Cause MAPLE cannot handle it, so I tried with SINGULAR, but still no result. Please anyone help me, is there anything I can do to make it faster? This is my code: LIB"primdec.lib"; LIB"crypto.lib"; ring r=0,(x0,x1,x2,x3,y0,y1,y2,y3,h0,h1),dp; ideal i=-h0+(x0^2+x1^2-x2^2-x3^2)*h1-2*x0*y1+2*x1*y0-2*x2*y3+2*x3*y2, -2*h0-(2*(x0*x3+x1*x2))*h1+squareRoot(3,32003)*h1*(x0^2-x1^2+x2^2-x3^2)-4*x0*y2+4*x1*y3+4*x2*y0-4*x3*y1, -h0+(x0*x2-x1*x3)*h1-squareRoot(3,32003)*h1*(x0*x1+x2*x3)-2*x0*y3-2*x1*y2+2*x2*y1+2*x3*y0, x0*y0+x1*y1+x2*y2+x3*y3; primdecGTZ(i); I appreciate your helps, guys... Thank you. |
Author: | ipeh [ Tue Jul 16, 2013 8:46 am ] |
Post subject: | Re: primary decomposition of an ideal |
after I computed for one day, it returns result: Singular error: no more memory System -2081280k:-1773568k Appl 318583k/5000k Malloc 0k/0k Valloc 323584k/5000k Pages 40181/267 Regions 79:79 halt 14 help me please.... |
Page 1 of 1 | All times are UTC + 1 hour [ DST ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |