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 mapsMathematical background:
Functionality overlap with other packages: Parametrization
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
: While the package Parametrization
focuses mostly on curves, it also includes a function invertBirationalMap
that has the same functionality as inverseOfMap
. On the other hand, these two functions were implemented differently and so sometimes one function can be substantially faster than the other. Cremona
: The package Cremona
focuses on fast probabilistic computations in general cases and deterministic computations for special kinds of maps from projective space. More precisely,
isBirational gives a probabilistic answer to the question of whether a map between varieties is birational. Furthermore, if the source is projective space, then degreeOfRationalMap with MathMode=>true gives a deterministic correct answer. In some cases, the speed of the latter is comparable with isBirationalMap with AssumeDominant=>true.
inverseMap 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 and improved version of invertBirationalMap from Parametrization.