This method helps to construct special types of sparse discriminants. For instance, the hyperdeterminant of a generic $(k_1\times\cdots\times k_n)$-matrix can be obtained with the code: sparseDiscriminant genericMultihomogeneousPolynomial((k_1,...,k_n),(1,...,1)).
i1 : genericMultihomogeneousPolynomial((2,2,3),(1,1,1)) o1 = 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,0,2 0 0 2 0,1,0 0 1 0 0,1,1 0 1 1 ------------------------------------------------------------------------ + a x y z + a x y z + a x y z + a x y z + 0,1,2 0 1 2 1,0,0 1 0 0 1,0,1 1 0 1 1,0,2 1 0 2 ------------------------------------------------------------------------ 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,1,2 1 1 2 o1 : ZZ[a ..a ][x ..y , z ..z ] 0,0,0 1,1,2 0 1 0 2 |
i2 : genericMultihomogeneousPolynomial((2,3),(3,1)) 3 3 3 2 2 2 o2 = a x y + a x y + a x y + a x x y + a x x y + a x x y + 0,0 0 0 0,1 0 1 0,2 0 2 1,0 0 1 0 1,1 0 1 1 1,2 0 1 2 ------------------------------------------------------------------------ 2 2 2 3 3 3 a x x y + a x x y + a x x y + a x y + a x y + a x y 2,0 0 1 0 2,1 0 1 1 2,2 0 1 2 3,0 1 0 3,1 1 1 3,2 1 2 o2 : ZZ[a ..a ][x ..x , y ..y ] 0,0 3,2 0 1 0 2 |
i3 : genericMultihomogeneousPolynomial((2,2),(1,1),CoefficientRing=>ZZ/33331) o3 = a x y + a x y + a x y + a x y 0,0 0 0 0,1 0 1 1,0 1 0 1,1 1 1 ZZ o3 : -----[a ..a ][x ..y ] 33331 0,0 1,1 0 1 |
The object genericMultihomogeneousPolynomial is a method function with options.