Post a reply
Username:
Note:If not registered, provide any username. For more comfort, register here.
Subject:
Message body:
Enter your message here, it may contain no more than 60000 characters. 

Smilies
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:
Font size:
Font colour
Options:
BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON
Disable BBCode
Disable smilies
Do not automatically parse URLs
Confirmation of post
To prevent automated posts the board requires you to enter a confirmation code. The code is displayed in the image you should see below. If you are visually impaired or cannot otherwise read this code please contact the %sBoard Administrator%s.
Confirmation code:
Enter the code exactly as it appears. All letters are case insensitive, there is no zero.
   

Topic review - strange dimension and degree
Author Message
  Post subject:  Re: strange dimension and degree  Reply with quote
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
Post Posted: Fri Jun 19, 2020 12:19 am
  Post subject:  Re: strange dimension and degree  Reply with quote
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
Post Posted: Wed Jun 17, 2020 10:19 am
  Post subject:  strange dimension and degree  Reply with quote
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
>
Post Posted: Wed Jun 17, 2020 4:21 am


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