Skip to content

TensorWaves 0.4.17

Latest

Choose a tag to compare

@github-actions github-actions released this 07 Aug 09:22
dadc908

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

  • UnbinnedNLL now computes N * 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

  • UnbinnedNLL now returns NaN for 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_X64 is now respected when no explicit jax_precision is 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.0 for Python 3.12+ (#564, #573)
  • Annotated raise_missing_module_error() as returning NoReturn, which removes the possibly-unresolved-reference ignores 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 UnbinnedNLL formulations and for backend precision, over all four back-ends (#574, #578)
  • poe benchmark now takes optional positional paths, so that a single file can be run in isolation (#574)

The full changelog as commits can be found here.