up previous next
SeparatorsOfProjectivePoints

separators for projective points
SeparatorsOfProjectivePoints(Points:LIST):LIST
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 nonzero 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 nonzero value will
be 1.) The separators yielded are reduced with respect to the reduced
Groebner basis which would be found by
IdealOfProjectivePoints
.
NOTE:
* 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;
EndForeach;
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);
S;
[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]]

