1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
//! Deterministic CPU `f64` solving and certified observation of coherent scalar fields.
//!
//! [`ReferencePhasorSolver`] consumes the checked physical model and preflight
//! vocabulary from `sim-lib-interference-core`. Successful solves return a
//! [`HostPhasorField`] with separate row-major real and imaginary component
//! planes plus immutable [`SolveEvidence`].
//!
//! The solved model is homogeneous, isotropic, three-dimensional, scalar, and
//! free-field. It does not model polarization, impedance, interfaces,
//! obstacles, or diffraction. Amplitude-squared projections and detector
//! reductions are normalized observables, not physical intensity, power, or
//! energy.
//!
//! [`verify_reference_solver`] independently checks closed-form propagation
//! identities, true metamorphic field laws, the outgoing time sign, and
//! second-order convergence of a seven-point Helmholtz residual over point,
//! plane, mixed, attenuating, and multi-source fixtures. The crate has no SIM
//! runtime, tensor, compute-provider, or presentation dependency.
//!
//! [`project`] derives real, imaginary, amplitude, wrapped phase,
//! squared-magnitude, and instantaneous scalar fields without rerunning
//! propagation. [`reduce_for_view`] applies an explicit detector rule over an
//! exact partition of the source grid. Undefined phase is
//! [`ScalarSample::Masked`], detail reduction is fail-closed, and every result
//! carries a [`ProjectionCertificate`] retaining source sampling evidence.
//! [`analyze_fringes`] then derives deterministic statistics, strict local
//! node/antinode candidates, and Michelson contrast without dropping either
//! sampling evidence or projection identity.
//! [`ScenarioBuilder`] constructs bounded two-point, counter-propagating,
//! phased-array, and rectangular discrete-aperture problems. Array amplitudes
//! are normalized and wavelength-relative element spacing remains explicit.
//! [`ToneStudy`] seals one independently solved frequency with its exact
//! problem, plane, positive composition weight, and solve evidence.
//! [`MultiToneStudy`] admits only certified tones on identical physical sample
//! geometry. [`ToneCombination::IncoherentMagnitudeSquared`] sums weighted
//! component squared magnitudes and [`ToneCombination::Instant`] sums
//! weighted real fields at one shared clock time; unlike phasors are never
//! added. Every [`MultiToneProjection`] carries [`MultiToneCertificate`] with
//! the highest-frequency [`MultiToneSamplingRequirements`] and all component
//! [`ToneCertificate`] records.
pub use ;
pub use ReferenceSolveError;
pub use ;
pub use ;
pub use MultiToneError;
pub use Observable;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ScenarioError;
pub use ;
pub use verify_reference_solver;