up previous next
radical --
radical of an ideal
|
radical(N: INT): INT
radical(X: RINGELEM): RINGELEM
radical(I: IDEAL): IDEAL |
This function computes the radical of its argument. For integers and
ring elements this means the product of the distinct irreducibles
dividing the argument (sometimes called "square-free").
For ideals it computes the radical ideal using the algorithm described
in the paper
M. Caboara, P. Conti and C. Traverso:
Yet Another Ideal
Decomposition Algorithm. Proc. AAECC-12, pp 39-54, 1997, Lecture
Notes in Computer Science, n.1255 Springer-Verlag.
NOTE: at the moment, this implementation works only if the coefficient
ring is the rationals or has large enough characteristic.
/**/ radical(99);
33
/**/ use R ::= QQ[x,y];
/**/ radical((x -y)^3 * (x +y));
x^2 -y^2
/**/ I := ideal(x,y)^3;
/**/ radical(I);
ideal(y, x)
|