next | previous | forward | backward | up | top | index | toc | Macaulay2 website
MultiprojectiveVarieties :: inverse(MultirationalMap)

inverse(MultirationalMap) -- inverse of a birational map

Synopsis

Description

This function applies a general algorithm to calculate the inverse map passing through the computation of the graph.

i1 : -- map defined by the quadrics through a rational normal quartic curve
     ZZ/65521[a..e], f = rationalMap minors(2,matrix {{a,b,c,d},{b,c,d,e}});
i2 : Phi = multirationalMap {f};

o2 : MultirationalMap (rational map from PP^4 to PP^5)
i3 : -- we see Phi as a dominant map
     Phi = multirationalMap(Phi,image Phi);

o3 : MultirationalMap (dominant rational map from PP^4 to hypersurface in PP^5)
i4 : time inverse Phi;
     -- used 0.402053 seconds

o4 : MultirationalMap (birational map from hypersurface in PP^5 to PP^4)
i5 : Psi = last graph Phi;

o5 : MultirationalMap (birational map from 4-dimensional subvariety of PP^4 x PP^5 to hypersurface in PP^5)
i6 : time inverse Psi;
     -- used 1.02319 seconds

o6 : MultirationalMap (birational map from hypersurface in PP^5 to 4-dimensional subvariety of PP^4 x PP^5)
i7 : Eta = first graph Psi;

o7 : MultirationalMap (birational map from 4-dimensional subvariety of PP^4 x PP^5 x PP^5 to 4-dimensional subvariety of PP^4 x PP^5)
i8 : time inverse Eta;
     -- used 7.64635 seconds

o8 : MultirationalMap (birational map from 4-dimensional subvariety of PP^4 x PP^5 to 4-dimensional subvariety of PP^4 x PP^5 x PP^5)
i9 : describe oo!

o9 = multi-rational map consisting of 3 rational maps
     source variety: 4-dimensional subvariety of PP^4 x PP^5 cut out by 9 hypersurfaces of degrees ({0, 2},{1, 1},{1, 1},{1, 1},{1, 1},{1, 1},{1, 1},{1, 1},{1, 1})
     target variety: 4-dimensional subvariety of PP^4 x PP^5 x PP^5 cut out by 34 hypersurfaces of degrees ({0, 1, 1},{0, 0, 2},{0, 1, 1},{0, 1, 1},{0, 1, 1},{0, 1, 1},{0, 1, 1},{0, 1, 1},{1, 0, 1},{1, 0, 1},{0, 1, 1},{0, 1, 1},{0, 1, 1},{0, 1, 1},{1, 0, 1},{1, 0, 1},{1, 0, 1},{0, 1, 1},{0, 1, 1},{0, 1, 1},{0, 1, 1},{0, 1, 1},{1, 0, 1},{1, 0, 1},{1, 0, 1},{0, 2, 0},{1, 1, 0},{1, 1, 0},{1, 1, 0},{1, 1, 0},{1, 1, 0},{1, 1, 0},{1, 1, 0},{1, 1, 0})
     base locus: empty subscheme of PP^4 x PP^5
     dominance: true
     birationality: true
     --
     rational map (1/3) defined by multiforms of degree {1, 0}
     target variety: PP^4
     dominance: true
     birationality: true
     projective degrees: {51, 23, 9, 3, 1}
     number of minimal representatives: 2, with degrees ({1, 0},{0, 2})
     dimension base locus: -1
     --
     rational map (2/3) defined by multiforms of degree {0, 1}
     target variety: PP^5
     image: smooth quadric hypersurface in PP^5
     dominance: false
     birationality: false
     degree of map: 1
     projective degrees: {51, 28, 14, 6, 2}
     number of minimal representatives: 2, with degrees ({0, 1},{2, 0})
     dimension base locus: -1
     --
     rational map (3/3) defined by multiforms of degree {0, 1}
     target variety: PP^5
     image: smooth quadric hypersurface in PP^5
     dominance: false
     birationality: false
     degree of map: 1
     projective degrees: {51, 28, 14, 6, 2}
     number of minimal representatives: 2, with degrees ({0, 1},{2, 0})
     dimension base locus: -1
     --
     coefficient ring: ZZ/65521
i10 : assert(Phi * Phi^-1 == 1 and Phi^-1 * Phi == 1)
i11 : assert(Psi * Psi^-1 == 1 and Psi^-1 * Psi == 1)
i12 : assert(Eta * Eta^-1 == 1 and Eta^-1 * Eta == 1)

Caveat

No test is done to check that the map is birational, and if not then often the error is not thrown at all and a nonsense answer is returned. You can for instance do degree Phi == 1 to check that the map is birational onto its image, and image Phi == target Phi to check the dominance.

See also