Set-multilinear polynomials #
The variables σ of a polynomial are split into d blocks by a map blk : σ → Fin d. A choice of
one variable from each block in a set S of blocks (MvPolynomial.BlockChoice) determines the
monomial MvPolynomial.blockMonomial that multiplies the chosen variables. Distinct choices give
distinct monomials (MvPolynomial.blockMonomial_injective), so the choices on S enumerate the
set-multilinear monomials on S, and there are ∏ i ∈ S, |block i| of them
(MvPolynomial.card_blockChoice). A polynomial is set-multilinear on S
(MvPolynomial.IsSetMultilinear) when every monomial in its support has this form: it takes
exactly one variable, with exponent one, from each block in S, and no variable from any other
block.
Set-multilinear polynomials are closed under sums and scaling on a fixed set of blocks, and under
products over disjoint sets of blocks. A coefficient of such a product on a monomial that splits
along the blocks is the product of the coefficients of the two parts
(MvPolynomial.coeff_mul_blockMonomial); this is what makes the coefficient matrix of a product a
Kronecker product.
Main definitions #
MvPolynomial.BlockChoice,MvPolynomial.blockMonomial: choices of one variable per block and their monomials.MvPolynomial.IsSetMultilinear: set-multilinear polynomials on a set of blocks.
Main results #
MvPolynomial.blockMonomial_injective,MvPolynomial.card_blockChoice: the choices onSare in bijection with the set-multilinear monomials onS, which they count.MvPolynomial.IsSetMultilinear.add,.smul,.mul,.sum,.prod,.one,MvPolynomial.isSetMultilinear_C,MvPolynomial.isSetMultilinear_X: closure properties.MvPolynomial.coeff_mul_blockMonomial: coefficients of a product of set-multilinear polynomials on disjoint blocks.
References #
- N. Limaye, S. Srinivasan, S. Tavenas, Superpolynomial lower bounds against low-depth algebraic
circuits, §1, p. 2 (set-multilinear polynomials) and §2.1, p. 6
(the sets
M^P_w,M^N_wof set-multilinear monomials). The encoding by block maps and choices is original.
Restrict a choice on S to a subset T of its blocks.
Instances For
The exponent vector of the product of the variables chosen by x.
Instances For
The monomial of a choice has exponent 1 at the chosen variable of each block in S, and 0
elsewhere.
A variable outside the blocks of S does not occur in the monomial of a choice on S.
At a variable of block i, the monomial of a choice has exponent 1 if the variable is the
one chosen in block i, and 0 otherwise.
Distinct choices give distinct monomials, so the choices on S are in bijection with the
set-multilinear monomials on S, the set M^P_w or M^N_w of [LimayeSrinivasanTavenas2021, §2.1]
for S the positive or negative blocks; card_blockChoice therefore counts these monomials.
Restricting a choice to a subset of the blocks restricts its monomial to those blocks.
Restricting a choice on A to the blocks of A ∩ S restricts its monomial to the blocks
of S.
The choices on A split into choices on A ∩ S and A ∩ T when S and T are disjoint and
cover A.
A polynomial is set-multilinear on the set S of blocks if every monomial in its support
is the product of one variable from each block in S: it has exactly one variable, with exponent
one, from each block in S, and no variable from any other block.
Instances For
A monomial in the support of a set-multilinear polynomial on S has no variable outside the
blocks of S.
The zero polynomial is set-multilinear on every set of blocks.
A sum of set-multilinear polynomials on S is set-multilinear on S.
A scalar multiple of a set-multilinear polynomial on S is set-multilinear on S.
A product of set-multilinear polynomials on disjoint sets of blocks is set-multilinear on their union.
A constant is set-multilinear on the empty set of blocks.
A variable is set-multilinear on its own block.
The constant 1 is set-multilinear on the empty set of blocks.
A finite sum of set-multilinear polynomials on S is set-multilinear on S.
A finite product of set-multilinear polynomials on pairwise disjoint sets of blocks is set-multilinear on their union.
The product of set-multilinear polynomials on disjoint blocks: a coefficient of f * g
on a monomial that splits along the blocks is the product of the coefficients of its two parts.