up previous next
PrimaryDecomposition    --    primary decomposition of an ideal

PrimaryDecomposition(I: IDEAL): LIST of IDEAL

This function returns the primary decomposition of the ideal I. Currently it responds ONLY for zero-dimensional ideals (Abbott, Bigatti, Palezzato, Robbiano "Computing and Using Minimal Polynomials" https://arxiv.org/abs/1702.07262 -- implemented by E.Palezzato and A.Bigatti), or squarefree monomial ideals (using the Alexander dual technique). See FrbPrimaryDecomposition for monomial ideals.

/**/  use P ::= QQ[x,y,z];
/**/  PrimaryDecomposition(ideal(x*y, y*z, z*x));
[ideal(y, z), ideal(x, z), ideal(x, y)]

/**/  PD := PrimaryDecomposition(ideal(x -z,  y^2 -1,  z^2));  PD;
[ideal(y +1,  x -z,  y^2 -1,  z^2),  ideal(y -1,  x -z,  y^2 -1,  z^2)]

/**/ [IdealOfGBasis(Q) | Q in PD];  // remove some redundant generators
[ideal(y +1,  x -z,  z^2),  ideal(y -1,  x -z,  z^2)]

See Also