Expand description
salib-core — foundational types for the salib sensitivity-analysis
library.
Owns the experiment-level vocabulary that every other salib crate
composes against: Problem, Factor, the closed Distribution
enum, rng::RngState (multi-stream ChaCha20 with deterministic
salt-derived forking), and the reduce primitives
(reduce::tree_sum, reduce::tree_dot, reduce::tree_var and
their par_ variants).
Same architectural family as Python’s SALib, R’s sensitivity, and
MATLAB’s UQLab.
§Determinism
salib-core is the determinism floor every sampler and estimator
stands on:
rng::RngStateis a serializable RNG identity. Recording it lets a verifier reconstruct any SA campaign’s RNG stream.reducereductions defeat the float-associativity nondeterminism that naivepar_iter().sum()overf64produces under rayon. Bit-identical regardless of thread count.
Re-exports§
pub use distribution::Distribution;pub use problem::BuildError;pub use problem::Factor;pub use problem::FactorKind;pub use problem::Group;pub use problem::Problem;pub use problem::ProblemBuilder;pub use reduce::par_tree_dot;pub use reduce::par_tree_sum;pub use reduce::par_tree_var;pub use reduce::tree_dot;pub use reduce::tree_sum;pub use reduce::tree_var;pub use reduce::BLOCK;pub use rng::RngAlgorithm;pub use rng::RngState;
Modules§
- distribution
Distribution— closed enum of factor distributions, with inverse-CDF (quantile) and support boundaries as the unified extension point.- problem
Problem— the declarative, content-addressable description of an SA campaign’s input space. Vector of factors, each with a name, distribution, and kind (continuous / discrete / categorical / boolean).- reduce
- Deterministic f64 reductions for saltelli — fixed-tree pairwise folds whose output is bit-identical regardless of rayon partitioning.
- rng
RngState— multi-streamChaCha20with deterministic salt-derived forking. The replay-determinism foundation for every salib sampler and estimator.