up previous next
PrimaryDecompositionCore0

primary decomposition of a 0-dimensional ideal

Syntax
PrimaryDecompositionCore0(I: IDEAL): RECORD
PrimaryDecompositionCore0(I: IDEAL, opt f: RINGELEM): RECORD

Description
This function is the core partial step for the primary decomposition of a 0-dimensional ideal I : see PrimaryDecomposition0 for the certified and reduced result.

The result is a record containing a (partial) decomposition and a BOOL stating whether or not the decomposition is certified to be the primary decomposition.

The second optional argument is for specifying the splitting, the polynomial whose minimal polynomial (see MinPolyQuot ) is used for splitting I into components. See the paper Abbott, Bigatti, Palezzato, Robbiano Minimal polynomials and applications (work in progress).

Implementation by Elisa Palezzato.

NOTE: this function was called PrimaryDecomposition0 up to version CoCoA-5.1.4.

Example
/**/  Use R ::= QQ[x,y,z];
/**/  PD := PrimaryDecompositionCore0(ideal(x-z, y^2-1, z^2));
/**/  indent(PD); -- decomposition is correct, but not certified
record[
  IsCertified := false,
  PrDec_I := [
    ideal(16*y^2 +40*y*z +25*z^2 +32*y +40*z +16, x -z, y^2 -1, z^2),
    ideal(16*y^2 +40*y*z +25*z^2 -32*y -40*z +16, x -z, y^2 -1, z^2)
  ]
]
/**/  PrimaryDecomposition0(ideal(x-z, y^2-1, z^2));
[ideal(y +1, x -z, z^2), ideal(y -1, x -z, z^2)]

/**/  Use ZZ/(2)[x,y,z];
/**/  PD := PrimaryDecompositionCore0(ideal(x-z, y^2-1, z^2));
/**/  indent(PD);
record[
  IsCertified := true,
  PrDec_I := [ideal(x +z, y^2 +1, z^2)]
]

See Also