# CoCoA:IdealAndSeparatorsOfPoints

## IdealAndSeparatorsOfPoints

ideal and separators for affine points

### Description

This function computes the results of <ttref>IdealOfPoints</ttref> and

<ttref>SeparatorsOfPoints</ttref> together at a cost lower than making the two

separate calls. The result is a record with three fields: <verbatim>

Points -- the points given as argument Ideal -- the result of IdealOfPoints Separators -- the result of SeparatorsOfPoints

</verbatim> 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.

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:

<verbatim>

X := IdealAndSeparatorsOfPoints(Pts); Foreach Element In Gens(X.Ideal) Do PrintLn Element; EndForeach;

</verbatim>

For ideals and separators of points in projective space, see

<ttref>IdealAndSeparatorsOfProjectivePoints</ttref>.

#### Example

Use R ::= Q[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] -------------------------------

### Syntax

IdealAndSeparatorsOfPoints(Points:LIST):RECORD where Points is a list of lists of coefficients representing a set of *distinct* points in affine space.

IdealAndSeparatorsOfProjectivePoints

<type>groebner</type> <type>ideal</type> <type>list</type> <type>points</type> <type>record</type>