next | previous | forward | backward | up | top | index | toc | Macaulay2 website
RandomRationalPoints :: genericProjection

genericProjection -- finds a random (somewhat) generic projection of the ring or ideal

Synopsis

Description

This gives the projection map from $\mathbb{A}^N \mapsto\mathbb{A}^{N-n}$ and the defining ideal of the projection of $V(I)$

i1 : R=ZZ/5[x,y,z,w];
i2 : I = ideal(x,y^2,w^3+x^2);

o2 : Ideal of R
i3 : genericProjection(2,I)

            ZZ                                                4    3     2 2
o3 = (map(R,--[z, w],{- 2x + 2z - 2w, - x - 2y - 2z}), ideal(z  - z w + z w 
             5
     ------------------------------------------------------------------------
          3    4
     - z*w  + w ))

o3 : Sequence

If no integer $n$ is provided, then drops one dimension, in other words it treats $n = 1$.

i4 : R=ZZ/5[x,y,z,w];
i5 : I = ideal(x,y^2);

o5 : Ideal of R
i6 : genericProjection(I)

            ZZ                                                          
o6 = (map(R,--[y..z, w],{- 2x + 2z + w, - 2x + 2z - 2w, - 2x + y + 2z}),
             5
     ------------------------------------------------------------------------
            2          2                 2
     ideal(y  + y*z - z  + 2y*w + z*w + w ))

o6 : Sequence

Alternately, instead of I, you may pass it a quotient ring. It will then return the inclusion of the generic projection ring into the given ring, followed by the source of that inclusion. It is essentially the same functionality as calling genericProjection(n, ideal R) although the format of the output is slightly different.

i7 : R = ZZ/13[x,y,z];
i8 : I = ideal(y^2*z-x*(x-z)*(x+z));

o8 : Ideal of R
i9 : genericProjection(R/I)

                  R         ZZ                                      ZZ
o9 = (map(-----------------,--[y..z],{3x + 5y + 6z, 3x + 5y - 6z}), --[y..z])
             3    2       2 13                                      13
          - x  + y z + x*z

o9 : Sequence

This method works by calling randomCoordinateChange before dropping some variables. It passes the options Replacement, MaxCoordinatesToReplace, Homogeneous to that function.

This function makes no attempt to verify that the projection is actually generic with respect to the ideal.

See also

Ways to use genericProjection :

For the programmer

The object genericProjection is a method function with options.