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

projectionToHypersurface -- Generic projection to a hypersurface

Synopsis

Description

This creates a projection to a hypersurface. It differs from genericProjection(codim I - 1, I) as it only tries to find a hypersurface equation that vanishes along the projection, instead of finding one that vanishes exactly at the projection. This can be faster, and can be useful for finding points.

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

o2 : Ideal of R
i3 : projectionToHypersurface(I)

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

o3 : Sequence
i4 : projectionToHypersurface(R/I)

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

o4 : Sequence

If you already know the codimension is c, you can set Codimension=>c so the function does not compute it.

See also

Ways to use projectionToHypersurface :

For the programmer

The object projectionToHypersurface is a method function with options.