L-UQ 1.0.0
[1.0.0] — 2026-07-08
First stable release, prepared alongside the Journal of Statistical
Software submission.
Added
- Python port of the full MATLAB toolbox (
python/lmoments/):
lmom,pwm,l_moment_ratios,identify_dist,
parameter_estimation,parameter_identify,fit_best,
pdf_l,cdf_l,random_l,kl_div,js_div. fit_bestguarded fit with ranked fallback, in both languages
(python/lmoments/parameters.py,fit_best.m): walks the
ratio-diagram ranking and returns the first family whose closed-form
estimator domain is satisfied, recording skipped families.- Domain guards in both languages: estimator domain violations raise
informative errors (ParameterEstimationErrorin Python,
LUQ:...identifiers in MATLAB) instead of returning NaN. - Explicit three-parameter Weibull support end-to-end in MATLAB
(Parameter_estimation,PDF_l,CDF_l,Random_l); excluded
from automatic identification by design (ratio-diagram curve overlap). - Interactive Streamlit application (
python/app.py). - Test suites: 30 Python unit tests (
python/tests/), a mirrored
MATLAB suite (tests/test_uq_matlab.m), and an Octave-runnable
verification script (tests/octave_verify.m, 38 checks) including
machine-precision equivalence between the MATLAB and Python
implementations on fixed reference samples. - GitHub Actions CI (pytest on ubuntu/windows × Python 3.9/3.12;
MATLAB suite via matlab-actions).
Fixed
CDF_l.m: gamma branch now applies the same location shift as
PDF_l.m(shifted-gamma PDF/CDF consistency).Identify_dist.m:round(x, 4)rewritten in portable form
(round(x*1e4)/1e4) so the toolbox runs unmodified under GNU Octave.- Identification tests: normal/gamma acknowledged as a degenerate pair
(the zero-skew limit of the shifted gamma is the normal), same policy
as Gumbel/GEV and uniform/GP.
Changed
- Toolbox renamed UQ → L-UQ (repository, paper, error identifiers)
to be descriptive and avoid collision with the existing UQLab
framework. - MATLAB error identifier prefix
UQ:→LUQ:.
Removed
lhsgeneral.m(third-party utility with unconfirmed licensing);
the repository is now 100% MIT. The README points to the original
File Exchange entry.