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

RationalMaps -- A package for computations with rational maps.


RationalMaps is a package for computing things related to maps between projective varieties.

It focuses on finding where a birational map is undefined, checking whether a map is a closed embedding, checking birationality and computing inverse maps

Mathematical background:
  • A. V. Dória, S. H. Hassanzadeh, A. Simis, A characteristic free criterion of birationality, Advances in Mathematics, Volume 230, Issue 1, 1 May 2012, Pages 390-413.
  • A. Simis, Cremona Transformations and some Related Algebras, Journal of Algebra, Volume 280, Issue 1, 1 October 2004, Pages 162–179
Functionality overlap with other packages:

Parametrization.m2: While the Parametrization (missing documentation) focuses on mostly on curves, it also includes a function invertBirationalMap (missing documentation) which has the same functionality as inverseOfMap. On the other hand, these two functions were implemented somewhat differently and so sometimes one function can be substantially faster than the other.

Cremona.m2: The package Cremona (missing documentation) focuses on fast probabilistic computations in general cases and deterministic computations for special kinds of maps from projective space. More precisely,
  • isBirational (missing documentation) gives a probabilisitc answer to the question of whether a map between varieties is birational. Furthermore, if the source is projective space, then degreeOfRationalMap (missing documentation) with MathMode=>true can give a deterministic answer. In some cases, the speed of the latter is comparable with isBirationalMap with AssumeDominant=>true.
  • inverseMap (missing documentation) gives a fast computation of the inverse of a birational map if the source is projective space and the map has maximal linear rank. In some cases, even if the map has maximal linear rank, our function inverseOfMap appears to be competitive however. If you pass inverseMap a map not from projective space, then it calls a modified version invertBirationalMap (missing documentation) copied from Parametrization (missing documentation).



This documentation describes version 0.21 of RationalMaps.

Source code

The source code from which this documentation is derived is in the file RationalMaps.m2.


  • Functions and commands
    • baseLocusOfMap -- Computes base locus of a map from a projective variety to projective space
    • dimImage -- Computes dimension of image of rational map of projective varieties
    • idealOfImageOfMap -- Finds defining equations for the image of a rational map between varieties or schemes
    • inverseOfMap -- Computes the inverse map of a given birational map between projective varieties. Returns an error if the map is not birational onto its image.
    • isBirationalMap -- Checks if a map between projective varieties is birational.
    • isBirationalOntoImage -- Checks if a map between projective varieties is birational onto its image.
    • isEmbedding -- Checks whether a map of projective varieties is a closed embedding.
    • isRegularMap -- Checks whether a map to projective space is regular
    • isSameMap -- Checks whether two maps to projective space are really the same
    • jacobianDualMatrix -- Computes the Jacobian Dual Matrix, a matrix whose kernel describing the syzygies of the inverse map.
    • mapOntoImage -- Given a map of rings, correspoing to X mapping to Y, this returns the map of rings corresponding to X mapping to f(X).
    • relationType -- Given an ideal in a ring this computes the maximum degree, of the new variables, of the minimal generators of the defining ideal of the associated Rees algebra.
    • sourceInversionFactor -- Computes the the common factor among the the components of the composition of the inverse map and the original map.
  • Symbols
    • AssumeDominant -- If true, certain functions assume that the map from X to Y is dominant.
    • CheckBirational -- If true, functions will check birationality.
    • HybridLimit -- An option to control HybridStrategy
    • HybridStrategy -- A strategy for inverseOfMap, isBirationalMap and isEmbedding.
    • MinorsCount -- An option controlling the behavior of isBirational and inverseOfMap (and other functions which call those).
    • ReesStrategy -- A strategy for inverseOfMap, isBirationalMap, relationType and is Embedding.
    • SaturateOutput -- If false, certain functions will not saturate their output.
    • SaturationStrategy -- A strategy for inverseOfMap, isBirationalMap, relationType and is Embedding.
    • SimisStrategy -- A strategy for inverseOfMap, isBirationalMap and isEmbedding.