pub fn propagate<const W: usize, T>(
circuit: &Circuit<W>,
sum: PauliSum<W>,
policy: &T,
direction: Direction,
) -> PauliSum<W>where
T: TruncationPolicy<W> + ?Sized,Expand description
Propagate sum through circuit under policy.
Under Direction::Heisenberg the channels run in reverse through Channel::apply_adjoint.
The sum stays bucketed throughout, so stepping one sum through repeated calls costs only the layers.
§Panics
If a channel’s preparation declines: its support exceeds MAX_LOCAL_SUPPORT (two qubits), which only PauliRotation may, or it writes outside its declared support.
§Progress logging
Through the log facade under the target paulistrings::propagate: INFO on entry and exit, DEBUG once per layer, named by Channel::debug_name.
Every driver writes the same lines, ending in the partitions they speak for (1 partition here).