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
>