Skip to content

ppvm_tableau::noise

noise

ppvm_tableau::noise

Noise channels: depolarizing, Pauli error, loss.

functionis_admissible_correlated_losssource

ppvm_tableau::noise::is_admissible_correlated_loss

pub fn is_admissible_correlated_loss<C>(p: &[C; 3]) -> bool

Parameters

NameTypeDescription
p&amp;[C; 3]

Returns

bool

`true` iff `p` is an admissible correlated-loss parameter triple.

The channel is completely positive exactly when every event weight is nonnegative, i.e. `p0, p1 >= 0`, `p0 + 2·p1 <= 1` (`p1` is the probability that a named one of the pair is lost, so the exactly-one event carries `2·p1`) and `p2 ∈ [0, 1]`. Outside that region the mixture truncates a negative survivor weight and renormalizes, and the trajectory’s cumulative scan stops being a categorical sampler — both silently.

Coefficients are checked in `Coeff` space via `PartialOrd<f64>` (the bound every loss-channel impl already carries). Slack still applies to the `p0 + 2·p1 <= 1` sum so a saturated `[1/3, 1/3, _]` is not rejected by last-bit rounding.

source