Exact Fourier circuits: rational clearing #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Computability/FourierCircuit/RationalClearing.lean
Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical arguments are retained.
Every entry denominator is nonzero at the specified evaluation point.
Equations
- Complexity.ExactFourier.RationalMatrix.RegularAt X s = ∀ (i j : α), Polynomial.eval s (X i j).denom ≠ 0
Instances For
The common denominator formed by multiplying all matrix-entry denominators.
Equations
- Complexity.ExactFourier.RationalMatrix.denominator X = ∏ v : α × α, (X v.1 v.2).denom
Instances For
The polynomial matrix obtained by clearing the common denominator.
Equations
- Complexity.ExactFourier.RationalMatrix.numerator X i j = (X i j).num * ∏ v ∈ Finset.univ.erase (i, j), (X v.1 v.2).denom
Instances For
Literal algebraic specialization (06-feedback:383--393), including a finite exceptional set which may contain the specialization point itself.
Indices with nonzero eigenvalue parameters.
Equations
- Complexity.ExactFourier.CayleyLimit.active a = {i : α | a i ≠ 0}
Instances For
The product of linear factors associated with all nonzero parameters.
Equations
Instances For
The active denominator product with one selected factor omitted.
Equations
- Complexity.ExactFourier.CayleyLimit.except a i = ∏ j ∈ (Complexity.ExactFourier.CayleyLimit.active a).erase i, (Polynomial.X - Polynomial.C (a j))
Instances For
The selected Cayley numerator after clearing the common denominator.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Conjugate the diagonal cleared Cayley numerators by U.
Equations
Instances For
The excluded scalar parameters: zero, the eigenvalues, and their negatives.
Equations
- Complexity.ExactFourier.CayleyLimit.bad a = insert 0 (Finset.image a Finset.univ ∪ Finset.image (fun (i : α) => -a i) Finset.univ)
Instances For
The second specialization; no priced use of the diagonalizing basis is made.