PrimaryDecomposition0: says not 0-dim but IsZeroDim says ideal is zero-dim!
Bug summarized in this transcript
/**/ L:=[3*x^3*y +3*y*z^3 +1, 2*x*y*z^2 +3*x, 2*y^3*z +1]; /**/ I := ideal(L); /**/ IsZeroDim(I); true /**/ PrimaryDecomposition0(I); --> ERROR: IsPrimary: implemented only for 0-dimensional ideals --> WHERE: at line 20 (column 5) of maximal.cpkg5 --> error("IsPrimary: implemented only for 0-dimensional ideals"); --> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ CONTEXT: function IsPrimary at line 20 of maximal.cpkg5 CALLED BY: function PrimaryDecomposition0 at line 38 of PrimaryDecomposition0.cpkg5 called at top-level
#2 Updated by Anna Maria Bigatti 6 months ago
Found it: we knew it could happen, and this is the first time I see it!
The modular reconstruction gives the wrong minimal polynomial (may happen, of course).
That fact can be easily detected when one of the ideals I+ideal(factor) = 1.
In fact we never checked that the evaluation of the minpoly is in I!
I'll add this check to the code of
MinPolyModular (this is in CoCoALib).