next | previous | forward | backward | up | index | toc

# RationalMapping -- a rational mapping between projective varieties

## Synopsis

• Usage:
phi = rationalMapping(f)
phi = rationalMapping(targetRing, sourceRing, l)
phi = rationalMapping(targetRing, sourceRing, m)
phi = rationalMapping(targetVariety, sourceVariety, l)
phi = rationalMapping(targetVariety, sourceVariety, m)
• Inputs:
• f, , a ring map corresponding to the rational map between varieties
• targetRing, a ring, the ring corresponding to the source variety
• sourceRing, a ring, the ring corresponding to the target variety
• targetVariety, , the target variety
• sourceVariety, , the source variety
• l, , the list of elements describing the map
• m, , the matrix describing the map

## Description

A RationalMapping is a Type that is used to treat maps between projective varieties geometrically. It stores essentially equivalent data to the corresponding map between the homogeneous coordinate rings. The way to construct the object is to use the function rationalMapping.

For example, the following is a Cremona transformation on $P^2$ constructed in multiple ways (in this case, the entries describing the map all have degree 2).

 i1 : R = QQ[x,y,z] o1 = R o1 : PolynomialRing i2 : P2 = Proj(R) o2 = P2 o2 : ProjectiveVariety i3 : phi1 = rationalMapping(P2, P2, {y*z,x*z,x*y}) o3 = P2 - - - > P2 {y*z, x*z, x*y} o3 : RationalMapping i4 : phi2 = rationalMapping(R, R, matrix{{y*z,x*z,x*y}}) o4 = P2 - - - > P2 {y*z, x*z, x*y} o4 : RationalMapping i5 : phi3 = rationalMapping(map(R, R, {y*z,x*z,x*y})) o5 = P2 - - - > P2 {y*z, x*z, x*y} o5 : RationalMapping

The source and target can also be different. For example, consider the following map from $P^1$ to a nodal cubic in $P^2$.

 i6 : S = QQ[x,y,z]; i7 : P2 = Proj S; i8 : R = QQ[a,b]; i9 : P1 = Proj R; i10 : phi = rationalMapping(P2, P1, {b*a*(a-b), a^2*(a-b), b^3}) 2 2 3 2 3 o10 = P1 - - - > P2 {a b - a*b , a - a b, b } o10 : RationalMapping i11 : h = map(R, S, {b*a*(a-b), a^2*(a-b), b^3}) 2 2 3 2 3 o11 = map (R, S, {a b - a*b , a - a b, b }) o11 : RingMap R <--- S i12 : psi = rationalMapping h 2 2 3 2 3 o12 = P1 - - - > P2 {a b - a*b , a - a b, b } o12 : RationalMapping i13 : phi == psi o13 = true

Notice that when defining a map between projective varieties, we keep the target then source input convention.

Warning, the list or matrix describing the map needs every entry to have the same degree.

## Methods that use an object of class RationalMapping :

• "baseLocusOfMap(RationalMapping)" -- see baseLocusOfMap -- the base locus of a map from a projective variety to projective space
• "idealOfImageOfMap(RationalMapping)" -- see idealOfImageOfMap -- finds defining equations for the image of a rational map between varieties or schemes
• "inverseOfMap(RationalMapping)" -- see inverseOfMap -- inverse of a birational map between projective varieties
• "isBirationalMap(RationalMapping)" -- see isBirationalMap -- whether a map between projective varieties is birational
• "isBirationalOntoImage(RationalMapping)" -- see isBirationalOntoImage -- whether a map between projective varieties is birational onto its image
• "isEmbedding(RationalMapping)" -- see isEmbedding -- whether a rational map of projective varieties is a closed embedding
• "isRegularMap(RationalMapping)" -- see isRegularMap -- whether a map to projective space is regular
• "isSameMap(RationalMapping,RationalMapping)" -- see isSameMap -- whether two rational maps to between projective varieties are really the same
• "RationalMapping == RationalMapping" -- see isSameMap -- whether two rational maps to between projective varieties are really the same
• "jacobianDualMatrix(RationalMapping)" -- see jacobianDualMatrix -- computes the Jacobian dual matrix
• map(RationalMapping) -- the ring map associated to a RationalMapping between projective varieties
• "mapOntoImage(RationalMapping)" -- see mapOntoImage -- the induced map from a variety to the closure of its image under a rational map
• net(RationalMapping) (missing documentation)
• source(RationalMapping) -- returns the source or target of a RationalMapping between projective varieties.
• "target(RationalMapping)" -- see source(RationalMapping) -- returns the source or target of a RationalMapping between projective varieties.

## For the programmer

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