A repeated Trotter block with truncation at step boundaries #
In LPD the Heisenberg-evolved observable is truncated at the end of each Trotter step, not after
every rotation (apd:thm:triangle). Here a step is a fixed block of period rotations: the
first period entries of Gs and θ specify the block, and the rotation-indexed trajectory
repeats them modulo period. The schedule cuts after the rotations with index period - 1,
2 * period - 1, ….
Main definitions #
trotterSchedule period wstar: the retained set after rotationg, namely the Paulis of weight at mostwstarifg + 1is a multiple ofperiod, and all Paulis otherwise.trotterTraj: the rotation-indexed truncated trajectorytrajTruncwith this schedule.trotterStepTraj: the step-indexed recurrence: apply the whole untruncated block, then cut.discardedStep d: the discarded operatorX_{d+1}ofapd:eq:step_component.
Main results #
trotterTraj_at_boundary: the two executions agree at every step boundary.discardedStep_eq_truncOp:X_{d+1}is the projection onto weights abovewstarof the operator before truncation.pauliNorm_discardedStep: the Pauli norm ofX_{d+1}is the high-weight norm before truncation. By contrast the kept operator has no high-weight mass (highNorm_trotterStepTraj_succ).pauliNorm_discardedStep_le: the single-rotation flow boundapd:thm:local_flow_k_localapplied to the last rotation of a step.
Implementation notes #
trotterStepTraj is defined independently of trotterTraj, so their agreement at step
boundaries is a theorem and not a definition. The hypothesis 0 < period is needed only for this
identification. The operator identities of this file assume neither locality of the generators
nor any bound on the angles. The telescoping error estimate is in TruncationError.lean, and the
layer-level version with its quantitative bound is in LayerError.lean.
The end-of-step schedule of apd:thm:triangle: rotation g is followed
by a cut exactly when g+1 is a multiple of the block length.
Equations
- Lean4LPD.PauliString.trotterSchedule period wstar g = if (g + 1) % period = 0 then (Lean4LPD.PauliString.highSet n wstar)ᶜ else Finset.univ
Instances For
No cutoff inside a block, as required by apd:thm:triangle.
Rotation-indexed execution of a fixed repeated block with end-of-step truncation
(apd:thm:triangle; apd:eq:step_component).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The step-indexed recurrence, defined independently of trotterTraj: evolve through a whole
block, then cut (apd:eq:step_component; apd:thm:triangle).
Equations
- One or more equations did not get rendered due to their size.
- Lean4LPD.PauliString.trotterStepTraj Gs θ period wstar O 0 = O
Instances For
The recurrence of the kept operator: evolve through the whole block, then cut
(apd:eq:step_component).
Before the boundary, no truncation interrupts the block's ordinary traj
(apd:thm:triangle).
Over one complete block, the scheduled trajectory evolves without truncation and is then
cut (apd:eq:step_component).
The rotation-indexed execution agrees with the independently defined step recurrence
at every boundary (apd:eq:step_component).
The discarded operator X_{d+1} of apd:eq:step_component: the operator at the end of the
block before truncation, minus the kept operator. The zero-based index d is the number of
steps completed before.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The discarded operator is the projection of the pre-truncation operator onto the Paulis of
weight above wstar (apd:eq:step_component).
The discarded operator's Pauli norm is the pre-truncation high-weight mass
(apd:thm:triangle; apd:eq:step_component).
The retained operator has zero high-weight mass after each completed step. This is a
support theorem, not an error bound (apd:eq:step_component).
The pre-truncation operator of a block is the last rotation of the block applied to the
scheduled trajectory just before the boundary (apd:eq:step_component). This connects the
step-indexed recurrence to the rotation-indexed local flow of Truncate.lean.
X_{d+1} is the operator after the last rotation of the block and before the cut, minus
the scheduled trajectory at the boundary (apd:eq:step_component).
At a Trotter boundary, the Pauli norm of the discarded operator is the high-weight norm of
the last rotation applied to the scheduled trajectory, which is the quantity that the local-flow
bound controls (apd:thm:triangle). No such identification is made at interior rotations, where
nothing is discarded.
The single-rotation flow bound highNorm_conj_trajTrunc_le, applied to the last rotation
of a step, bounds the discarded operator X_{d+1}
(apd:eq:step_component; apd:thm:local_flow_k_local). This is a one-rotation estimate: its
right-hand side still contains the two ladder rungs of the trajectory just before the boundary.
The multi-layer bound on the sum of the discarded norms is in LayerError.lean.