I have been using Bertini, a numerical algebraic geometry tool, to explore the (positive dimensional) space of complex solutions to a set of polynomials. While the details of its techniques are currently beyond my education (I am still working on learning more about this), my current understanding of its capabilities is that it is able to compute "witness sets" for irreducible algebraic components. Where a witness set is a tuple of: the system of polynomials, some randomly chosen linear equations (hyper-planes) to make the solution space zero dimensional, and a set of points satisfying these equations.
Once the decomposition to algebraic components and classifying the witness sets is complete, somehow Bertini is able to use this information for two further capabilities:
- a "membership test" (determine if a point is on a particular algebraic component),
- and "generating points" (producing more points that lie on a particular algebraic component).
Is there some way to take all these points and construct / extract the generators of the polynomial ideal of that algebraic component?
The hand wavy idea is that for polynomials in a single variable, we only need n points to uniquely define an n-degree polynomial. And if we are selecting the points randomly, then if after finding say n + 3 points, if the polynomial defined is still just n-degree, then very likely we have the polynomial. (And if desired, we can check to higher confidence with some more random points.) Is there something similar we can do here with the ability to generate many points and determine a multi-variate polynomial in the ideal ... then somehow compute a simplification with that generator known, so that we can repeat the process and "extract" another polynomial in the ideal ... and continue until we have a full set of generators for the ideal?
Or maybe, because I am new to this, this is overcomplicating everything and there is a well known / standard way to extract the generators of the polynomial ideal from the witness sets directly?