Truncations
PauliPropagation.truncatedampingcoeff — Methodtruncatedampingcoeff(
pstr::PauliStringType,
coeff::Real,
gamma::Real,
min_abs_coeff::Float64
)Custom truncation function with dissipation-assisted damping of coefficients.
This function damps the coefficient coeff scaling with the weight of an interger Pauli string pstr. The damping factor is gamma. If the coefficient, damped by an exponential factor, falls below min_abs_coeff, the function returns true to indicate truncation.
Arguments
pstr::PauliStringType: The Pauli string whose coefficient may be damped.coeff::Float64: The coefficient associated with the Pauli stringpstr.gamma::Float64: Gamma, rate of exponential decay in the damping process.min_abs_coeff::Float64: The minimum value of the coefficient for truncation.
Returns
Bool:trueif the damped coefficient ofpstr<min_abs_coeff;falseotherwise.
Details
The function evaluates the condition: abs(coeff) * exp(-gamma * w(pstr)) < min_abs_coeff
where w(pstr) is the weight of the Pauli string (computed by countweight). The damping factor gamma controls the exponential decay.
Examples
```julia truncatedampingcoeff(pstr, 0.8, 0.5, 0.01)
PauliPropagation.truncatefrequency — Methodtruncatefrequency(coeff, max_freq::Real)Return true if PathProperties.freq > max_freq. Truncations on coefficients should default to false if it is not applicable for a type.
PauliPropagation.truncatefrequency — Methodtruncatefrequency(path_properties::PathProperties, max_freq::Real)Return true if path_properties.freq > max_freq.
PauliPropagation.truncatemincoeff — Methodtruncatemincoeff(coeff, min_abs_coeff::Real)Return true if abs(coeff) < min_abs_coeff. Truncations on coefficients should default to false if it is not applicable for a type.
PauliPropagation.truncatemincoeff — Methodtruncatemincoeff(coeff::Float64, min_abs_coeff::Real)Return true if abs(coeff) < min_abs_coeff.
PauliPropagation.truncatemincoeff — Methodtruncatemincoeff(path_property::PathProperties, min_abs_coeff::Real)Return true if abs(path_property.coeff) < min_abs_coeff.
PauliPropagation.truncatesins — Methodtruncatesins(coeff, max_sins::Real)Return true if PathProperties.nsins > max_sins. Truncations on coefficients should default to false if it is not applicable for a type.
PauliPropagation.truncatesins — Methodtruncatesins(path_properties::PathProperties, max_sins::Real)Return true if path_properties.nsins > max_sins.
PauliPropagation.truncateweight — Methodtruncateweight(pstr::PauliStringType, max_weight::Real)Return true if an integer Pauli string should be truncated because its weight (i.e., number of non-identity Paulis) is larger than max_weight.