## Synopsis

• Usage:
• Inputs:
• Optional inputs:
• Unmixed => , default value false, whether it is known that the ideal I is unmixed. The ideal $I$ is said to be unmixed if all associated primes of $R/I$ have the same dimension. In this case the algorithm tends to be much faster.
• Strategy => , default value null, the strategy to use, either Decompose or Unmixed
• CompleteIntersection => an ideal, default value null, an ideal J of the same height as I whose generators form a maximal regular sequence contained in I. Providing this option as a hint allows a separate, often faster, algorithm to be used to compute the radical. This option should only be used if J is nice in some way. For example, if J is randomly generated, but I is relatively sparse, then this will most likely run slower than just giving the Unmixed option.
• Outputs:
• an ideal, the radical of I

## Description

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 2 o3 = ideal (y + 1, x + 1) o3 : Ideal of R

If I is , 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.000530029 seconds elapsed o6 = ideal (a, b, c) o6 : Ideal of R i7 : elapsedTime radical(ideal I_*, Unmixed => true) -- 0.0197485 seconds elapsed o7 = ideal (c, b, a) o7 : Ideal of R

For another example, see PrimaryDecomposition.

## References

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

## Caveat

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