up previous next

separators for projective points


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

This function computes separators for the points: that is, for each point a homogeneous polynomial is determined whose value is non-zero at that point and zero at all the others. (Actually, choosing the values listed in Points as representatives for the homogeneous coordinates of the corresponding points in projective space, the non-zero value will be 1.) The separators yielded are reduced with respect to the reduced Groebner basis which would be found by IdealOfProjectivePoints .


* the current ring must have at least one more indeterminate than the dimension of the projective space in which the points lie, i.e, at least as many indeterminates as the length of an element of the input, Points;

* 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 := SeparatorsOfProjectivePoints(Pts);
     Foreach Element In S Do
       PrintLn Element;
For separators of points in affine space, see SeparatorsOfPoints .

  Use R ::= QQ[x,y,z];
  Points := [[0,0,1],[1/2,1,1],[0,1,0]];
  S := SeparatorsOfProjectivePoints(Points);
[-2x + z, 2x, -2x + y]
  [[Eval(F, P) | P In Points] | F In S];   -- verify separators
[[1, 0, 0], [0, 1, 0], [0, 0, 1]]

See Also