Exact Fourier circuits: cleared circuit #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Computability/FourierCircuit/ClearedCircuit.lean
Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical arguments are retained.
noncomputable def
Complexity.ExactFourier.Cascade.clearedDAG
{α β : Type}
[Fintype α]
[Fintype β]
(b : ℂ)
(L : Matrix α α ℂ)
(T : Matrix α β ℂ)
(k : ℕ)
:
TypedDAG (States α β k) (TensorAxis.Space α k)
A scalar circuit realizing the recursively cleared cascade response.
Equations
- One or more equations did not get rendered due to their size.
- Complexity.ExactFourier.Cascade.clearedDAG b L T 0 = Complexity.ExactFourier.TypedDAG.wires fun (x : Complexity.ExactFourier.TensorAxis.Space α 0) => none
Instances For
theorem
Complexity.ExactFourier.Cascade.exists_cleared_coeff_dag
{α β : Type}
[Fintype α]
[Fintype β]
[DecidableEq α]
(b : Polynomial ℂ)
(L : Matrix α α (Polynomial ℂ))
(T : Matrix α β (Polynomial ℂ))
:
theorem
Complexity.ExactFourier.TypedDAG.shear_price
{ι κ : Type}
[Fintype ι]
[Fintype κ]
(p : MatrixPrice)
[DecidableEq ι]
[DecidableEq κ]
(C : TypedDAG ι κ)
(A : Matrix κ ι ℂ)
(hC : ∀ (x : ι → ℂ), C.eval x = A.mulVec x)
:
theorem
Complexity.ExactFourier.MatrixPrice.eliminate_top_right
(p : MatrixPrice)
{α β : Type}
[Fintype α]
[Fintype β]
[DecidableEq α]
[DecidableEq β]
(A P : Matrix α α ℂ)
(E Q : Matrix α β ℂ)
(B : Matrix β α ℂ)
(D : Matrix β β ℂ)
(hK : IsUnit (Matrix.fromBlocks A E B D))
(hA : IsUnit A)
(hP : IsUnit P)
(hQ : A * P * Q = E)
:
Evaluate at the first n powers of ω, yielding a Fourier-type transform.
Equations
Instances For
theorem
Complexity.ExactFourier.RadixTwo.convolution_formula
{n : ℕ}
(hn : 0 < n)
(ω : ℂ)
(hω : IsPrimitiveRoot ω n)
(f g : Polynomial ℂ)
(hfg : (f * g).natDegree < n)
:
Transform, multiply by precomputed scalar evaluations, inverse transform. The only degree condition is that the product is represented by fewer than n coefficients, so there is no wraparound.