Documentation

Complexitylib.Algebraic.LowerBound.Fusion.Arithmetic.Degree

Polynomial-degree fusion lower bounds #

Polynomial natDegree is a dyadic arithmetic measure: addition is bounded by the maximum of the input degrees, multiplication by their sum, and scalar constants have degree zero. The generic dyadic fusion theorem therefore gives a multiplicative-complexity lower bound from the degree of the target.

As a concrete exact-scale example, constructing X ^ (2 ^ n) from X and arbitrary scalar constants requires at least n multiplication gates. The statement permits an unrestricted number of free additions.

Polynomial natural degree as a degree-like dyadic measure.

Equations
Instances For
    theorem Algebraic.Fusion.PolynomialDegree.multiplication_lowerBound {K : Type u} [Semiring K] (problem : Problem (Polynomial K)) (levels : ℕ) (input_le_one : ∀ (input : Fin problem.inputCount), (problem.inputs input).natDegree ≤ 1) (target_ge : 2 ^ levels ≤ problem.target.natDegree) (circuit : Circuit (Arithmetic.signature K) problem.inputCount 1) (constructs : problem.Constructs circuit (Arithmetic.interpretation ⇑Polynomial.C)) :

    Polynomial degree gives a multiplication lower bound for any construction problem whose generators have degree at most one.

    @[reducible, inline]

    Construct the power X ^ (2 ^ n) from the single generator X.

    Equations
    Instances For

      Computing X ^ (2 ^ n) requires at least n multiplications, even with arbitrary scalar constants and free additions.