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

isBirationalMap -- Checks if a map between projective varieties is birational.

Synopsis

Description

This checks if a map between projective varieties is birational. There are a number of ways to call this. A simple one is to pass the function a map between two graded rings. In this case, the variables should be sent to elements of a single fixed degree. 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 target and source must be varieties, in particular their defining ideals must be prime. Let’s check that the plane quadratic cremona transformation is birational.

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

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

o4 = true

We can also verify that a cover of P1 by an elliptic curve is not birational.

i5 : R=QQ[x,y,z]/(x^3+y^3-z^3);
i6 : S=QQ[s,t];
i7 : Pi = map(R, S, {x, y-z});

o7 : RingMap R <--- S
i8 : isBirationalMap(Pi, Verbose=>false)

o8 = false

Note the Frobenius map is not birational.

i9 : R = ZZ/5[x,y,z]/(x^3+y^3-z^3);
i10 : S = ZZ/5[a,b,c]/(a^3+b^3-b^3);
i11 : h = map(R, S, {x^5, y^5, z^5});

o11 : RingMap R <--- S
i12 : isBirationalMap(h, Strategy=>SaturationStrategy)
Starting isBirationalMap
isBirationalMap: About to find the image of the map.  If you know the image, you may want to use the AssumeDominant option if this is slow.
isBirationalMap: Found the image of the map.

o12 = false

Caveat

Also see the very fast probabilisitc birationality checking of the Cremona package: isBirational

See also

Ways to use isBirationalMap :