Changelog#
All notable changes to Pystra are documented here.
The format follows Keep a Changelog.
v1.6.0 (2026-03-16)#
Added#
Closed-form sensitivity analysis (Bourinet 2017): computes \(\partial\beta/\partial\theta\) from a single FORM run via analytical differentiation of the Nataf transformation chain. Selected with
SensitivityAnalysis.run(numerical=False).Correlation sensitivities \(\partial\beta/\partial\rho_{ij}\) available from the closed-form method.
Generalised sensitivity parameters: distributions can declare arbitrary parameters beyond mean and standard deviation via the
sensitivity_paramsproperty (e.g. GEV shape parameter).SensitivityAnalysis.summary()method for DataFrame output.Distribution._make_copy(),_ctor_kwargs, and_dmoments_dtheta()extension points for distribution reconstruction and parameter differentiation.Cholesky differentiation module (
cholesky_sensitivity).Numerical integration helpers for Nataf correlation derivatives (
integrationmodule:drho0_dtheta,drho_drho0,zi_and_xi).GEV (max and min) shape parameter sensitivity support.
Sensitivity analysis notebook with worked Bourinet (2017) examples.
Developer guide: new section on adding distributions with sensitivity support.
Theory docs: generalised parameter support section.
Theory docs: expanded SORM section with quadratic approximation derivation, curvature computation, Hohenbichler–Rackwitz motivation, and curve-fitting vs point-fitting comparison.
Fixed#
GEVmin
_make_copyroundtrip: moments are now correctly preserved across reconstruction.dF_dthetahandles array inputs from quadrature grids.Sphinx documentation build: all warnings resolved.
Console output separator width corrected (
n_hyphen54 → 58).Gumbel
input_typeparameter: native Gumbel parameters (μ, β) now correctly interpreted as location and scale (issue #67).Monte Carlo
cov_of_q_bartypo: fixedAttributeErrorwhen the coefficient of variation is exactly zero (issue #64).
Changed#
Sensitivity result dicts now keyed by each distribution’s declared
sensitivity_params(backward-compatible for standard distributions).Test suite expanded to 302 tests.
v1.4.0 (2026-03-13)#
Added#
SORM point-fitting (
fit_type='pf'): alternative to curve-fitting that locates fitting points on the failure surface via Newton iteration, yielding asymmetric curvatures. Based on Henry Nguyen’s contribution (PR #65).@propertyaccessors onStochasticModelforconstants,names,n_marg,marginal_distributions,correlation,modified_correlation, andcall_function(backward-compatible with existing getter methods).SVD-based isoprobabilistic transformation as an alternative to Cholesky (
Transformation(transform_type="svd")).Comprehensive test suite: 252 tests covering distributions, model, transformation, sensitivity, and numerics (up from 19).
CHANGELOG, improved docstrings across all modules.
Fixed#
Type II Largest Value distribution: corrected
invweibullparametrisation (c=kinstead ofc=-k-2), which previously producedNaNmoments.ZeroInflated:
set_zero_probability()now correctly updates the complement probabilityq = 1 - p.Transformation: error handling re-raises
LinAlgErrorinstead of printing and silently continuing.NumPy 2.0+ compatibility: fixed read-only arrays from
np.eye(), scalar/array coercion deprecation in the Jacobian, and column-vector inputs inx_to_u/u_to_x.Pandas compatibility: fixed read-only
DataFrame.valuesin calibration module.
Changed#
Build dependency changed from
oldest-supported-numpytonumpy.CI matrix updated: Python 3.9 – 3.13 (dropped 3.8).
v1.3.0 (2024-04-01)#
Added#
Generic calibration model.
Documentation equation display fixes.
Changed#
Tidied tutorial notebooks.
v1.2.3 (2023-09-01)#
Added#
Correlation support in
LoadCombination.Print correlation DataFrame.
Fixed#
Calibrationpsi factor estimation via matrix method.
Changed#
Design now uses min phi and max psi by default.
Updated build system to
pyproject.toml.
v1.2.2 (2023-06-01)#
Added#
User-defined correlation and analysis options in load combinations.
Fixed#
Minor docstring and import fixes.
v1.2.1 (2023-04-01)#
Fixed#
Docstring rendering for GitHub Pages build.
Syntax highlighting in notebook examples.
v1.2.0 (2023-02-01)#
Added#
Calibrationclass for partial and combination factor calibration.LoadCombinationclass for load combination reliability analysis.ZeroInflateddistribution.Load combination tutorial notebooks.
Pandas added as a dependency.
v1.1.1 (2022-01-01)#
Fixed#
Minor fixes and documentation updates.
v1.1.0 (2021-09-01)#
Added#
SensitivityAnalysisclass.DistributionAnalysisclass.ImportanceSamplingMonte Carlo method.Sensitivity analysis tutorial notebook.
Changed#
Improved distribution interface.
v1.0.0 (2021-06-01)#
Initial release.
FORM and SORM reliability methods.
Crude Monte Carlo simulation.
Nataf isoprobabilistic transformation.
15+ probability distributions.
Stochastic model and limit state function framework.