next | previous | forward | backward | up | top | index | toc | Macaulay2 website
DeterminantalRepresentations :: generalizedMixedDiscriminant

generalizedMixedDiscriminant -- computes generalized mixed discriminant of a list of matrices

Synopsis

Description

This method computes the generalized mixed discriminant of an $n$-tuple of $n\times n$ matrices. The generalized mixed discriminants give formulas for the coefficients of a determinantal polynomial, which are polynomial in the entries of the representing matrices. Thus, computing determinantal representations can be viewed as solving a system of specializations of generalized mixed discriminants, i.e., recovering a set of matrices from its generalized mixed discriminants.

i1 : n = 3

o1 = 3
i2 : R = QQ[a_(1,1)..a_(n,n),b_(1,1)..b_(n,n),c_(1,1)..c_(n,n)][x_1..x_n]

o2 = R

o2 : PolynomialRing
i3 : A = sub(transpose genericMatrix(coefficientRing R,n,n), R)

o3 = {0, -1} | a_(1,1) a_(1,2) a_(1,3) |
     {0, -1} | a_(2,1) a_(2,2) a_(2,3) |
     {0, -1} | a_(3,1) a_(3,2) a_(3,3) |

             3       3
o3 : Matrix R  <--- R
i4 : B = sub(transpose genericMatrix(coefficientRing R,b_(1,1),n,n), R)

o4 = {0, -1} | b_(1,1) b_(1,2) b_(1,3) |
     {0, -1} | b_(2,1) b_(2,2) b_(2,3) |
     {0, -1} | b_(3,1) b_(3,2) b_(3,3) |

             3       3
o4 : Matrix R  <--- R
i5 : C = sub(transpose genericMatrix(coefficientRing R,c_(1,1),n,n), R)

o5 = {0, -1} | c_(1,1) c_(1,2) c_(1,3) |
     {0, -1} | c_(2,1) c_(2,2) c_(2,3) |
     {0, -1} | c_(3,1) c_(3,2) c_(3,3) |

             3       3
o5 : Matrix R  <--- R
i6 : P = det(id_(R^n) + x_1*A + x_2*B + x_3*C);
i7 : gmd = generalizedMixedDiscriminant({A,B,C})

o7 = a   b   c    - a   b   c    - a   b   c    + a   b   c    - a   b   c   
      3,3 2,2 1,1    3,2 2,3 1,1    2,3 3,2 1,1    2,2 3,3 1,1    3,3 2,1 1,2
     ------------------------------------------------------------------------
     + a   b   c    + a   b   c    - a   b   c    + a   b   c    -
        3,1 2,3 1,2    2,3 3,1 1,2    2,1 3,3 1,2    3,2 2,1 1,3  
     ------------------------------------------------------------------------
     a   b   c    - a   b   c    + a   b   c    - a   b   c    + a   b   c   
      3,1 2,2 1,3    2,2 3,1 1,3    2,1 3,2 1,3    3,3 1,2 2,1    3,2 1,3 2,1
     ------------------------------------------------------------------------
     + a   b   c    - a   b   c    + a   b   c    - a   b   c    -
        1,3 3,2 2,1    1,2 3,3 2,1    3,3 1,1 2,2    3,1 1,3 2,2  
     ------------------------------------------------------------------------
     a   b   c    + a   b   c    - a   b   c    + a   b   c    + a   b   c   
      1,3 3,1 2,2    1,1 3,3 2,2    3,2 1,1 2,3    3,1 1,2 2,3    1,2 3,1 2,3
     ------------------------------------------------------------------------
     - a   b   c    + a   b   c    - a   b   c    - a   b   c    +
        1,1 3,2 2,3    2,3 1,2 3,1    2,2 1,3 3,1    1,3 2,2 3,1  
     ------------------------------------------------------------------------
     a   b   c    - a   b   c    + a   b   c    + a   b   c    - a   b   c   
      1,2 2,3 3,1    2,3 1,1 3,2    2,1 1,3 3,2    1,3 2,1 3,2    1,1 2,3 3,2
     ------------------------------------------------------------------------
     + a   b   c    - a   b   c    - a   b   c    + a   b   c
        2,2 1,1 3,3    2,1 1,2 3,3    1,2 2,1 3,3    1,1 2,2 3,3

o7 : R
i8 : coeff = (last coefficients(P, Monomials => {x_1*x_2*x_3}))_(0,0)

o8 = a   b   c    - a   b   c    - a   b   c    + a   b   c    - a   b   c   
      3,3 2,2 1,1    3,2 2,3 1,1    2,3 3,2 1,1    2,2 3,3 1,1    3,3 2,1 1,2
     ------------------------------------------------------------------------
     + a   b   c    + a   b   c    - a   b   c    + a   b   c    -
        3,1 2,3 1,2    2,3 3,1 1,2    2,1 3,3 1,2    3,2 2,1 1,3  
     ------------------------------------------------------------------------
     a   b   c    - a   b   c    + a   b   c    - a   b   c    + a   b   c   
      3,1 2,2 1,3    2,2 3,1 1,3    2,1 3,2 1,3    3,3 1,2 2,1    3,2 1,3 2,1
     ------------------------------------------------------------------------
     + a   b   c    - a   b   c    + a   b   c    - a   b   c    -
        1,3 3,2 2,1    1,2 3,3 2,1    3,3 1,1 2,2    3,1 1,3 2,2  
     ------------------------------------------------------------------------
     a   b   c    + a   b   c    - a   b   c    + a   b   c    + a   b   c   
      1,3 3,1 2,2    1,1 3,3 2,2    3,2 1,1 2,3    3,1 1,2 2,3    1,2 3,1 2,3
     ------------------------------------------------------------------------
     - a   b   c    + a   b   c    - a   b   c    - a   b   c    +
        1,1 3,2 2,3    2,3 1,2 3,1    2,2 1,3 3,1    1,3 2,2 3,1  
     ------------------------------------------------------------------------
     a   b   c    - a   b   c    + a   b   c    + a   b   c    - a   b   c   
      1,2 2,3 3,1    2,3 1,1 3,2    2,1 1,3 3,2    1,3 2,1 3,2    1,1 2,3 3,2
     ------------------------------------------------------------------------
     + a   b   c    - a   b   c    - a   b   c    + a   b   c
        2,2 1,1 3,3    2,1 1,2 3,3    1,2 2,1 3,3    1,1 2,2 3,3

o8 : R
i9 : gmd == coeff

o9 = true

Ways to use generalizedMixedDiscriminant :

For the programmer

The object generalizedMixedDiscriminant is a method function.