Exact Fourier circuits: pivot algebra #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Computability/FourierCircuit/PivotAlgebra.lean
Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical arguments are retained.
Apply the same two-coordinate matrix to each pair of corresponding block coordinates.
Equations
- Complexity.ExactFourier.pairLayer A = (Matrix.reindex (Complexity.ExactFourier.twoProdEquiv β) (Complexity.ExactFourier.twoProdEquiv β)) (Matrix.kroneckerMap (fun (x1 x2 : ℂ) => x1 * x2) A 1)
Instances For
Extend a pair layer on the two state blocks by the identity on the data block.
Equations
- Complexity.ExactFourier.Pivot.side L = (Matrix.reindex (Equiv.sumAssoc α β β).symm (Equiv.sumAssoc α β β).symm) (Matrix.fromBlocks 1 0 0 (Complexity.ExactFourier.pairLayer L))
Instances For
Place the original block matrix between the state coordinates used by the pivot.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The two-coordinate pivot factor with entries [[b, 1], [1, 1]].
Equations
- Complexity.ExactFourier.Pivot.P b = !![b, 1; 1, 1]
Instances For
The data block of the parameterized pivot cell.
Equations
- Complexity.ExactFourier.Pivot.data A C B D b = Matrix.fromBlocks A C ((1 - b) • B) (b • 1 + (1 - b) • D)
Instances For
The block carrying the pivot cell's state contribution into its data coordinates.
Instances For
The block carrying the pivot cell's data contribution into its state coordinates.
Instances For
The pivot cell's state block 1 - b • D.
Equations
- Complexity.ExactFourier.Pivot.state D b = 1 - b • D
Instances For
Assemble the parameterized data, coupling, and state blocks into one pivot cell.
Equations
- One or more equations did not get rendered due to their size.