Macaulay2 » Documentation
Packages » QthPower :: minimization
next | previous | forward | backward | up | index | toc

minimization -- change to a better Noether normalization suggested by the induced weights

Synopsis

Description

i1 : wtR = matrix{{31,12}};

              1       2
o1 : Matrix ZZ  <-- ZZ
i2 : Rq = ZZ/2[y,x,Weights=>entries weightGrevlex(wtR)];
i3 : Iq = {y^12+y^11+y^10*x^2+y^8*x^9+x^31};
i4 : ic1 = qthIntegralClosure(wtR,Rq,Iq)

        28   11    7 9    10    9 2   10 3    6 12    9 3    8 5   9 6  
o4 = ({x  , y   + y x  + y   + y x , y  x  + y x   + y x  + y x , y x  +
                                                                        
     ------------------------------------------------------------------------
      5 15    8 6    7 8   8 9    4 18    7 9    6 11   7 12    3 21    6 12
     y x   + y x  + y x , y x  + y x   + y x  + y x  , y x   + y x   + y x  
                                                                            
     ------------------------------------------------------------------------
        5 14   6 15    2 24    5 15    4 17     28   5 18      27    4 18  
     + y x  , y x   + y x   + y x   + y x  , y*x  , y x   + y*x   + y x   +
                                                                           
     ------------------------------------------------------------------------
      3 20   2 26      26   4 21    3 21    2 23   3 24    2 24      26     2
     y x  , y x   + y*x  , y x   + y x   + y x  , y x   + y x   + y*x  }, {p 
                                                                            0
     ------------------------------------------------------------------------
                  3       2       5             2               2       5  
     + p p   + p p   + p p   + p p  , p p  + p p   + p p   + p p   + p p  ,
        1 11    2 11    3 11    5 11   0 1    0 11    3 11    5 11    6 11 
     ------------------------------------------------------------------------
                       4       3                     2       5         
     p p  + p p   + p p   + p p  , p p  + p p   + p p   + p p  , p p  +
      0 2    1 11    3 11    4 11   0 3    5 11    6 11    7 11   0 4  
     ------------------------------------------------------------------------
        3                     2       5                     2       5       
     p p  , p p  + p p   + p p   + p p  , p p  + p p   + p p   + p p  , p p 
      1 11   0 5    6 11    7 11    8 11   0 6    7 11    8 11    9 11   0 7
     ------------------------------------------------------------------------
                  2        5                      2     5             2   
     + p p   + p p   + p  p  , p p  + p p   + p  p   + p  , p p  + p p   +
        8 11    9 11    10 11   0 8    9 11    10 11    11   0 9    4 11  
     ------------------------------------------------------------------------
               2                         2      2               2       5  
     p  p   + p  , p p   + p p   + p  , p  + p p   + p p   + p p   + p p  ,
      10 11    11   0 10    2 11    11   1    1 11    5 11    6 11    7 11 
     ------------------------------------------------------------------------
               2               4                     2       5             3 
     p p  + p p   + p p   + p p  , p p  + p p   + p p   + p p  , p p  + p p  
      1 2    2 11    3 11    5 11   1 3    6 11    7 11    8 11   1 4    3 11
     ------------------------------------------------------------------------
          2                     2       5                     2        5  
     + p p  , p p  + p p   + p p   + p p  , p p  + p p   + p p   + p  p  ,
        4 11   1 5    7 11    8 11    9 11   1 6    8 11    9 11    10 11 
     ------------------------------------------------------------------------
                        2     5             2              2                 
     p p  + p p   + p  p   + p  , p p  + p p   + p  p   + p  , p p  + p p   +
      1 7    9 11    10 11    11   1 8    4 11    10 11    11   1 9    2 11  
     ------------------------------------------------------------------------
                       2           3                          4         
     p  , p p   + p , p  + p  + p p   + p , p p  + p p   + p p  , p p  +
      11   1 10    0   2    0    1 11    2   2 3    5 11    6 11   2 4  
     ------------------------------------------------------------------------
        2                          4                     4                 
     p p   + p , p p  + p p   + p p  , p p  + p p   + p p  , p p  + p p   +
      0 11    4   2 5    6 11    7 11   2 6    7 11    8 11   2 7    8 11  
     ------------------------------------------------------------------------
        4                      4                    4                       
     p p  , p p  + p p   + p  p  , p p  + p  p   + p  , p p   + p p   + p  ,
      9 11   2 8    9 11    10 11   2 9    10 11    11   2 10    4 11    11 
     ------------------------------------------------------------------------
      2      2               2       5             3             2           
     p  + p p   + p p   + p p   + p p  , p p  + p p  , p p  + p p   + p p   +
      3    5 11    7 11    8 11    9 11   3 4    5 11   3 5    6 11    8 11  
     ------------------------------------------------------------------------
        2        5             2                2     5             2   
     p p   + p  p  , p p  + p p   + p p   + p  p   + p  , p p  + p p   +
      9 11    10 11   3 6    7 11    9 11    10 11    11   3 7    4 11  
     ------------------------------------------------------------------------
        2              2                     2                         2  
     p p   + p  p   + p  , p p  + p p   + p p   + p  , p p  + p  + p  p  ,
      8 11    10 11    11   3 8    2 11    9 11    11   3 9    0    10 11 
     ------------------------------------------------------------------------
                   2    2      2                  3             3         
     p p   + p  + p  , p  + p p   + p , p p  + p p  , p p  + p p  , p p  +
      3 10    1    11   4    2 11    4   4 5    6 11   4 6    7 11   4 7  
     ------------------------------------------------------------------------
        3             3              3            3    2      2           
     p p  , p p  + p p  , p p  + p  p  , p p   + p  , p  + p p   + p p   +
      8 11   4 8    9 11   4 9    10 11   4 10    11   5    7 11    9 11  
     ------------------------------------------------------------------------
         2     5             2       2              2                     2 
     p  p   + p  , p p  + p p   + p p   + p  p   + p  , p p  + p p   + p p  
      10 11    11   5 6    4 11    8 11    10 11    11   5 7    2 11    9 11
     ------------------------------------------------------------------------
                            2                2                2          
     + p  , p p  + p  + p  p  , p p  + p  + p  , p p   + p , p  + p p   +
        11   5 8    0    10 11   5 9    1    11   5 10    3   6    2 11  
     ------------------------------------------------------------------------
        2                         2                2                         
     p p   + p  , p p  + p  + p  p  , p p  + p  + p  , p p  + p , p p   + p ,
      9 11    11   6 7    0    10 11   6 8    1    11   6 9    3   6 10    5 
     ------------------------------------------------------------------------
      2         2                                      2                 
     p  + p  + p  , p p  + p , p p  + p , p p   + p , p  + p , p p  + p ,
      7    1    11   7 8    3   7 9    5   7 10    6   8    5   8 9    6 
     ------------------------------------------------------------------------
                  2                    2         ZZ
     p p   + p , p  + p , p p   + p , p   + p }, --[p ..p  ], | 45 40 38 35
      8 10    7   9    7   9 10    8   10    9    2  0   11
     ------------------------------------------------------------------------
     31 30 25 20 15 10 5 12 |)

o4 : Sequence
i5 : ic2 = minimization(ic1); toString ic2

o6 = {matrix {{45, 40, 38, 35, 31, 30, 25, 20, 15, 10, 12, 5}},
     (ZZ/2)[p_0..p_11], {p_10^3+p_4*p_11, p_4*p_10+p_2*p_11+p_10,
     p_2*p_10+p_11^10+p_10^2*p_11^2+p_10,
     p_4^2+p_10*p_11^10+p_4*p_11^3+p_4+p_10^2,
     p_2*p_4+p_10^2*p_11^9+p_2*p_11^3+p_4+p_10*p_11^2,
     p_2^2+p_4*p_11^9+p_11^12+p_11^9+p_10^2*p_11^4+p_2+p_10*p_11^2}}
i7 : ic3 = qthIntegralClosure(ic2#0,ic2#1,ic2#2)

                2              2           9      4      2    12    9        
o7 = ({1, p  , p  , p , p }, {p  + p  + p p  + p p  + p p  + p   + p , p p  +
           10   10   4   2     0    0    1 4    2 4    3 4    4     4   0 1  
     ------------------------------------------------------------------------
        3           9      2            3           10            2       
     p p  + p  + p p  + p p , p p  + p p  + p  + p p  , p p  + p p  + p  +
      0 4    1    2 4    3 4   0 2    1 4    2    3 4    0 3    2 4    3  
     ------------------------------------------------------------------------
      10   2      3                10            3                11        
     p  , p  + p p  + p  + p  + p p  , p p  + p p  + p  + p p  + p  , p p  +
      4    1    1 4    1    2    3 4    1 2    2 4    2    3 4    4    1 3  
     ------------------------------------------------------------------------
                 2      2                       2        ZZ
     p p  + p , p  + p p  + p p , p p  + p p , p  + p }, --[p ..p ], | 38 31
      0 4    3   2    0 4    3 4   2 3    1 4   3    2    2  0   4
     ------------------------------------------------------------------------
     24 12 5 |)

o7 : Sequence
i8 : R1=ZZ/2[f38,f31,f12,f5,Weights=> entries weightGrevlex(matrix{{38,31,12,5}})];
i9 : phi1=map(R1,ic2#1,matrix{{0,0,f38,0,f31,0,0,0,0,0,f12,f5}});

                    ZZ
o9 : RingMap R1 <-- --[p ..p  ]
                     2  0   11
i10 : I1=ic2#2/(v->phi1(v))

          3                                               10      2  2       
o10 = {f12  + f31*f5, f31*f12 + f38*f5 + f12, f38*f12 + f5   + f12 f5  + f12,
      -----------------------------------------------------------------------
         2         10         3            2               2  9         3  
      f31  + f12*f5   + f31*f5  + f31 + f12 , f38*f31 + f12 f5  + f38*f5  +
      -----------------------------------------------------------------------
                  2     2         9     12     9      2  4               2
      f31 + f12*f5 , f38  + f31*f5  + f5   + f5  + f12 f5  + f38 + f12*f5 }

o10 : List
i11 : G1=transpose gens gb ideal I1

o11 = {-3}  | f12^3+f31f5                                    |
      {-2}  | f31f12+f38f5+f12                               |
      {-10} | f38f12+f5^10+f12^2f5^2+f12                     |
      {-11} | f31^2+f12f5^10+f31f5^3+f31+f12^2               |
      {-11} | f38f31+f12^2f5^9+f38f5^3+f31+f12f5^2           |
      {-12} | f38^2+f31f5^9+f5^12+f5^9+f12^2f5^4+f38+f12f5^2 |

               6       1
o11 : Matrix R1  <-- R1
i12 : R2=ZZ/2[f38,f31,f24,f12,f5,MonomialOrder=>{Weights=>{1,1,1,1,0},Weights=>{1,1,1,0,0},Weights=>{1,1,0,0,0},Weights=>{1,0,0,0,0},Weights=>{38,31,24,12,5}}];
i13 : phi2=map(R2,R1,matrix{{f38,f31,f12,f5}});

o13 : RingMap R2 <-- R1
i14 : I2=ideal((flatten entries G1)/(v->phi2(v)))+ideal(f12^2-f24)

                3                                                2  2        
o14 = ideal (f12  + f31*f5, f31*f12 + f38*f5 + f12, f38*f12 + f12 f5  + f12 +
      -----------------------------------------------------------------------
        10     2      2         3               10               2  9  
      f5  , f31  + f12  + f31*f5  + f31 + f12*f5  , f38*f31 + f12 f5  +
      -----------------------------------------------------------------------
            3               2     2      2  4               9         2  
      f38*f5  + f31 + f12*f5 , f38  + f12 f5  + f38 + f31*f5  + f12*f5  +
      -----------------------------------------------------------------------
        12     9     2
      f5   + f5 , f12  + f24)

o14 : Ideal of R2
i15 : G2=transpose gens gb I2

o15 = {-2}  | f12^2+f24                                    |
      {-2}  | f24f12+f31f5                                 |
      {-2}  | f31f12+f38f5+f12                             |
      {-10} | f38f12+f24f5^2+f12+f5^10                     |
      {-3}  | f24^2+f38f5^2+f12f5                          |
      {-11} | f31f24+f24f5^3+f24+f12f5+f5^11               |
      {-11} | f38f24+f31f5^3+f24+f12f5^10                  |
      {-11} | f31^2+f31f5^3+f31+f24+f12f5^10               |
      {-10} | f38f31+f38f5^3+f31+f24f5^9+f12f5^2           |
      {-12} | f38^2+f38+f31f5^9+f24f5^4+f12f5^2+f5^12+f5^9 |

               10       1
o15 : Matrix R2   <-- R2

Minimization changes the order of the variables to implicitly change to a new Noether normalization, but doesn't actually recompute the integral closure presentation as a strict affine algebra over the new Noether normalization. Therefore a second call to an integral closure method is required if the output of normalization doesn't suffice. It does produce the three outputs needed as input to either qthIntegralClosure or rationalIntegralClosure. I don't necessarily like this second call. At the current time it is easier to use the output of minimization to produce manually (as above) a good minimization.

Ways to use minimization :

For the programmer

The object minimization is a method function.