This function applies a general algorithm to calculate the inverse map passing through the computation of the graph. Note that by default the option Verify is set to true, which means that the birationality of the map is verified using degree Phi == 1 and image Phi == target Phi.
i1 : -- map defined by the quadrics through a rational normal quartic curve
Phi = rationalMap PP_(ZZ/65521)^(1,4);
o1 : MultirationalMap (rational map from PP^4 to PP^5)
|
i2 : -- we see Phi as a dominant map
Phi = rationalMap(Phi,image Phi);
o2 : MultirationalMap (dominant rational map from PP^4 to hypersurface in PP^5)
|
i3 : time inverse Phi;
-- used 0.0381448s (cpu); 0.0384101s (thread); 0s (gc)
o3 : MultirationalMap (birational map from hypersurface in PP^5 to PP^4)
|
i4 : Psi = last graph Phi;
o4 : MultirationalMap (birational map from 4-dimensional subvariety of PP^4 x PP^5 to hypersurface in PP^5)
|
i5 : time inverse Psi;
-- used 0.111852s (cpu); 0.0738472s (thread); 0s (gc)
o5 : MultirationalMap (birational map from hypersurface in PP^5 to 4-dimensional subvariety of PP^4 x PP^5)
|
i6 : Eta = first graph Psi;
o6 : 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)
|
i7 : time inverse Eta;
-- used 0.313197s (cpu); 0.23292s (thread); 0s (gc)
o7 : 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)
|
i8 : assert(Phi * Phi^-1 == 1 and Phi^-1 * Phi == 1)
|
i9 : assert(Psi * Psi^-1 == 1 and Psi^-1 * Psi == 1)
|
i10 : assert(Eta * Eta^-1 == 1 and Eta^-1 * Eta == 1)
|