up previous next
IdealAndSeparatorsOfPoints

ideal and separators for affine points
IdealAndSeparatorsOfPoints(Points:LIST):RECORD
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
ith element will take the value 1 on the ith point and 0 on the
others.
NOTE:
* 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;
EndForeach;
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);
X.Points;
[[1, 2], [3, 4], [5, 6]]

X.Ideal;
Ideal(x  y + 1, y^3  12y^2 + 44y  48)

X.Separators;
[1/8y^2  5/4y + 3, 1/4y^2 + 2y  3, 1/8y^2  3/4y + 1]

