Macaulay2 » Documentation
Packages » Cremona :: rationalMap
next | previous | forward | backward | up | index | toc

rationalMap -- makes a rational map

Synopsis

Description

This is the basic construction for a rational map. The method is quite similar to toMap, except that it returns a RationalMap instead of a RingMap.

i1 : R := QQ[t_0..t_8]

o1 = QQ[t ..t ]
         0   8

o1 : PolynomialRing
i2 : F = matrix{{t_0*t_3*t_5, t_1*t_3*t_6, t_2*t_4*t_7, t_2*t_4*t_8}}

o2 = | t_0t_3t_5 t_1t_3t_6 t_2t_4t_7 t_2t_4t_8 |

                        1                 4
o2 : Matrix (QQ[t ..t ])  <-- (QQ[t ..t ])
                 0   8             0   8
i3 : phi = toMap F

o3 = map (QQ[t ..t ], QQ[x ..x ], {t t t , t t t , t t t , t t t })
              0   8       0   3     0 3 5   1 3 6   2 4 7   2 4 8

o3 : RingMap QQ[t ..t ] <-- QQ[x ..x ]
                 0   8          0   3
i4 : rationalMap phi

o4 = -- rational map --
     source: Proj(QQ[t , t , t , t , t , t , t , t , t ])
                      0   1   2   3   4   5   6   7   8
     target: Proj(QQ[x , x , x , x ])
                      0   1   2   3
     defining forms: {
                      t t t ,
                       0 3 5
                      
                      t t t ,
                       1 3 6
                      
                      t t t ,
                       2 4 7
                      
                      t t t
                       2 4 8
                     }

o4 : RationalMap (cubic rational map from PP^8 to PP^3)
i5 : rationalMap F

o5 = -- rational map --
     source: Proj(QQ[t , t , t , t , t , t , t , t , t ])
                      0   1   2   3   4   5   6   7   8
     target: Proj(QQ[x , x , x , x ])
                      0   1   2   3
     defining forms: {
                      t t t ,
                       0 3 5
                      
                      t t t ,
                       1 3 6
                      
                      t t t ,
                       2 4 7
                      
                      t t t
                       2 4 8
                     }

o5 : RationalMap (cubic rational map from PP^8 to PP^3)

Multigraded rings are also permitted but in this case the method returns an object of the class MultihomogeneousRationalMap, which can be considered as an extension of the class RationalMap.

i6 : R' := newRing(R,Degrees=>{3:{1,0,0},2:{0,1,0},4:{0,0,1}})

o6 = QQ[t ..t ]
         0   8

o6 : PolynomialRing
i7 : F' = sub(F,R')

o7 = | t_0t_3t_5 t_1t_3t_6 t_2t_4t_7 t_2t_4t_8 |

                        1                 4
o7 : Matrix (QQ[t ..t ])  <-- (QQ[t ..t ])
                 0   8             0   8
i8 : phi' = toMap F'

o8 = map (QQ[t ..t ], QQ[x ..x ], {t t t , t t t , t t t , t t t })
              0   8       0   3     0 3 5   1 3 6   2 4 7   2 4 8

o8 : RingMap QQ[t ..t ] <-- QQ[x ..x ]
                 0   8          0   3
i9 : rationalMap phi'

o9 = -- rational map --
     source: Proj(QQ[t , t , t ]) x Proj(QQ[t , t ]) x Proj(QQ[t , t , t , t ])
                      0   1   2              3   4              5   6   7   8
     target: Proj(QQ[x , x , x , x ])
                      0   1   2   3
     defining forms: {
                      t t t ,
                       0 3 5
                      
                      t t t ,
                       1 3 6
                      
                      t t t ,
                       2 4 7
                      
                      t t t
                       2 4 8
                     }

o9 : MultihomogeneousRationalMap (rational map from PP^2 x PP^1 x PP^3 to PP^3)
i10 : rationalMap F'

o10 = -- rational map --
      source: Proj(QQ[t , t , t ]) x Proj(QQ[t , t ]) x Proj(QQ[t , t , t , t ])
                       0   1   2              3   4              5   6   7   8
      target: Proj(QQ[x , x , x , x ])
                       0   1   2   3
      defining forms: {
                       t t t ,
                        0 3 5
                       
                       t t t ,
                        1 3 6
                       
                       t t t ,
                        2 4 7
                       
                       t t t
                        2 4 8
                      }

o10 : MultihomogeneousRationalMap (rational map from PP^2 x PP^1 x PP^3 to PP^3)

See also

Ways to use rationalMap :

For the programmer

The object rationalMap is a method function with options.