Singular https://www.singular.uni-kl.de/forum/ |
|
strange dimension and degree https://www.singular.uni-kl.de/forum/viewtopic.php?f=10&t=2911 |
Page 1 of 1 |
Author: | JYXu [ Wed Jun 17, 2020 4:21 am ] |
Post subject: | strange dimension and degree |
Consider the homogeneous ideal i5 = (x^2, xw, yw-xz) in Q[x,y,z,w]. I use Singular to find its primary decomposition, and it correctly returns (x^2, xw, yw-xz, w^2) intersecting (x, y). Call the first ideal ii and the second ij. Singular correctly computes that both ii and ij have (projective) dimension 1, that ii has degree 2 and ij degree 1. However, it thinks i5 has dimension 2 and degree 1, while Macaulay2 gives dimension 1 and degree 3. So either Singular makes a mistake here or it has a different definition of dimension/degree. Now I intersect ii and ij and try to compare the intersection i5i with i5 to verify the primary decomposition works. However, running Equal(i5i, i5) returns an error as shown below; furthermore, I am unable to use simplify to get rid of the redundant generator yw^2 in i5i no matter what I do, and not even with groebner. Any other function that I don't know of? Thank you for your attention. Code: SINGULAR / Development
A Computer Algebra System for Polynomial Computations / version 4.1.3 0< by: W. Decker, G.-M. Greuel, G. Pfister, H. Schoenemann \ Mar 2020 FB Mathematik der Universitaet, D-67653 Kaiserslautern \ > LIB "primdec.lib"; // ** loaded /usr/local/bin/../share/singular/LIB/primdec.lib (4.1.2.0,Feb_2019) // ** loaded /usr/local/bin/../share/singular/LIB/ring.lib (4.1.2.0,Feb_2019) // ** loaded /usr/local/bin/../share/singular/LIB/absfact.lib (4.1.2.0,Feb_2019) // ** loaded /usr/local/bin/../share/singular/LIB/triang.lib (4.1.2.0,Feb_2019) // ** loaded /usr/local/bin/../share/singular/LIB/matrix.lib (4.1.2.0,Feb_2019) // ** loaded /usr/local/bin/../share/singular/LIB/nctools.lib (4.1.2.0,Feb_2019) // ** loaded /usr/local/bin/../share/singular/LIB/inout.lib (4.1.2.0,Feb_2019) // ** loaded /usr/local/bin/../share/singular/LIB/random.lib (4.1.2.0,Feb_2019) // ** loaded /usr/local/bin/../share/singular/LIB/poly.lib (4.1.2.0,Feb_2019) // ** loaded /usr/local/bin/../share/singular/LIB/elim.lib (4.1.2.0,Feb_2019) // ** loaded /usr/local/bin/../share/singular/LIB/general.lib (4.1.2.0,Feb_2019) > ring r = 0, (x,y,z,w),dp; > ideal i5 = x2, xw, yw-xz; > primedecGTZ(i5); ? `primedecGTZ` is not defined ? error occurred in or before STDIN line 4: `primedecGTZ(i5);` > primdecGTZ(i5); [1]: [1]: _[1]=w2 _[2]=xw _[3]=xz-yw _[4]=x2 [2]: _[1]=w _[2]=x [2]: [1]: _[1]=y _[2]=x [2]: _[1]=y _[2]=x > ideal ii = w2,xw,xz-yw,x2; > ideal ij = x,y; > hilb(i5); // ** i5 is no standard basis // 1 t^0 // -3 t^2 // 3 t^3 // -1 t^4 // 1 t^0 // 1 t^1 // -2 t^2 // 1 t^3 // dimension (proj.) = 2 // degree (proj.) = 1 > hilb(ii); // ** ii is no standard basis // 1 t^0 // -4 t^2 // 4 t^3 // -1 t^4 // 1 t^0 // 2 t^1 // -1 t^2 // dimension (proj.) = 1 // degree (proj.) = 2 > hilb(ij); // ** ij is no standard basis // 1 t^0 // -2 t^1 // 1 t^2 // 1 t^0 // dimension (proj.) = 1 // degree (proj.) = 1 > ideal i5i = intersect(ii,ij); > i5i; i5i[1]=xw i5i[2]=xz-yw i5i[3]=x2 i5i[4]=yw2 > LIB "numerAlg.lib"; // ** loaded /usr/local/bin/../share/singular/LIB/numerAlg.lib (4.1.2.0,Feb_2019) // ** loaded /usr/local/bin/../share/singular/LIB/numerDecom.lib (4.1.2.0,Feb_2019) // ** loaded /usr/local/bin/../share/singular/LIB/solve.lib (4.1.2.0,Feb_2019) > Equal(i5,i5i); // ** redefining ii ( int i,j,k,kk,q,qq,t,m,d,jj,rii,c(0),ii;) numerDecom.lib::WitSupSet:357 // ** redefining l2 ( list l2 = ringlist(S)[2];) numerDecom.lib::WitSupSet:485 // ** redefining ii (int ii = 1;) numerDecom.lib::WitSupSet:486 sh: 1: bertini: not found 32512 0 ? open: Error for link _ of type: ASCII, mode: , name: nonsingular_solutions ? cannot read from `nonsingular_solutions` ? error occurred in or before numerDecom.lib::WitSupSet line 506: ` nonsin(q)=read("nonsingular_solutions");` ? leaving numerDecom.lib::WitSupSet (504) skipping text from `;` error at token `)` ? leaving numerAlg.lib::Incl (124) ? leaving numerAlg.lib::Equal (229) > groebner(i5i); _[1]=xw _[2]=xz-yw _[3]=x2 _[4]=yw2 > |
Author: | YueRen [ Wed Jun 17, 2020 10:19 am ] |
Post subject: | Re: strange dimension and degree |
Dear JY, unlike Macaulay2, Singular's dimension and degree commands require a Gröbner basis as input. If you do that, you get the correct values. If you don't do that, you get a warning: > ring r = 0, (x,y,z,w),dp; > ideal i5 = x2, xw, yw-xz; > i5 = groebner(i5); > degree(i5); // dimension (proj.) = 1 // degree (proj.) = 3 > ideal i5 = x2, xw, yw-xz; // ** redefining i5 (ideal i5 = x2, xw, yw-xz;) > degree(i5); // ** i5 is no standard basis // dimension (proj.) = 2 // degree (proj.) = 1 |
Author: | Guest [ Fri Jun 19, 2020 12:19 am ] |
Post subject: | Re: strange dimension and degree |
Dear YueRen, Thanks for the reply! I didn't feel the severity when I saw the plain text "is no standard basis"; it feels like just stating some property as additional information instead of warning, since their is no "warning" in the message (does ** always stand for a warning?). I think if it's gonna give the wrong answer then this should be an error instead of warning. and "use groebner basis" would be a more specific error message. Did you see anything wrong with my use of `intersect`, `Equal` and `simplify`? YueRen wrote: Dear JY,
unlike Macaulay2, Singular's dimension and degree commands require a Gröbner basis as input. If you do that, you get the correct values. If you don't do that, you get a warning: > ring r = 0, (x,y,z,w),dp; > ideal i5 = x2, xw, yw-xz; > i5 = groebner(i5); > degree(i5); // dimension (proj.) = 1 // degree (proj.) = 3 > ideal i5 = x2, xw, yw-xz; // ** redefining i5 (ideal i5 = x2, xw, yw-xz;) > degree(i5); // ** i5 is no standard basis // dimension (proj.) = 2 // degree (proj.) = 1 |
Page 1 of 1 | All times are UTC + 1 hour [ DST ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |