Back to Forum | View unanswered posts | View active topics
Topic review - primary decomposition of an ideal |
Author |
Message |
|
|
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....
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....
|
|
|
|
Posted: Tue Jul 16, 2013 8:46 am |
|
|
|
|
|
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.
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.
|
|
|
|
Posted: Mon Jul 15, 2013 7:32 pm |
|
|
|
|
|
Post subject: |
Re: primary decomposition of an ideal |
|
|
Wow! Thanks!
Wow! Thanks!
|
|
|
|
Posted: Sat Jun 23, 2012 1:15 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
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; [/code] you can saturate the ideal i w. r. t. j: [code] list s1 = sat(i, j); [/code] 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 [/code] Then you do it the other way round: [code] > list s2 = sat(i, l1[1][1]); > list l2 = primdecGTZ(s2[1]); > size(l2); 1 [/code] 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 [/code] 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
|
|
|
|
Posted: Thu Jun 21, 2012 12:18 pm |
|
|
|
|
|
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
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
|
|
|
|
Posted: Wed Jun 20, 2012 9:22 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
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
|
|
|
|
Posted: Sun Jun 10, 2012 2:56 am |
|
|
|
|
|
It is currently Fri May 13, 2022 10:58 am
|
|