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 + 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 3,1 2,3 1,2 2,3 3,1 1,2 2,1 3,3 1,2 ---------------------------------------------------------------------------------------------------------------------------- a b c - a b c - a b c + a b c - a b c + a b c + a b c - a b c + 3,2 2,1 1,3 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 1,3 3,2 2,1 1,2 3,3 2,1 ---------------------------------------------------------------------------------------------------------------------------- a b c - a b c - a b c + a b c - a b c + a b c + a b c - a b c + 3,3 1,1 2,2 3,1 1,3 2,2 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 1,1 3,2 2,3 ---------------------------------------------------------------------------------------------------------------------------- a b c - a b c - a b c + a b c - a b c + a b c + a b c - a b c + 2,3 1,2 3,1 2,2 1,3 3,1 1,3 2,2 3,1 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 + 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 3,1 2,3 1,2 2,3 3,1 1,2 2,1 3,3 1,2 ---------------------------------------------------------------------------------------------------------------------------- a b c - a b c - a b c + a b c - a b c + a b c + a b c - a b c + 3,2 2,1 1,3 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 1,3 3,2 2,1 1,2 3,3 2,1 ---------------------------------------------------------------------------------------------------------------------------- a b c - a b c - a b c + a b c - a b c + a b c + a b c - a b c + 3,3 1,1 2,2 3,1 1,3 2,2 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 1,1 3,2 2,3 ---------------------------------------------------------------------------------------------------------------------------- a b c - a b c - a b c + a b c - a b c + a b c + a b c - a b c + 2,3 1,2 3,1 2,2 1,3 3,1 1,3 2,2 3,1 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 |
The object generalizedMixedDiscriminant is a method function.