This file offers functions for testing membership in the radical of an ideal. This can be done relatively cheaply compared to actually computing a generating set for the radical.
Let I
be an ideal
in a polynomial ring, and let f
be
an element of the same polynomial ring.
IsInRadical(f,I)
-- true
iff f
is in the radical of I
MinPowerInIdeal(f,I)
-- returns the smallest integer n
such that power(f,n)
is in I
; returns -1 if f
is not in the radical.
The implementation is straightforward (once you have learned the theory about "Rabinowitch's Trick").
We can be slightly clever when the ideal is homogeneous.
Can be terribly slow: see in test-RadicalMembership1.C for some commented out cases.
2017