next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Cremona :: Cremona

Cremona -- package for some computations on rational maps between projective varieties

Description

Cremona is a package to perform some basic computations on rational and birational maps between absolutely irreducible projective varieties over a field K, with particular emphasis when the source variety is a projective space.

Let Φ:X ---> Y be a rational map from a subvariety X=V(I)⊆ℙn=Proj(K[x0,...,xn]) to a subvariety Y=V(J)⊆ℙm=Proj(K[y0,...,ym]). The map Φ (in a non-pathological case) can be represented, although not uniquely, by a homogeneous ring map φ:K[y0,...,ym]/J →K[x0,...,xn]/I of quotients of polynomial rings by homogeneous ideals. These kinds of ring maps are the typical inputs for the methods in this package. The method toMap constructs such a map from a list of m+1 homogeneous elements of the same degree in K[x0,...,xn]/I.

Below is an example using the methods provided by this package, dealing with a birational transformation Φ:ℙ6 ---> G(2,4)⊂ℙ9 of bidegree (3,3).

i1 : ZZ/33331[t_0..t_6];
i2 : time phi=toMap minors(3,matrix{{t_0..t_4},{t_1..t_5},{t_2..t_6}})
     -- used 0.0061343 seconds

           ZZ                                ZZ                                              3                2    2                2        2                      2                  2    2                 2                       3                2    2                2                                 2                           2    2                                  2        2                      2                  2                        2                         2    2                 2                       3                2    2
o2 = map(-----[t , t , t , t , t , t , t ],-----[x , x , x , x , x , x , x , x , x , x ],{- t  + 2t t t  - t t  - t t  + t t t , - t t  + t t  + t t t  - t t t  - t t  + t t t , - t t  + t t  + t t t  - t t  - t t t  + t t t , - t  + 2t t t  - t t  - t t  + t t t , - t t  + t t t  + t t t  - t t t  - t t  + t t t , - t t t  + t t  + t t  - t t t  - t t t  + t t t , - t t  + t t  + t t t  - t t t  - t t  + t t t , - t t  + t t t  + t t t  - t t  - t t t  + t t t , - t t  + t t  + t t t  - t t  - t t t  + t t t , - t  + 2t t t  - t t  - t t  + t t t })
         33331  0   1   2   3   4   5   6  33331  0   1   2   3   4   5   6   7   8   9      2     1 2 3    0 3    1 4    0 2 4     2 3    1 3    1 2 4    0 3 4    1 5    0 2 5     2 3    2 4    1 3 4    0 4    1 2 5    0 3 5     3     2 3 4    1 4    2 5    1 3 5     2 4    1 3 4    1 2 5    0 3 5    1 6    0 2 6     2 3 4    1 4    2 5    0 4 5    1 2 6    0 3 6     3 4    2 4    2 3 5    1 4 5    2 6    1 3 6     2 4    2 3 5    1 4 5    0 5    1 3 6    0 4 6     3 4    3 5    2 4 5    1 5    2 3 6    1 4 6     4     3 4 5    2 5    3 6    2 4 6

               ZZ                                     ZZ
o2 : RingMap -----[t , t , t , t , t , t , t ] <--- -----[x , x , x , x , x , x , x , x , x , x ]
             33331  0   1   2   3   4   5   6       33331  0   1   2   3   4   5   6   7   8   9
i3 : time J=kernelComponent(phi,2)
     -- used 2.76547 seconds

o3 = ideal (x x  - x x  + x x , x x  - x x  + x x , x x  - x x  + x x , x x 
             6 7    5 8    4 9   3 7    2 8    1 9   3 5    2 6    0 9   3 4
     ------------------------------------------------------------------------
     - x x  + x x , x x  - x x  + x x )
        1 6    0 8   2 4    1 5    0 7

                ZZ
o3 : Ideal of -----[x , x , x , x , x , x , x , x , x , x ]
              33331  0   1   2   3   4   5   6   7   8   9
i4 : time degreeOfRationalMap phi
     -- used 0.0652872 seconds

o4 = 1
i5 : time projectiveDegrees phi
     -- used 7.43116 seconds

o5 = {1, 3, 9, 17, 21, 15, 5}

o5 : List
i6 : time projectiveDegrees(phi,OnlySublist=>0)
     -- used 2.13237 seconds

o6 = {5}

o6 : List
i7 : time phi=toMap(phi,Dominant=>J)
     -- used 0.00898184 seconds

                                                                         ZZ
                                                                       -----[x , x , x , x , x , x , x , x , x , x ]
           ZZ                                                          33331  0   1   2   3   4   5   6   7   8   9                                 3                2    2                2        2                      2                  2    2                 2                       3                2    2                2                                 2                           2    2                                  2        2                      2                  2                        2                         2    2                 2                       3                2    2
o7 = map(-----[t , t , t , t , t , t , t ],----------------------------------------------------------------------------------------------------,{- t  + 2t t t  - t t  - t t  + t t t , - t t  + t t  + t t t  - t t t  - t t  + t t t , - t t  + t t  + t t t  - t t  - t t t  + t t t , - t  + 2t t t  - t t  - t t  + t t t , - t t  + t t t  + t t t  - t t t  - t t  + t t t , - t t t  + t t  + t t  - t t t  - t t t  + t t t , - t t  + t t  + t t t  - t t t  - t t  + t t t , - t t  + t t t  + t t t  - t t  - t t t  + t t t , - t t  + t t  + t t t  - t t  - t t t  + t t t , - t  + 2t t t  - t t  - t t  + t t t })
         33331  0   1   2   3   4   5   6  (x x  - x x  + x x , x x  - x x  + x x , x x  - x x  + x x , x x  - x x  + x x , x x  - x x  + x x )     2     1 2 3    0 3    1 4    0 2 4     2 3    1 3    1 2 4    0 3 4    1 5    0 2 5     2 3    2 4    1 3 4    0 4    1 2 5    0 3 5     3     2 3 4    1 4    2 5    1 3 5     2 4    1 3 4    1 2 5    0 3 5    1 6    0 2 6     2 3 4    1 4    2 5    0 4 5    1 2 6    0 3 6     3 4    2 4    2 3 5    1 4 5    2 6    1 3 6     2 4    2 3 5    1 4 5    0 5    1 3 6    0 4 6     3 4    3 5    2 4 5    1 5    2 3 6    1 4 6     4     3 4 5    2 5    3 6    2 4 6
                                             6 7    5 8    4 9   3 7    2 8    1 9   3 5    2 6    0 9   3 4    1 6    0 8   2 4    1 5    0 7

                                                                                  ZZ
                                                                                -----[x , x , x , x , x , x , x , x , x , x ]
               ZZ                                                               33331  0   1   2   3   4   5   6   7   8   9
o7 : RingMap -----[t , t , t , t , t , t , t ] <--- ----------------------------------------------------------------------------------------------------
             33331  0   1   2   3   4   5   6       (x x  - x x  + x x , x x  - x x  + x x , x x  - x x  + x x , x x  - x x  + x x , x x  - x x  + x x )
                                                      6 7    5 8    4 9   3 7    2 8    1 9   3 5    2 6    0 9   3 4    1 6    0 8   2 4    1 5    0 7
i8 : time psi=invertBirMap phi
     -- used 1.24847 seconds

                                       ZZ
                                     -----[x , x , x , x , x , x , x , x , x , x ]
                                     33331  0   1   2   3   4   5   6   7   8   9                               ZZ                                3                2               2    2                        2                          2     2        2                               2                                   2               2             2                       3                                                 2                 2    2                                  2    2                 2                                                 3                         2      2    2      2                                              2
o8 = map(----------------------------------------------------------------------------------------------------,-----[t , t , t , t , t , t , t ],{x  - 2x x x  + x x  - x x x  + x x  + x x  + x x x  - x x x  + x x  - 2x x x  - x x x  - 2x x , x x  - x x  - x x x  + x x x  + x x x  + x x  - 2x x x  - x x x  + x x x , x x  - x x x  + x x  - x x x  + x x  - x x x  - x x x , x  - x x x  + x x x  + x x x  - 2x x x  - x x x , x x  - x x x  + x x  + x x  - x x x  - x x x  - x x x , x x  - x x  - x x x  + x x  + x x x  + x x x  - 2x x x  - x x x  + x x x , x  - 2x x x  - x x x  + x x  + x x  + x x  + x x  + x x x  - 2x x x  - x x x  - x x x  - 2x x })
         (x x  - x x  + x x , x x  - x x  + x x , x x  - x x  + x x , x x  - x x  + x x , x x  - x x  + x x ) 33331  0   1   2   3   4   5   6    2     1 2 3    0 3    1 2 5    0 5    1 6    0 2 6    0 4 6    1 7     0 2 7    0 4 7     0 9   2 3    1 3    1 2 6    0 3 6    0 5 6    1 8     0 2 8    0 4 8    0 1 9   2 3    1 3 6    0 6    0 3 8    1 9    0 2 9    0 4 9   3    1 3 8    0 6 8    1 2 9     0 3 9    0 5 9   3 6    2 3 8    0 8    2 9    1 3 9    0 6 9    0 7 9   3 6    3 8    2 6 8    1 8    2 3 9    2 5 9     1 6 9    1 7 9    0 8 9   6     3 6 8    5 6 8    2 8    4 8    3 9    5 9    2 6 9     4 6 9    2 7 9    4 7 9     0 9
           6 7    5 8    4 9   3 7    2 8    1 9   3 5    2 6    0 9   3 4    1 6    0 8   2 4    1 5    0 7

                                           ZZ
                                         -----[x , x , x , x , x , x , x , x , x , x ]
                                         33331  0   1   2   3   4   5   6   7   8   9                                    ZZ
o8 : RingMap ---------------------------------------------------------------------------------------------------- <--- -----[t , t , t , t , t , t , t ]
             (x x  - x x  + x x , x x  - x x  + x x , x x  - x x  + x x , x x  - x x  + x x , x x  - x x  + x x )      33331  0   1   2   3   4   5   6
               6 7    5 8    4 9   3 7    2 8    1 9   3 5    2 6    0 9   3 4    1 6    0 8   2 4    1 5    0 7
i9 : time isInverseMap(phi,psi)
     -- used 0.166588 seconds

o9 = true
i10 : time projectiveDegrees psi
     -- used 10.3243 seconds

o10 = {5, 15, 21, 17, 9, 3, 1}

o10 : List

This package contains the main tools applied in the paper doi:10.1016/j.jsc.2015.11.004.

Author

Version

This documentation describes version 2.0 of Cremona.

Source code

The source code from which this documentation is derived is in the file Cremona.m2.

Exports