next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
RationalMaps :: isBirationalOntoImage

isBirationalOntoImage -- Checks if a map between projective varieties is birational onto its image.

Synopsis

Description

This checks whether f : X →Y is birational onto its image. We do this by computing the image and then calling isBirationalOntoImage. The option AssumeDominant being true will cause the function to assume that the kernel of the associated ring map is zero (default value is false). The source must be a variety, in particular its defining ideals must be prime. In the following example, the map is not birational, but it is birational onto its image.

i1 : R=QQ[x,y];
i2 : S=QQ[a,b,c,d];
i3 : Pi = map(R, S, {x^3, x^2*y, x*y^2, y^3});

o3 : RingMap R <--- S
i4 : isBirationalOntoImage(Pi, Verbose=>false)

o4 = true
i5 : isBirationalMap(Pi,  Verbose=>false)

o5 = false

Sub-Hankel matrices have homaloidal determinants.

i6 : R = QQ[z_0..z_6];
i7 : H=map(R^4,4,(i,j)->R_(i+j));

             4       4
o7 : Matrix R  <--- R
i8 : SH=sub(H,{z_5=>0,z_6=>0})

o8 = | z_0 z_1 z_2 z_3 |
     | z_1 z_2 z_3 z_4 |
     | z_2 z_3 z_4 0   |
     | z_3 z_4 0   0   |

             4       4
o8 : Matrix R  <--- R
i9 : sh=map(R, R, transpose jacobian ideal det SH );

o9 : RingMap R <--- R
i10 : isBirationalOntoImage(sh, Verbose=>false)

o10 = false
i11 : S=QQ[t_0..t_4];
i12 : li=map(S,R,matrix{{t_0..t_4,0,0}});

o12 : RingMap S <--- R
i13 : phi=li*sh;

o13 : RingMap S <--- R
i14 : isBirationalOntoImage(phi, HybridLimit=>2)
Starting isBirationalOntoImage
Starting inverseOfMapOntoImageSimis(SimisStrategy or HybridStrategy)
isBirationalOntoImageSimis: About to find the image of the map.  If you know the image, you may want to use the AssumeDominant=>true  if this is slow.
isBirationalOntoImageSimis: Found the image of the map.
isBirationalOntoImageSimis:  About to compute partial Groebner basis of rees ideal up to degree {1, 1}.
isBirationalOntoImageSimis: Found Jacobian dual matrix (or a weak form of it), it has  5 columns  and about  6 rows.
isBirationalOntoImageSimis: is computing the rank of the  Jacobian Dual Matrix- barJD

o14 = true

See also

Ways to use isBirationalOntoImage :