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) |
The object rationalMap is a method function with options.