up previous next

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 separators for the points: that is, for each point a polynomial is determined whose value is 1 at that point and 0 at all the others. The separators yielded are reduced with respect to the reduced Groebner basis which would be found by IdealOfPoints .


* 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;

* the separators are in the same order as the points (i.e. the first separator is the one corresponding the first point, 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:
     S := SeparatorsOfPoints(Pts);
     Foreach Element In S Do
       PrintLn Element;
For separators of points in projective space, see SeparatorsOfProjectivePoints .

  Use R ::= QQ[x,y];
  Points := [[1, 2], [3, 4], [5, 6]];
  S := SeparatorsOfPoints(Points);  -- compute the separators
[1/8y^2 - 5/4y + 3, -1/4y^2 + 2y - 3, 1/8y^2 - 3/4y + 1]
  [[Eval(F, P) | P In Points] | F In S];  -- verify separators
[[1, 0, 0], [0, 1, 0], [0, 0, 1]]

See Also