IdealAndSeparatorsOfProjectivePoints |
Syntax |
IdealAndSeparatorsOfProjectivePoints(Points: LIST): RECORD where Points is a list of lists of coefficients representing a set of distinct points in projective space. |
Description |
points -- the points given as argument ideal -- the result of IdealOfProjectivePoints separators -- the result of SeparatorsOfProjectivePointsThus, 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; 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.
X := IdealAndSeparatorsOfProjectivePoints(Pts); Foreach Element In gens(X.ideal) Do PrintLn Element; EndForeach;For ideals and separators of points in affine space, see IdealAndSeparatorsOfPoints .
Example |
Use R ::= QQ[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] ------------------------------- Use R ::= QQ[t,x,y,z]; Pts := GenericPoints(20); -- 20 random points in projective 3-space X := IdealAndSeparatorsOfProjectivePoints(Pts); Len(Gens(X.Ideal)); -- number of generators in the ideal 17 ------------------------------- HilbertFn(R/X.Ideal); H(0) = 1 H(1) = 4 H(2) = 10 H(t) = 20 for t >= 3 ------------------------------- F := X.Separators[3]; [Eval(F, P)| P In Pts]; [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ------------------------------- Res(R/X.Ideal); -- the resolution of the ideal 0 --> R^10(-6) --> R^24(-5) --> R^15(-4) --> R ------------------------------- |
See Also |