up previous next

ideal and separators for affine points


where Points is a list of lists of coefficients representing a set of
distinct points in affine space.

This function computes the results of IdealOfPoints and SeparatorsOfPoints together at a cost lower than making the two separate calls. The result is a record with three fields:
    Points     -- the points given as argument
    Ideal      -- the result of IdealOfPoints
    Separators -- the result of SeparatorsOfPoints
Thus, if the result is stored in a variable with identifier X, then: X.Points will be the input list of points; X.Ideal will be the ideal of the set of points, with generators forming the reduced Groebner basis for the ideal; and X.Separators will be a list of polynomials whose i-th element will take the value 1 on the i-th point and 0 on the others.


* the current ring must have at least as many indeterminates as the dimension of the space in which the points lie;

* the base field for the space in which the points lie is taken to be the coefficient ring, which should be a field;

* in the polynomials returned, the first coordinate in the space is taken to correspond to the first indeterminate, the second to the second, and so on;

* if the number of points is large, say 100 or more, the returned value can be very large. To avoid possible problems when printing such values as a single item we recommend printing out the elements one at a time as in this example:
     X := IdealAndSeparatorsOfPoints(Pts);
     Foreach Element In Gens(X.Ideal) Do
       PrintLn Element;
For ideals and separators of points in projective space, see IdealAndSeparatorsOfProjectivePoints .

  Use R ::= QQ[x,y];
  Points := [[1, 2], [3, 4], [5, 6]];
  X := IdealAndSeparatorsOfPoints(Points);
[[1, 2], [3, 4], [5, 6]]
Ideal(x - y + 1, y^3 - 12y^2 + 44y - 48)
[1/8y^2 - 5/4y + 3, -1/4y^2 + 2y - 3, 1/8y^2 - 3/4y + 1]

See Also