Post new topic Reply to topic  [ 3 posts ] 
Author Message
 Post subject: strange dimension and degree
PostPosted: Wed Jun 17, 2020 4:21 am 
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
>


Report this post
Top
  
Reply with quote  
 Post subject: Re: strange dimension and degree
PostPosted: Wed Jun 17, 2020 10:19 am 
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


Report this post
Top
  
Reply with quote  
 Post subject: Re: strange dimension and degree
PostPosted: Fri Jun 19, 2020 12:19 am 
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


Report this post
Top
  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

It is currently Fri May 13, 2022 10:54 am
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group