Documentation

Complexitylib.Algebraic.LowerBound.Cutwidth.MultiOutput.Taylor.Defs

Polynomial gates over commutative algebras: definitions #

A program whose gates are polynomials with coefficients in a commutative ring K can be run over every commutative K-algebra A: each operation substitutes its arguments into its gate polynomial. This file fixes the notation for that formal semantics.

The gate polynomials may be arbitrary: any degree, any coefficients, any arity.

noncomputable def Algebraic.Cutwidth.MultiOutput.Taylor.algebraInterpretation {K : Type u_1} [CommSemiring K] {σ : Signature} (P : (op : σ.Op) → MvPolynomial (Fin (σ.Arity op)) K) (A : Type u_2) [CommSemiring A] [Algebra K A] :

The interpretation over a commutative K-algebra A in which each operation op substitutes its arguments into its gate polynomial P op.

Equations
Instances For
    noncomputable def Algebraic.Cutwidth.MultiOutput.Taylor.wirePolynomial {K : Type u_1} [CommSemiring K] {σ : Signature} {n s : ℕ} (P : (op : σ.Op) → MvPolynomial (Fin (σ.Arity op)) K) (p : Program σ n s) :
    Wire n s → MvPolynomial (Fin n) K

    The polynomial carried by each input or gate wire: its value over the polynomial ring at the variables.

    Equations
    Instances For
      def Algebraic.Cutwidth.MultiOutput.Taylor.FormallyComputes {K : Type u_1} [CommSemiring K] {σ : Signature} {n m : ℕ} (P : (op : σ.Op) → MvPolynomial (Fin (σ.Arity op)) K) (c : Circuit σ n m) (f : Fin m → MvPolynomial (Fin n) K) :

      A circuit with gate polynomials P formally computes the polynomials f when its output o carries the polynomial f o.

      Equations
      Instances For
        noncomputable def Algebraic.Cutwidth.MultiOutput.Taylor.arithmeticPolynomial {K : Type u_1} [CommSemiring K] {Kc : Type u_2} (constant : Kc → K) (op : (Arithmetic.signature Kc).Op) :

        The gate polynomials of arithmetic circuits: addition is X₀ + X₁, multiplication is X₀ X₁, and a constant symbol is the constant polynomial of its value.

        Equations
        Instances For
          noncomputable def Algebraic.Cutwidth.MultiOutput.Taylor.jacobian {K : Type u_1} [CommSemiring K] {n : ℕ} {ι : Type u_2} {L : Type u_3} [CommSemiring L] [Algebra K L] (f : ι → MvPolynomial (Fin n) K) (a : Fin n → L) :
          Matrix ι (Fin n) L

          The Jacobian matrix of a family of polynomials at a point a: the entry in row o and column j is ∂ f o / ∂ X j evaluated at a.

          Equations
          Instances For
            noncomputable def Algebraic.Cutwidth.MultiOutput.Taylor.hessian {K : Type u_1} [CommSemiring K] {n : ℕ} {L : Type u_2} [CommSemiring L] [Algebra K L] (g : MvPolynomial (Fin n) K) (a : Fin n → L) :
            Matrix (Fin n) (Fin n) L

            The Hessian matrix of a polynomial at a point a: the entry in row i and column j is ∂² g / ∂ X i ∂ X j evaluated at a.

            Equations
            Instances For