next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Points :: projectivePoints

projectivePoints -- produces the ideal and initial ideal from the coordinates of a finite set of projective points

Synopsis

Description

This function uses a modified Buchberger-Moeller algorithm to compute a grobner basis for the ideal of a finite number of points in projective space.

i1 : R = QQ[x_0..x_2]

o1 = R

o1 : PolynomialRing
i2 : M = random(ZZ^3,ZZ^5)

o2 = | 8 7 3 8 8 |
     | 1 8 7 5 5 |
     | 3 3 8 7 2 |

              3        5
o2 : Matrix ZZ  <--- ZZ
i3 : (inG,G) = projectivePoints(M,R)

              2   3     2     2   79285       204632 2   152667      
o3 = (ideal (x , x , x x ), {x  - -----x x  - ------x  + ------x x  +
              0   1   0 1     0    481  0 1     481  1     481  0 2  
     ------------------------------------------------------------------------
     817272       589744 2   3   318467         187373 2     77360   2  
     ------x x  - ------x , x  + ------x x x  + ------x x  - -----x x  -
       481  1 2     481  2   1    18648 0 1 2    4662  1 2    2331 0 2  
     ------------------------------------------------------------------------
     804017   2   294415 3     2   881693         273316 2     410665   2  
     ------x x  + ------x , x x  - ------x x x  - ------x x  + ------x x  +
      4662  1 2    2331  2   0 1    18648 0 1 2    2331  1 2    4662  0 2  
     ------------------------------------------------------------------------
     2169827   2   1563095 3
     -------x x  - -------x })
       4662  1 2     4662  2

o3 : Sequence
i4 : monomialIdeal G == inG

o4 = true

This algorithm may be faster than computing the intersection of the ideals of each projective point.

Caveat

This function removes zero columns of M and duplicate columns giving rise to the same projective point (which prevent the algorithm from terminating). The user can bypass this step with the option VerifyPoints.

See also

Ways to use projectivePoints :

For the programmer

The object projectivePoints is a method function with options.