genericMultihomogeneousPolynomial -- generic multi-homogeneous polynomial

Synopsis

• Usage:
genericMultihomogeneousPolynomial((k_1,...,k_n),(d_1,...,d_n))
• Inputs:
• (k_1,...,k_n), a sequence of positive integers to indicate $n$ sets of variables $X_1,\ldots,X_n$ with $\#(X_i) = k_i$.
• (d_1,...,d_n), a sequence of nonnegative integers.
• Optional inputs:
• CoefficientRing => ..., default value ZZ
• Variable => ..., default value a
• Outputs:
• , the generic multi-homogeneous polynomial of multi-degree $(d_1,\ldots,d_n)$ in the above sets of variables.

Description

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