Documentation

Complexitylib.Circuits.ExactFourier.Internal.SymmetricLaplacian

Exact Fourier circuits: symmetric laplacian #

Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a. Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Computability/FourierCircuit/SymmetricLaplacian.lean

Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical arguments are retained.

def Complexity.ExactFourier.SymLap.lap {α : Type} [DecidableEq α] (G : Matrix α α ℂ) :
Matrix (α × α) (α × α) ℂ

The tensor difference G ⊗ 1 - 1 ⊗ G.

Equations
Instances For
    def Complexity.ExactFourier.SymLap.tensor {α : Type} (G : Matrix α α ℂ) :
    Matrix (α × α) (α × α) ℂ

    The tensor square of the matrix G.

    Equations
    Instances For
      def Complexity.ExactFourier.SymLap.symmetrized {α : Type} [Fintype α] [DecidableEq α] (G J : Matrix α α ℂ) :
      Matrix (α × α) (α × α) ℂ

      Multiply the tensor difference by the tensor square of the symmetrizing matrix.

      Equations
      Instances For
        theorem Complexity.ExactFourier.SymLap.tensor_square {α : Type} [Fintype α] [DecidableEq α] (G : Matrix α α ℂ) (hG : G * G = 1) :
        theorem Complexity.ExactFourier.SymLap.lap_factor {α : Type} [Fintype α] [DecidableEq α] (G : Matrix α α ℂ) (hG : G * G = 1) :
        lap G = Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) G 1 * (1 - tensor G)
        theorem Complexity.ExactFourier.SymLap.lap_kill {α : Type} [Fintype α] [DecidableEq α] (G : Matrix α α ℂ) (hG : G * G = 1) :
        lap G * (1 + tensor G) = 0
        theorem Complexity.ExactFourier.SymLap.symmetric {α : Type} [Fintype α] [DecidableEq α] (G J : Matrix α α ℂ) (s : ℂ) (hs : s * s = 1) (hJ : J.transpose = s • J) (hc : J * G = G.transpose * J) :
        theorem Complexity.ExactFourier.SymLap.real_entries {α : Type} [Fintype α] [DecidableEq α] (G J : Matrix α α ℂ) (hG : ∀ (i j : α), star (G i j) = G i j) (hJ : ∀ (i j : α), star (J i j) = J i j) (i j : α × α) :
        star (symmetrized G J i j) = symmetrized G J i j
        noncomputable def Complexity.ExactFourier.LinearProduct.factor {α : Type} [DecidableEq α] (A : Matrix α α ℂ) :

        The polynomial matrix 1 + X • A associated with one linear factor.

        Equations
        Instances For
          @[simp]
          @[simp]
          theorem Complexity.ExactFourier.LinearProduct.coeff_one_mul {α : Type} [Fintype α] (A B : Matrix α α (Polynomial ℂ)) :
          ((A * B).map fun (f : Polynomial ℂ) => f.coeff 1) = ((A.map fun (f : Polynomial ℂ) => f.coeff 0) * B.map fun (f : Polynomial ℂ) => f.coeff 1) + (A.map fun (f : Polynomial ℂ) => f.coeff 1) * B.map fun (f : Polynomial ℂ) => f.coeff 0
          @[simp]
          @[simp]
          noncomputable def Complexity.ExactFourier.LinearProduct.quotient {α : Type} [Fintype α] [DecidableEq α] (L : List (Matrix α α ℂ)) :

          Remove the constant coefficient and divide each entry of the product by X.

          Equations
          Instances For
            theorem Complexity.ExactFourier.LinearProduct.eval_product_cost {α : Type} [Fintype α] [DecidableEq α] (p : MatrixPrice) (L : List (Matrix α α ℂ)) (c : Matrix α α ℂ → ℝ) (s : ℂ) (hL : ∀ a ∈ L, IsUnit (1 + s • a) ∧ p.value (1 + s • a) ≤ c a) :

            Two distinct coordinates with nonzero coefficients for their opposing off-diagonal entries.

            • i : α

              The first coordinate of the off-diagonal pair.

            • j : α

              The second coordinate, distinct from the first.

            • hij : self.i ≠ self.j
            • a : ℂ

              The nonzero coefficient in the first-to-second matrix position.

            • b : ℂ

              The nonzero coefficient in the second-to-first matrix position.

            • ha : self.a ≠ 0
            • hb : self.b ≠ 0
            Instances For

              The matrix supported on the two specified off-diagonal positions.

              Equations
              Instances For

                The quadratic polynomial controlling invertibility of this pair perturbation.

                Equations
                Instances For

                  Zero and the roots of the pair's invertibility polynomial.

                  Equations
                  Instances For
                    theorem Complexity.ExactFourier.SparseReflection.PairTerm.price {α : Type} [Fintype α] [DecidableEq α] (p : MatrixPrice) (u : PairTerm α) (s : ℂ) (hs : s ∉ u.bad) :
                    IsUnit (1 + s • u.direction) ∧ p.value (1 + s • u.direction) ≤ 3 / 2

                    The exact polynomial tangent used in the first sparse-reflection specialization.

                    noncomputable def Complexity.ExactFourier.MatrixPrice.cayley {α : Type} [Fintype α] [DecidableEq α] (A : Matrix α α ℂ) (t : ℂ) :
                    Matrix α α ℂ

                    The matrix Cayley transform (1 + t • A) * (1 - t • A)⁻¹.

                    Equations
                    Instances For
                      theorem Complexity.ExactFourier.MatrixPrice.cayley_unit {α : Type} [Fintype α] [DecidableEq α] (A : Matrix α α ℂ) (t : ℂ) (hp : IsUnit (1 + t • A)) (hm : IsUnit (1 - t • A)) :
                      theorem Complexity.ExactFourier.MatrixPrice.cayley_denominator {α : Type} [DecidableEq α] (A : Matrix α α ℂ) (e t : ℂ) (het : e + t ≠ 0) :
                      1 - (t / (e + t)) • (1 + e • A) = (e / (e + t)) • (1 - t • A)
                      theorem Complexity.ExactFourier.MatrixPrice.cayley_response {α : Type} [Fintype α] [DecidableEq α] (A : Matrix α α ℂ) (e t : ℂ) (he : e ≠ 0) (het : e + t ≠ 0) (hm : IsUnit (1 - t • A)) :
                      CellPoly.feedback ((e - t) • 1) (1 + e • A) ((2 * e) • 1) (1 + e • A) (t / (e + t)) = (e + t) • cayley A t
                      theorem Complexity.ExactFourier.MatrixPrice.cayley_feedback {α : Type} [Fintype α] [DecidableEq α] (p : MatrixPrice) (A : Matrix α α ℂ) (e t : ℂ) (he : e ≠ 0) (hep : e + t ≠ 0) (hem : e - t ≠ 0) (hK : IsUnit (1 + e • A)) (hp : IsUnit (1 + t • A)) (hm : IsUnit (1 - t • A)) :
                      p.value (cayley A t) ≤ p.value (1 + e • A) + 2 * ↑(Fintype.card α)