Documentation

Complexitylib.Circuits.ExactFourier.Internal.CascadeWord

Exact Fourier circuits: cascade word #

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

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

@[reducible, inline]

Auxiliary state coordinates accumulated by successive tensor cascade stages.

Equations
Instances For
    @[reducible]
    noncomputable instance Complexity.ExactFourier.Cascade.statesFintype (α β : Type) [Fintype α] [Fintype β] (k : ℕ) :
    Fintype (States α β k)
    Equations
    @[reducible]
    Equations
    noncomputable def Complexity.ExactFourier.Cascade.response {α β : Type} [DecidableEq α] (H : Matrix α α (PowerSeries ℂ)) (S : Matrix α β (PowerSeries ℂ)) (k : ℕ) :

    The formal power series response of the cascade's accumulated state coordinates.

    Equations
    Instances For
      noncomputable def Complexity.ExactFourier.Cascade.run {α β : Type} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] (K : Matrix (α ⊕ β) (α ⊕ β) ℂ) (t k : ℕ) :

      Join successive time-domain cell computations into a tensor cascade.

      Equations
      Instances For
        theorem Complexity.ExactFourier.Cascade.unit {α β : Type} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] (K : Matrix (α ⊕ β) (α ⊕ β) ℂ) (hK : IsUnit K) (t k : ℕ) :
        IsUnit (run K t k)
        theorem Complexity.ExactFourier.Cascade.price {α β : Type} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] (p : MatrixPrice) (K : Matrix (α ⊕ β) (α ⊕ β) ℂ) (hK : IsUnit K) (t k : ℕ) :
        p.value (run K t k) ≤ ↑t * ↑(Fintype.card (TensorAxis.Fibers α k)) * p.value K
        @[reducible, inline]

        The canonical embedding of complex polynomials into formal power series.

        Equations
        Instances For
          theorem Complexity.ExactFourier.CellPoly.map_smul {R S : Type} [CommSemiring R] [CommSemiring S] {ι κ : Type} (f : R →+* S) (a : R) (A : Matrix ι κ R) :
          (a • A).map ⇑f = f a • A.map ⇑f
          noncomputable def Complexity.ExactFourier.CellPoly.Z {β : Type} [DecidableEq β] (D : Matrix β β ℂ) :

          The polynomial matrix 1 - X • D governing the cell's state feedback.

          Equations
          Instances For
            noncomputable def Complexity.ExactFourier.CellPoly.a {β : Type} [Fintype β] [DecidableEq β] (D : Matrix β β ℂ) :

            The determinant of the cell's polynomial state-feedback matrix.

            Equations
            Instances For
              noncomputable def Complexity.ExactFourier.CellPoly.R {β : Type} [Fintype β] [DecidableEq β] (D : Matrix β β ℂ) :

              The adjugate of the cell's polynomial state-feedback matrix.

              Equations
              Instances For
                noncomputable def Complexity.ExactFourier.CellPoly.F {α β : Type} [Fintype β] [DecidableEq β] (M : Matrix α α ℂ) (C : Matrix α β ℂ) (B : Matrix β α ℂ) (D : Matrix β β ℂ) :

                The cell's transfer numerator after clearing its state-feedback denominator.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  noncomputable def Complexity.ExactFourier.CellPoly.b {α β : Type} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] (M : Matrix α α ℂ) (C : Matrix α β ℂ) (B : Matrix β α ℂ) (D : Matrix β β ℂ) :

                  The determinant of the cleared transfer numerator.

                  Equations
                  Instances For
                    noncomputable def Complexity.ExactFourier.CellPoly.J {α β : Type} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] (M : Matrix α α ℂ) (C : Matrix α β ℂ) (B : Matrix β α ℂ) (D : Matrix β β ℂ) :

                    The adjugate of the cleared transfer numerator.

                    Equations
                    Instances For
                      noncomputable def Complexity.ExactFourier.CellPoly.L {α β : Type} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] (M : Matrix α α ℂ) (C : Matrix α β ℂ) (B : Matrix β α ℂ) (D : Matrix β β ℂ) :

                      The adjugate of the transfer numerator scaled by the state denominator.

                      Equations
                      Instances For
                        noncomputable def Complexity.ExactFourier.CellPoly.T {α β : Type} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] (M : Matrix α α ℂ) (C : Matrix α β ℂ) (B : Matrix β α ℂ) (D : Matrix β β ℂ) :

                        The cleared state-response numerator formed from the two adjugates.

                        Equations
                        Instances For
                          theorem Complexity.ExactFourier.CellPoly.eval_F_zero {α β : Type} [Fintype β] [DecidableEq β] (M : Matrix α α ℂ) (C : Matrix α β ℂ) (B : Matrix β α ℂ) (D : Matrix β β ℂ) :
                          (F M C B D).map ⇑(Polynomial.evalRingHom 0) = M
                          @[simp]
                          theorem Complexity.ExactFourier.CellPoly.eval_b_zero {α β : Type} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] (M : Matrix α α ℂ) (C : Matrix α β ℂ) (B : Matrix β α ℂ) (D : Matrix β β ℂ) :
                          Polynomial.eval 0 (b M C B D) = M.det
                          theorem Complexity.ExactFourier.CellPoly.cleared_transfer {α β : Type} [Fintype β] [DecidableEq β] (M : Matrix α α ℂ) (C : Matrix α β ℂ) (B : Matrix β α ℂ) (D : Matrix β β ℂ) :
                          ps (a D) • CellSeries.transfer M C B D = (F M C B D).map ⇑ps
                          theorem Complexity.ExactFourier.CellPoly.right_clearing {α β : Type} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] (M : Matrix α α ℂ) (C : Matrix α β ℂ) (B : Matrix β α ℂ) (D : Matrix β β ℂ) :
                          CellSeries.transfer M C B D * (L M C B D).map ⇑ps = ps (b M C B D) • 1
                          theorem Complexity.ExactFourier.CellPoly.state_clearing {α β : Type} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] (M : Matrix α α ℂ) (C : Matrix α β ℂ) (B : Matrix β α ℂ) (D : Matrix β β ℂ) :
                          CellSeries.transfer M C B D * (T M C B D).map ⇑ps = ps (b M C B D) • CellSeries.state C D
                          theorem Complexity.ExactFourier.Cascade.power_smul {α R : Type} [CommSemiring R] (c : R) (A : Matrix α α R) (k : ℕ) :
                          noncomputable def Complexity.ExactFourier.Cascade.cleared {α β : Type} [DecidableEq α] {R : Type} [CommSemiring R] (b : R) (L : Matrix α α R) (T : Matrix α β R) (k : ℕ) :
                          Matrix (TensorAxis.Space α k) (States α β k) R

                          Recursively assemble the cascade response with its denominators cleared.

                          Equations
                          Instances For
                            theorem Complexity.ExactFourier.Cascade.map_cleared {α β : Type} [DecidableEq α] {R S : Type} [CommSemiring R] [CommSemiring S] (f : R →+* S) (b : R) (L : Matrix α α R) (T : Matrix α β R) (k : ℕ) :
                            (cleared b L T k).map ⇑f = cleared (f b) (L.map ⇑f) (T.map ⇑f) k
                            theorem Complexity.ExactFourier.Cascade.clearing_identity {α β : Type} [Fintype α] [DecidableEq α] (c : PowerSeries ℂ) (H L : Matrix α α (PowerSeries ℂ)) (S T : Matrix α β (PowerSeries ℂ)) (hL : H * L = c • 1) (hT : H * T = c • S) (k : ℕ) :
                            TensorAxis.power H k * cleared c L T k = c ^ k • response H S k
                            theorem Complexity.ExactFourier.Cascade.cell_clearing {α β : Type} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] (M : Matrix α α ℂ) (C : Matrix α β ℂ) (B : Matrix β α ℂ) (D : Matrix β β ℂ) (k : ℕ) :
                            noncomputable def Complexity.ExactFourier.PolynomialMatrix.bound {ι κ : Type} [Fintype ι] [Fintype κ] (A : Matrix ι κ (Polynomial ℂ)) :

                            The sum of entry degrees, bounding the degree of every matrix entry.

                            Equations
                            Instances For
                              theorem Complexity.ExactFourier.PolynomialMatrix.le_bound {ι κ : Type} [Fintype ι] [Fintype κ] (A : Matrix ι κ (Polynomial ℂ)) (i : ι) (j : κ) :
                              (A i j).natDegree ≤ bound A

                              Every entry of the polynomial matrix has degree at most d.

                              Equations
                              Instances For
                                theorem Complexity.ExactFourier.PolynomialMatrix.bounded_tensor {ι κ τ υ : Type} (A : Matrix ι κ (Polynomial ℂ)) (B : Matrix τ υ (Polynomial ℂ)) {d e : ℕ} (hA : Bounded A d) (hB : Bounded B e) :
                                Bounded (Matrix.kroneckerMap (fun (x1 x2 : Polynomial ℂ) => x1 * x2) A B) (d + e)
                                theorem Complexity.ExactFourier.PolynomialMatrix.bounded_smul {ι κ : Type} (b : Polynomial ℂ) (A : Matrix ι κ (Polynomial ℂ)) {d e : ℕ} (hb : b.natDegree ≤ d) (hA : Bounded A e) :
                                Bounded (b • A) (d + e)
                                theorem Complexity.ExactFourier.Cascade.exists_cleared_degree {α β : Type} [Fintype α] [Fintype β] [DecidableEq α] (b : Polynomial ℂ) (L : Matrix α α (Polynomial ℂ)) (T : Matrix α β (Polynomial ℂ)) :
                                ∃ (d : ℕ), ∀ (k : ℕ), PolynomialMatrix.Bounded (cleared b L T k) (k * d)