CoCoA:IdealAndSeparatorsOfProjectivePoints

From ApCoCoAWiki

IdealAndSeparatorsOfProjectivePoints

ideal and separators for points

Description

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

<ttref>SeparatorsOfProjectivePoints</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 IdealOfProjectivePoints
   Separators -- the result of SeparatorsOfProjectivePoints

</verbatim> Thus, if the result is stored in a variable with identifier X, then: X.Ideal will be the ideal of the set of points, with generators forming a reduced Groebner basis for the ideal; and X.Separators will be a list of homogeneous polynomials whose i-th element will be non-zero (actually 1, using the given representatives for the coordinates of the points) on the i-th point and 0 on the others.

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;
* 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 := IdealAndSeparatorsOfProjectivePoints(Pts);
    Foreach Element In Gens(X.Ideal) Do
      PrintLn Element;
    EndForeach;

</verbatim>

For ideals and separators of points in affine space, see

<ttref>IdealAndSeparatorsOfPoints</ttref>.

Example

  Use R ::= Q[x,y,z];
  Points := [[0,0,1],[1/2,1,1],[0,1,0]];
  X := IdealAndSeparatorsOfProjectivePoints(Points);
  X.Points;
[[0, 0, 1], [1, 1, 1], [0, 1, 0]]
-------------------------------
  X.Ideal;
Ideal(xz - 1/2yz, xy - 1/2yz, x^2 - 1/4yz, y^2z - yz^2)
-------------------------------
  X.Separators;
[-2x + z, x, -2x + y]
-------------------------------

Syntax

IdealAndSeparatorsOfProjectivePoints(Points:LIST):RECORD

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

HGBM

GBM

GenericPoints

IdealAndSeparatorsOfPoints

IdealOfPoints

IdealOfProjectivePoints

Interpolate

QuotientBasis

SeparatorsOfPoints

SeparatorsOfProjectivePoints

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