Documentation

Complexitylib.Algebraic.LowerBound.Fusion.SumOfTerms.MatrixRank

Matrix-flattening fusion lower bounds #

The identity matrix has full rank, whereas an outer product has rank at most one. Instantiating the generic sum-of-terms rank certificate therefore proves that a circuit expressing an N × N identity flattening as a sum of charged rank-one terms needs at least N terms.

Taking the index set to be the middle layer of the Boolean lattice gives the explicit lower bound choose (2 * n) n. Mathlib's central-binomial estimate then makes the exponential growth formal.

Parameters of one rank-one outer-product term.

  • left : I → K

    Column vector of the outer product.

  • right : I → K

    Row vector of the outer product.

Instances For
    def Algebraic.Fusion.SumOfTerms.MatrixRank.termValue {K I : Type u_1} [Mul K] (term : Term K I) :
    Matrix I I K

    Matrix represented by a rank-one term.

    Equations
    Instances For
      @[reducible, inline]

      Construct the identity matrix with no free inputs.

      Equations
      Instances For

        An outer-product term has flattening rank at most one.

        The identity flattening has rank equal to the size of its index type.

        Matrix multiplication on vectors is the flattening feature.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          Full matrix rank forces one charged term for every index.

          @[reducible, inline]

          The type of k-subsets of an n-element set.

          Equations
          Instances For

            The Boolean-lattice layer flattening gives a binomial term lower bound.

            The middle-layer flattening needs the central binomial number of terms.

            theorem Algebraic.Fusion.SumOfTerms.MatrixRank.four_pow_lt_mul_cost {K : Type} [Field K] (n : ℕ) (n_big : 4 ≤ n) (circuit : Circuit (SumOfTerms.signature (Term K (Layer (2 * n) n))) 0 1) (constructs : (identityProblem K (Layer (2 * n) n)).Constructs circuit (SumOfTerms.interpretation termValue)) :
            4 ^ n < n * circuit.cost SumOfTerms.termCost

            A fully explicit exponential consequence of the middle-layer rank bound.