next | previous | forward | backward | up | top | index | toc | Macaulay2 website
MinimalPrimes > radical

radical -- the radical of an ideal



If I is an ideal in an affine ring (i.e. a quotient of a polynomial ring over a field), and if the characteristic of this field is large enough (see below), then this routine yields the radical of the ideal I. The method used is the Eisenbud-Huneke-Vasconcelos algorithm.

The algorithms used generally require that the characteristic of the ground field is larger than the degree of each primary component. In practice, this means that if the characteristic is something like 32003, rather than, for example, 5, the methods used will produce the radical of I. Of course, you may do the computation over QQ, but it will often run much slower. In general, this routine still needs to be tuned for speed.

i1 : R = QQ[x, y]

o1 = R

o1 : PolynomialRing
i2 : I = ideal((x^2+1)^2*y, y+1)

             4      2
o2 = ideal (x y + 2x y + y, y + 1)

o2 : Ideal of R
i3 : radical I

o3 = ideal (y + 1, x  + 1)

o3 : Ideal of R

If I is a monomial ideal, a faster, combinatorial algorithm is used.

i4 : R = ZZ/101[a..d]

o4 = R

o4 : PolynomialRing
i5 : I = intersect(ideal(a^2,b^2,c), ideal(a,b^3,c^2))

             2        2   3     2
o5 = ideal (c , a*c, a , b , a*b )

o5 : Ideal of R
i6 : elapsedTime radical(ideal I_*, Strategy => Monomial)
 -- 0.00100841 seconds elapsed

o6 = ideal (a, b, c)

o6 : Ideal of R
i7 : elapsedTime radical(ideal I_*, Unmixed => true)
 -- 0.0191326 seconds elapsed

o7 = ideal (c, b, a)

o7 : Ideal of R

For another example, see PrimaryDecomposition.


Eisenbud, Huneke, Vasconcelos, Invent. Math. 110 207-235 (1992).


The current implementation requires that the characteristic of the ground field is either zero or a large prime (unless I is a monomial ideal).

See also

Ways to use radical :

For the programmer

The object radical is a method function with options.