An object of the class *RationalMap* can be basically replaced by a homogeneous ring map of quotients of polynomial rings by homogeneous ideals. One main advantage to using this class is that things computed using non-probabilistic algorithms are stored internally (or partially stored).

The constructor for the class is rationalMap, which works quite similar to toMap. See in particular the methods: rationalMap(RingMap), rationalMap(Ideal,ZZ,ZZ), rationalMap(Tally), and rationalMap(PolynomialRing,List).

In the package MultiprojectiveVarieties (missing documentation) , this class has been extended to provide support to rational maps between multi-projective varieties, see MultirationalMap.

- quadroQuadricCremonaTransformation -- quadro-quadric Cremona transformations
- segre -- Segre embedding
- specialCremonaTransformation -- special Cremona transformations whose base locus has dimension at most three
- specialCubicTransformation -- special cubic transformations whose base locus has dimension at most three
- specialQuadraticTransformation -- special quadratic transformations whose base locus has dimension three

- abstractRationalMap(RationalMap) -- see abstractRationalMap -- make an abstract rational map
- approximateInverseMap(RationalMap) -- see approximateInverseMap -- random map related to the inverse of a birational map
- approximateInverseMap(RationalMap,ZZ) -- see approximateInverseMap -- random map related to the inverse of a birational map
- coefficientRing(RationalMap) -- coefficient ring of a rational map
- coefficients(RationalMap) -- coefficient matrix of a rational map
- degree(RationalMap) -- degree of a rational map
- degreeMap(RationalMap) -- degree of a rational map
- degrees(RationalMap) -- projective degrees of a rational map
- multidegree(RationalMap) -- see degrees(RationalMap) -- projective degrees of a rational map
- describe(RationalMap) -- describe a rational map
- entries(RationalMap) -- the entries of the matrix associated to a rational map
- exceptionalLocus(RationalMap) -- see exceptionalLocus -- exceptional locus of a birational map
- flatten(RationalMap) -- write source and target as nondegenerate varieties
- forceImage(RationalMap,Ideal) -- see forceImage -- declare which is the image of a rational map
- forceInverseMap(RationalMap,RationalMap) -- see forceInverseMap -- declare that two rational maps are one the inverse of the other
- graph(RationalMap) -- see graph -- closure of the graph of a rational map
- ideal(RationalMap) -- base locus of a rational map
- image(RationalMap,String) -- closure of the image of a rational map using the F4 algorithm (experimental)
- image(RationalMap) -- see image(RationalMap,ZZ) -- closure of the image of a rational map
- image(RationalMap,ZZ) -- closure of the image of a rational map
- inverse(RationalMap) -- inverse of a birational map
- inverse(RationalMap,Option) -- see inverse(RationalMap) -- inverse of a birational map
- inverseMap(RationalMap) -- see inverseMap -- inverse of a birational map
- isBirational(RationalMap) -- see isBirational -- whether a rational map is birational
- isDominant(RationalMap) -- see isDominant -- whether a rational map is dominant
- isInverseMap(RationalMap,RationalMap) -- checks whether two rational maps are one the inverse of the other
- isIsomorphism(RationalMap) -- whether a birational map is an isomorphism
- isMorphism(RationalMap) -- see isMorphism -- whether a rational map is a morphism
- map(RationalMap) -- get the ring map defining a rational map
- map(ZZ,RationalMap) -- see map(RationalMap) -- get the ring map defining a rational map
- matrix(RationalMap) -- the matrix associated to a rational map
- matrix(ZZ,RationalMap) -- see matrix(RationalMap) -- the matrix associated to a rational map
- projectiveDegrees(RationalMap) -- projective degrees of a rational map
- RationalMap ! -- calculates every possible thing
- compose(RationalMap,RationalMap) -- see RationalMap * RationalMap -- composition of rational maps
- RationalMap * RationalMap -- composition of rational maps
- RationalMap ** Ring -- change the coefficient ring of a rational map
- RationalMap == RationalMap -- equality of rational maps
- RationalMap == ZZ -- see RationalMap == RationalMap -- equality of rational maps
- ZZ == RationalMap -- see RationalMap == RationalMap -- equality of rational maps
- RationalMap ^ ZZ -- power
- RationalMap ^* -- see RationalMap ^** Ideal -- inverse image via a rational map
- RationalMap ^** Ideal -- inverse image via a rational map
- RationalMap _* -- direct image via a rational map
- RationalMap Ideal -- see RationalMap _* -- direct image via a rational map
- RationalMap | Ideal -- restriction of a rational map
- RationalMap | Ring -- see RationalMap | Ideal -- restriction of a rational map
- RationalMap | RingElement -- see RationalMap | Ideal -- restriction of a rational map
- RationalMap || Ideal -- restriction of a rational map
- RationalMap || Ring -- see RationalMap || Ideal -- restriction of a rational map
- RationalMap || RingElement -- see RationalMap || Ideal -- restriction of a rational map
- segre(RationalMap) -- see segre -- Segre embedding
- SegreClass(RationalMap) -- see SegreClass -- Segre class of a closed subscheme of a projective variety
- source(RationalMap) -- coordinate ring of the source for a rational map
- substitute(RationalMap,PolynomialRing,PolynomialRing) -- substitute the ambient projective spaces of source and target
- rationalMap(RationalMap) -- see super(RationalMap) -- get the rational map whose target is a projective space
- super(RationalMap) -- get the rational map whose target is a projective space
- target(RationalMap) -- coordinate ring of the target for a rational map
- toExternalString(RationalMap) -- convert to a readable string

The object RationalMap is a type, with ancestor classes MutableHashTable < HashTable < Thing.