How many Paulis LPD stores: O(n^{w*}) #
The number of Pauli classes on n qubits of weight at most w is at most C(n,w) · 4^w, hence
at most 4^w · n^w. This is the counting step of apd:thm:lightcone and apd:thm:runtime: an
observable truncated at weight w* contains O(n^{w*}) Pauli operators, and the time
O((r+1) · n^{w*}) and memory O(n^{w*}) of apd:thm:runtime are built on that count.
Scope. apd:thm:runtime itself is not formalized in this library; only this count is. The
rest of that theorem combines the truncation-error analysis (the entanglement hypothesis of
apd:thm:triangle, the short-time condition t < t₀, and the formula for w*, of which this
library proves the existence form exists_uniform_weight_cutoff) with a computational cost
model: a data structure indexed by supports, with O(1) access to a coefficient. A cost model is
not something this library formalizes; it could only enter as a declared assumption. The counting
step is the opposite: pure combinatorics, independent of all of those, and it is what makes
n^{w*} polynomial rather than exponential in n at fixed w*.
The bound is C(n,w) · 4^w, and it is loose in two stated ways. It double-counts classes of
weight < w, which lie in several w-element supersets, and it allows a site inside the chosen
support to be the identity, giving 4 where an exact count gives 3. Both are the price of
avoiding a fiberwise exact count, and neither affects the O(n^w) conclusion. card_lowSet_le
is an explicit inequality where the paper writes O(·), and an upper bound is the direction that
matters: an upper bound on the number of stored Paulis is what bounds the runtime.
Main definitions #
lowSet n w: the Pauli classes of weight at mostw, the complement ofhighSet n w. These are the classes a weight-wtruncation retains.psupp p: the sites at which the classpis not the identity.vanishOff S: the classes that are the identity outside the set of sitesS.
Main results #
card_vanishOff: exactly4 ^ S.cardclasses are the identity outsideS.card_lowSet_le:(lowSet n w).card ≤ n.choose w * 4 ^ wforw ≤ n.card_lowSet_le_pow:(lowSet n w).card ≤ 4 ^ w * n ^ wforw ≤ n.
The low-weight region: the Pauli classes of weight at most w, defined as the complement of
highSet n w. These are the classes a weight-w truncation retains.
Equations
Instances For
siteFun as an equivalence between Pauli classes and functions from sites to bit pairs.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The sites at which the class is not the identity. wt counts exactly these.
Equations
- Lean4LPD.PauliString.psupp p = {i : Fin n | Lean4LPD.PauliString.siteFun p i ≠ 0}
Instances For
Classes whose site function vanishes outside S.
Equations
- Lean4LPD.PauliString.vanishOff S = {p : Lean4LPD.PauliIndex n | ∀ i ∉ S, Lean4LPD.PauliString.siteFun p i = 0}
Instances For
The stored set is polynomial in n for fixed w.
apd:thm:runtime uses that an observable truncated at weight w* contains O(n^{w*}) Pauli
operators. This is that count, with the constant explicit rather than inside an O(·).
Every class of weight ≤ w has its support inside some w-element set, and the classes supported
in a fixed S number exactly 4^{|S|} (card_vanishOff) — so the union over all C(n,w) choices
of S bounds the whole stored set. The bound is not tight: it double-counts classes of weight
< w, which lie in several S. 4 rather than 3 for the same reason — a site inside S is
allowed to be the identity. Both are the price of avoiding a fiberwise exact count, and neither
affects the O(n^w) conclusion this is here to supply.