# affinePoints -- produces the ideal and initial ideal from the coordinates of a finite set of points

## Synopsis

• Usage:
(Q,inG,G) = affinePoints(M,R)
• Inputs:
• M, , in which each column consists of the coordinates of a point
• R, , coordinate ring of the affine space containing the points
• Outputs:
• Q, a list, list of standard monomials
• inG, an ideal, initial ideal of the set of points
• G, a list, list of generators for Grobner basis for ideal of points

## Description

This function uses the Buchberger-Moeller algorithm to compute a grobner basis for the ideal of a finite number of points in affine space. Here is a simple example.
 i1 : M = random(ZZ^3, ZZ^5) o1 = | 8 7 3 8 8 | | 1 8 7 5 5 | | 3 3 8 7 2 | 3 5 o1 : Matrix ZZ <--- ZZ i2 : R = QQ[x,y,z] o2 = R o2 : PolynomialRing i3 : (Q,inG,G) = affinePoints(M,R) 2 2 2 3 10 2 70 o3 = ({1, z, y, x, z }, ideal (y*z, x*z, y , x*y, x , z ), {y*z - --z + --x 39 39 ------------------------------------------------------------------------ 107 35 55 25 2 292 25 179 937 2 31 2 56 - ---y - --z - --, x*z + --z - ---x - --y - ---z + ---, y + --z + --x 39 13 13 39 39 39 13 13 13 13 ------------------------------------------------------------------------ 109 279 206 5 2 277 307 15 707 2 20 2 - ---y - ---z + ---, x*y - --z - ---x - ---y + --z + ---, x - --z - 13 13 13 39 39 39 13 13 39 ------------------------------------------------------------------------ 445 20 60 228 3 166 2 70 10 623 1296 ---x + --y + --z + ---, z - ---z + --x + --y + ---z - ----}) 39 39 13 13 13 13 13 13 13 o3 : Sequence i4 : monomialIdeal G == inG o4 = true

The Buchberger-Moeller algorithm in points may be faster than the alternative method using the intersection of the ideals for each point.