See all documentation for this version here.
✨ New features
- New public
tensorwaves.configure()entry point for selecting 32-bit or 64-bit precision in JAX and TensorFlow independently (#578)
⚠️ Enhancements and optimizations
UnbinnedNLLnow computesN * log(integral) - sum(log(data))instead of-sum(log(data / integral)), which is about 1.5x faster at formula level (#574)
⚠️ Changes that may affect behavior
UnbinnedNLLnow returnsNaNfor negative intensities, where the old formulation could stay finite. Make the model non-negative by construction, e.g. by squaring its coefficients (#574)JAX_ENABLE_X64is now respected when no explicitjax_precisionis configured, instead of 64-bit precision being forced onto JAX unconditionally (#578)
🐛 Bug fixes
- JAX's Wirtinger derivative is now conjugated, so that gradients for complex-valued parameters are correct (#575)
🔨 Maintenance
- Upgraded pre-commit hooks and lock files, most notably to JAX and jaxlib
0.11.0for Python 3.12+ (#564, #573) - Annotated
raise_missing_module_error()as returningNoReturn, which removes thepossibly-unresolved-referenceignores over the package (#578)
🖱️ Developer Experience
- Ruff suppressions now name the rule they silence instead of using a numeric code (#573)
- New benchmarks for the
UnbinnedNLLformulations and for backend precision, over all four back-ends (#574, #578) poe benchmarknow takes optional positional paths, so that a single file can be run in isolation (#574)
The full changelog as commits can be found here.