Repository navigation
BusinessMath 2.10.0 — the distribution contract, and where sample points go
v2.10.0 — the distribution contract, and where sample points go
A distribution can now say what value sits at a given uniform, and a simulation can
choose where its sample points go. Those turned out to be one requirement rather than
two: a stratified or low-discrepancy point set hands each input a coordinate and asks
what value is there, which only an inverse transform answers.
Phase 0 of the Excel and Risk Solver coverage work. 42 of the 49 items on that list
were blocked on this contract existing.
Added
- ContinuousDistribution and DiscreteDistribution: cdf and quantile, with
inverse-transform sampling supplied. Overriding the sampler does not forfeit
quasi-random eligibility. - SamplingMethod on MonteCarloSimulation, defaulting to pseudoRandom so every existing
run is unchanged. Latin hypercube, Sobol (Joe & Kuo, matching scipy.stats.qmc against
a committed fixture), Halton, and Owen scrambling. - The special-function inverses eight-plus distributions were waiting on, and
regularizedLowerIncompleteGamma promoted out of private. - A reference-fixture harness: 2,680 committed cases against SciPy 1.17.1, version
pinned. CI never runs Python.
Fixed
- Four lower-tail cancellations found by retrofitting the existing fifteen
distributions, including one in the shipped exponentialCDF: 1 - exp(-y) keeps no
significant digits when y is small.
Source compatibility
- SimulationError gained a case. Additive, but a break for an exhaustive switch. That
is the only source-compatibility cost.
6,818 tests / 602 suites. quality-gate: 0 errors, 0 warnings across all 45 checkers.