Truncation and cutoffs
Controlling operator growth with structural cutoffs and coefficient-tolerance thresholds.
monoprop limits the growth of the propagated operator with two independent mechanisms: a structural cutoff on the size of each monomial, and coefficient-tolerance thresholds on the magnitude of each term. Both can be changed at any point during a simulation.
The structural cutoff discards monomials that grow "too large". What counts as
large depends on the simulator: MajoranaPropagator offers a choice between two
measures of a Majorana monomial, while PauliPropagator always measures a term
by its qubit Pauli weight.
The fully-paired rule
Whatever the measure, the structural cutoff shares one exception: a monomial that is fully paired — every Majorana operator it contains comes as a complete pair on some mode, or in qubit space is a product of Pauli- operators, is always kept, regardless of its size. Fully paired monomials are exactly the terms that can contribute to an expectation value against a computational-basis or Slater-determinant reference, so discarding them would throw away signal (see Propagation Algorithm). The cutoff therefore only ever prunes the remaining, partially paired monomials.
Majorana operators: length or support
MajoranaPropagator measures each monomial as a Majorana operator and offers
two structural cutoff strategies, selected with cutoff_type:
length (default).
Keeps a monomial when its length — the number of Majorana operators it
contains — does not exceed the cutoff. Short monomials dominate typical
expectation values, so bounding the length retains the dominant contributions;
this is the physically motivated choice for quantum chemistry Hamiltonians. For
example, has length 3, so a length cutoff of 2 discards
it.
support.
Keeps a monomial when the number of distinct modes it touches (its support)
does not exceed the cutoff. Because one mode can carry two operators, this is
coarser than length, useful when the ordering encodes spatial locality. The same
touches only mode 1 (both and ) and mode 3
(), so its support is 2 and a support cutoff of 2 keeps it.
Qubit operators: Pauli weight
PauliPropagator accepts Pauli operators and gates directly and measures each
term by its Pauli weight — the number of qubits it touches. This is the only
structural measure: cutoff bounds the Pauli weight.
Coefficient tolerance filtering
Two absolute-tolerance thresholds prune terms by coefficient magnitude, independently of the structural cutoff:
lower_atol: discard terms with|coeff| < lower_atolduring gate application. Primary tool for suppressing negligible branches in long ADAPT loops.upper_atol: accept terms with|coeff| > upper_atolregardless of the structural cutoff. Useful for keeping a few large terms that would otherwise be discarded by a tight cutoff.
sim.lower_atol = 1e-9
sim.upper_atol = 1e-3