pub struct Screened<R: RealField, N: NaturalNumber, S> { /* private fields */ }Expand description
What validate terminates in: the config, the admitted candidates, and the report.
Implementations§
Source§impl<R: RealField, N: NaturalNumber, S> Screened<R, N, S>
impl<R: RealField, N: NaturalNumber, S> Screened<R, N, S>
Sourcepub fn admitted(&self) -> &[Hypothesis<R>]
pub fn admitted(&self) -> &[Hypothesis<R>]
The candidates that passed every check.
Sourcepub fn stages(&self) -> &[(&'static str, CheckReport<R>)]
pub fn stages(&self) -> &[(&'static str, CheckReport<R>)]
Each stage’s report, in order.
Sourcepub fn report(&self) -> Option<&CheckReport<R>>
pub fn report(&self) -> Option<&CheckReport<R>>
The folded report, when it is current. None after a marginalisation: the pre-trace
margins are not readable as current margins.
Sourcepub fn stale_report_degraded(&self) -> Option<R>
pub fn stale_report_degraded(&self) -> Option<R>
The stale report’s worst margin degraded by the amplification, after a marginalisation.
Sourcepub fn status(&self) -> ScreenStatus<R>
pub fn status(&self) -> ScreenStatus<R>
Whether the report is current.
Source§impl<R: RealField, N: NaturalNumber, S: SubjectOrigin> Screened<R, N, S>
impl<R: RealField, N: NaturalNumber, S: SubjectOrigin> Screened<R, N, S>
Sourcepub fn origin(&self) -> ScreenOrigin
pub fn origin(&self) -> ScreenOrigin
Where the screened subject’s factorization came from.
Sourcepub fn require_compositional(&self) -> Result<(), QuantumError>
pub fn require_compositional(&self) -> Result<(), QuantumError>
Admits the screen into an abstraction, which needs a compositional model.
§Errors
QuantumError::NoCompositionalModel unless the origin is a circuit: a process operator
without its circuit is the marginal of a compositional model and not one itself (Lorenz &
Tull, Example 62), so it validates as in v1 and stops.
Source§impl<R, N, G, T> Screened<R, N, ModelSubject<R, G, T>>
impl<R, N, G, T> Screened<R, N, ModelSubject<R, G, T>>
Sourcepub fn marginalise(
&self,
kept_legs: usize,
z: &CausalTensor<Complex<R>>,
tolerance: R,
) -> Result<(Marginalised<R>, Self), QuantumError>
pub fn marginalise( &self, kept_legs: usize, z: &CausalTensor<Complex<R>>, tolerance: R, ) -> Result<(Marginalised<R>, Self), QuantumError>
Marginalise the screened factorization, gated on the boundary warrant, invalidating the report. The traced operator and its warrant come back beside the invalidated screen.
§Errors
As Hypothesis::marginalise.