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

sparseDiscriminant -- sparse discriminant (A-discriminant)

Synopsis

Description

Alternatively, one can apply the method directly to the Laurent polynomial f. In this case, the matrix A is automatically determined by exponentsMatrix.

As an example, we now calculate the sparse discriminant of a generic trilinear form on 1×ℙ2×ℙ1, that is, the hyperdeterminant of a generic three-dimensional matrix of size 2×3×2.

i1 : f = genericMultihomogeneousPolynomial((2,3,2),(1,1,1))

o1 = a     x y z  + a     x y z  + a     x y z  + a     x y z  + a     x y z  + a     x y z  + a     x y z  + a     x y z  +
      0,0,0 0 0 0    0,0,1 0 0 1    0,1,0 0 1 0    0,1,1 0 1 1    0,2,0 0 2 0    0,2,1 0 2 1    1,0,0 1 0 0    1,0,1 1 0 1  
     ----------------------------------------------------------------------------------------------------------------------------
     a     x y z  + a     x y z  + a     x y z  + a     x y z
      1,1,0 1 1 0    1,1,1 1 1 1    1,2,0 1 2 0    1,2,1 1 2 1

o1 : ZZ[a     , a     , a     , a     , a     , a     , a     , a     , a     , a     , a     , a     ][x , x , y , y , y , z , z ]
         0,0,0   0,0,1   0,1,0   0,1,1   0,2,0   0,2,1   1,0,0   1,0,1   1,1,0   1,1,1   1,2,0   1,2,1   0   1   0   1   2   0   1
i2 : time sparseDiscriminant f
     -- used 2.43542 seconds

                                                   2                                2     2            
o2 = a     a     a     a     a     a      - a     a     a     a     a      - a     a     a     a      +
      0,1,1 0,2,0 0,2,1 1,0,0 1,0,1 1,1,0    0,1,0 0,2,1 1,0,0 1,0,1 1,1,0    0,1,1 0,2,0 1,0,1 1,1,0  
     ----------------------------------------------------------------------------------------------------------------------------
                        2                                      2              2           2                          2          
     a     a     a     a     a      - a     a     a     a     a      + a     a     a     a      - a     a     a     a     a     
      0,1,0 0,2,0 0,2,1 1,0,1 1,1,0    0,0,1 0,2,0 0,2,1 1,0,1 1,1,0    0,0,0 0,2,1 1,0,1 1,1,0    0,1,1 0,2,0 0,2,1 1,0,0 1,1,1
     ----------------------------------------------------------------------------------------------------------------------------
              2     2                    2                                                               
     + a     a     a     a      + a     a     a     a     a      - a     a     a     a     a     a      +
        0,1,0 0,2,1 1,0,0 1,1,1    0,1,1 0,2,0 1,0,0 1,0,1 1,1,1    0,1,0 0,2,0 0,2,1 1,0,0 1,0,1 1,1,1  
     ----------------------------------------------------------------------------------------------------------------------------
                                                   2                                2                        
     a     a     a     a     a     a      - a     a     a     a     a      + a     a     a     a     a      -
      0,0,1 0,2,0 0,2,1 1,0,0 1,1,0 1,1,1    0,0,0 0,2,1 1,0,0 1,1,0 1,1,1    0,0,1 0,2,0 1,0,1 1,1,0 1,1,1  
     ----------------------------------------------------------------------------------------------------------------------------
                                                   2           2                                2      
     a     a     a     a     a     a      - a     a     a     a      + a     a     a     a     a      -
      0,0,0 0,2,0 0,2,1 1,0,1 1,1,0 1,1,1    0,0,1 0,2,0 1,0,0 1,1,1    0,0,0 0,2,0 0,2,1 1,0,0 1,1,1  
     ----------------------------------------------------------------------------------------------------------------------------
      2                                                                                         2            
     a     a     a     a     a      + a     a     a     a     a     a      + a     a     a     a     a      -
      0,1,1 0,2,0 1,0,0 1,0,1 1,2,0    0,1,0 0,1,1 0,2,1 1,0,0 1,0,1 1,2,0    0,1,0 0,1,1 0,2,0 1,0,1 1,2,0  
     ----------------------------------------------------------------------------------------------------------------------------
      2           2                                                                                          
     a     a     a     a      + a     a     a     a     a     a      + a     a     a     a     a     a      -
      0,1,0 0,2,1 1,0,1 1,2,0    0,0,1 0,1,1 0,2,0 1,0,1 1,1,0 1,2,0    0,0,1 0,1,0 0,2,1 1,0,1 1,1,0 1,2,0  
     ----------------------------------------------------------------------------------------------------------------------------
                                                                                                                           
     2a     a     a     a     a     a      + a     a     a     a     a     a      - 2a     a     a     a     a     a      +
       0,0,0 0,1,1 0,2,1 1,0,1 1,1,0 1,2,0    0,0,1 0,1,1 0,2,0 1,0,0 1,1,1 1,2,0     0,0,1 0,1,0 0,2,1 1,0,0 1,1,1 1,2,0  
     ----------------------------------------------------------------------------------------------------------------------------
                                                                                                                         
     a     a     a     a     a     a      - a     a     a     a     a     a      - a     a     a     a     a     a      +
      0,0,0 0,1,1 0,2,1 1,0,0 1,1,1 1,2,0    0,0,1 0,1,0 0,2,0 1,0,1 1,1,1 1,2,0    0,0,0 0,1,1 0,2,0 1,0,1 1,1,1 1,2,0  
     ----------------------------------------------------------------------------------------------------------------------------
                                              2                                                                     
     2a     a     a     a     a     a      - a     a     a     a     a      + a     a     a     a     a     a      +
       0,0,0 0,1,0 0,2,1 1,0,1 1,1,1 1,2,0    0,0,1 0,2,0 1,1,0 1,1,1 1,2,0    0,0,0 0,0,1 0,2,1 1,1,0 1,1,1 1,2,0  
     ----------------------------------------------------------------------------------------------------------------------------
                        2              2           2                                      2              2           2      
     a     a     a     a     a      - a     a     a     a      - a     a     a     a     a      + a     a     a     a      +
      0,0,0 0,0,1 0,2,0 1,1,1 1,2,0    0,0,0 0,2,1 1,1,1 1,2,0    0,0,1 0,1,0 0,1,1 1,0,1 1,2,0    0,0,0 0,1,1 1,0,1 1,2,0  
     ----------------------------------------------------------------------------------------------------------------------------
      2                 2                                2        2           2                                2            
     a     a     a     a      - a     a     a     a     a      + a     a     a     a      - a     a     a     a     a      -
      0,0,1 0,1,0 1,1,1 1,2,0    0,0,0 0,0,1 0,1,1 1,1,1 1,2,0    0,1,1 0,2,0 1,0,0 1,2,1    0,1,0 0,1,1 0,2,1 1,0,0 1,2,1  
     ----------------------------------------------------------------------------------------------------------------------------
                                             2                                                                      
     a     a     a     a     a     a      + a     a     a     a     a      - 2a     a     a     a     a     a      +
      0,1,0 0,1,1 0,2,0 1,0,0 1,0,1 1,2,1    0,1,0 0,2,1 1,0,0 1,0,1 1,2,1     0,0,1 0,1,1 0,2,0 1,0,0 1,1,0 1,2,1  
     ----------------------------------------------------------------------------------------------------------------------------
                                                                                                                         
     a     a     a     a     a     a      + a     a     a     a     a     a      - a     a     a     a     a     a      +
      0,0,1 0,1,0 0,2,1 1,0,0 1,1,0 1,2,1    0,0,0 0,1,1 0,2,1 1,0,0 1,1,0 1,2,1    0,0,1 0,1,0 0,2,0 1,0,1 1,1,0 1,2,1  
     ----------------------------------------------------------------------------------------------------------------------------
                                                                                     2           2            
     2a     a     a     a     a     a      - a     a     a     a     a     a      + a     a     a     a      -
       0,0,0 0,1,1 0,2,0 1,0,1 1,1,0 1,2,1    0,0,0 0,1,0 0,2,1 1,0,1 1,1,0 1,2,1    0,0,1 0,2,0 1,1,0 1,2,1  
     ----------------------------------------------------------------------------------------------------------------------------
                        2                                                                                           
     a     a     a     a     a      + 2a     a     a     a     a     a      - a     a     a     a     a     a      -
      0,0,0 0,0,1 0,2,1 1,1,0 1,2,1     0,0,1 0,1,0 0,2,0 1,0,0 1,1,1 1,2,1    0,0,0 0,1,1 0,2,0 1,0,0 1,1,1 1,2,1  
     ----------------------------------------------------------------------------------------------------------------------------
                                                                                    2                              
     a     a     a     a     a     a      - a     a     a     a     a     a      + a     a     a     a     a      +
      0,0,0 0,1,0 0,2,1 1,0,0 1,1,1 1,2,1    0,0,0 0,0,1 0,2,0 1,1,0 1,1,1 1,2,1    0,0,0 0,2,1 1,1,0 1,1,1 1,2,1  
     ----------------------------------------------------------------------------------------------------------------------------
                                                   2                                2                        
     a     a     a     a     a     a      - a     a     a     a     a      + a     a     a     a     a      -
      0,0,1 0,1,0 0,1,1 1,0,0 1,2,0 1,2,1    0,0,0 0,1,1 1,0,0 1,2,0 1,2,1    0,0,1 0,1,0 1,0,1 1,2,0 1,2,1  
     ----------------------------------------------------------------------------------------------------------------------------
                                             2                                                                     
     a     a     a     a     a     a      - a     a     a     a     a      + a     a     a     a     a     a      -
      0,0,0 0,1,0 0,1,1 1,0,1 1,2,0 1,2,1    0,0,1 0,1,0 1,1,0 1,2,0 1,2,1    0,0,0 0,0,1 0,1,1 1,1,0 1,2,0 1,2,1  
     ----------------------------------------------------------------------------------------------------------------------------
                                             2                                      2           2      
     a     a     a     a     a     a      + a     a     a     a     a      - a     a     a     a      +
      0,0,0 0,0,1 0,1,0 1,1,1 1,2,0 1,2,1    0,0,0 0,1,1 1,1,1 1,2,0 1,2,1    0,0,1 0,1,0 1,0,0 1,2,1  
     ----------------------------------------------------------------------------------------------------------------------------
                              2                                2        2                 2
     a     a     a     a     a      + a     a     a     a     a      - a     a     a     a
      0,0,0 0,1,0 0,1,1 1,0,0 1,2,1    0,0,0 0,0,1 0,1,0 1,1,0 1,2,1    0,0,0 0,1,1 1,1,0 1,2,1

o2 : ZZ[a     , a     , a     , a     , a     , a     , a     , a     , a     , a     , a     , a     ]
         0,0,0   0,0,1   0,1,0   0,1,1   0,2,0   0,2,1   1,0,0   1,0,1   1,1,0   1,1,1   1,2,0   1,2,1
i3 : A = exponentsMatrix f

o3 = | 0 0 0 0 0 0 1 1 1 1 1 1 |
     | 1 1 1 1 1 1 0 0 0 0 0 0 |
     | 0 0 0 0 1 1 0 0 0 0 1 1 |
     | 0 0 1 1 0 0 0 0 1 1 0 0 |
     | 1 1 0 0 0 0 1 1 0 0 0 0 |
     | 0 1 0 1 0 1 0 1 0 1 0 1 |
     | 1 0 1 0 1 0 1 0 1 0 1 0 |

              7        12
o3 : Matrix ZZ  <--- ZZ
i4 : Disc = sparseDiscriminant A

o4 = sparse discriminant associated to | 0 0 0 0 0 0 1 1 1 1 1 1 | over ZZ
                                       | 1 1 1 1 1 1 0 0 0 0 0 0 |
                                       | 0 0 0 0 1 1 0 0 0 0 1 1 |
                                       | 0 0 1 1 0 0 0 0 1 1 0 0 |
                                       | 1 1 0 0 0 0 1 1 0 0 0 0 |
                                       | 0 1 0 1 0 1 0 1 0 1 0 1 |
                                       | 1 0 1 0 1 0 1 0 1 0 1 0 |

o4 : SparseDiscriminant
i5 : assert(Disc f == sparseDiscriminant f)

See also

Ways to use sparseDiscriminant :