Recent Releases of relaxed

relaxed - v0.4.0: dict-based parameters!

What's Changed

This refactor was largely inspired by me wanting to better keep track of which parameter is doing what! Thanks to many of the operations in jax working on arbitrary pytrees, I'm pursuing tracking parameters as dictionaries, and have adjusted the fit-level logic to now assume this. CI has been updated to include a different kind of HistFactory model structure that looks much more like what I'm building out elsewhere!

The assumptions for this library to work are now just this:

```python3 import equinox as eqx # turn our class into a PyTree

class Model(eqx.Module): # any attributes here that are not valid jax types (e.g. str) need to be declared like: name: str = eqx.field(static=True)

def logpdf(self, pars: dict[str, ArrayLike], data: Array) -> float | Array: ...
def expected_data(self, pars: dict[str, ArrayLike]) -> Array: ...

```

In particular, note that logpdf returns a float (or scalar array) -- this means that pyhf models, if they are ever compatible again, would need to patch in lambda pars, data: model.logpdf(pars, data)[0].

Python 3.8 has been officially dropped, keeping in-step with libraries that this depends on (e.g. equinox).

  • remove intel macs from CI since jaxopt LBFGS-B does not correctly converge by @phinate in https://github.com/gradhep/relaxed/pull/59
  • Refactor that assumes parameters are in a key-value mapping by @phinate in https://github.com/gradhep/relaxed/pull/61

Full Changelog: https://github.com/gradhep/relaxed/compare/v0.3.0...v0.4.0

- Python
Published by phinate over 2 years ago

relaxed - v0.3: for PyTree models

This is a future-looking release that is designed to work with model classes that are JAX PyTrees, as it's the most viable solution for the project long-term. Uses LFBGS-B solver by default in the fits.

- Python
Published by phinate over 2 years ago

relaxed - v0.2.2

Extremely thin release to add cls_method kwarg to infer.hypotest

What's Changed

  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/gradhep/relaxed/pull/47
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/gradhep/relaxed/pull/48
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/gradhep/relaxed/pull/49
  • Bump codecov/codecov-action from 3.1.0 to 3.1.1 by @dependabot in https://github.com/gradhep/relaxed/pull/51
  • Bump pypa/gh-action-pypi-publish from 1.5.0 to 1.5.1 by @dependabot in https://github.com/gradhep/relaxed/pull/50
  • add new cls_method kwarg for infer.hypotest to optionally give access to CLsb (mostly for experiments) by @phinate in https://github.com/gradhep/relaxed/pull/53

Full Changelog: https://github.com/gradhep/relaxed/compare/v0.2.1...v0.2.2

- Python
Published by phinate over 3 years ago

relaxed - v0.2.1

Quality of life changes! Including quick access to a dummy version of pyhf :)

What's Changed

  • refactor into .py files from folder structure, less messy and easier for API docs by @phinate in https://github.com/gradhep/relaxed/pull/35
  • Documentation! by @phinate in https://github.com/gradhep/relaxed/pull/33
  • Add some examples (that will eventually make their way to docs) by @phinate in https://github.com/gradhep/relaxed/pull/36
  • add binder link! by @phinate in https://github.com/gradhep/relaxed/pull/37
  • be kinder to notebook CI :) by @phinate in https://github.com/gradhep/relaxed/pull/38
  • build: Remove upper bound on python_requires by @matthewfeickert in https://github.com/gradhep/relaxed/pull/41
  • Docs: fix links in README.md by @agoose77 in https://github.com/gradhep/relaxed/pull/39
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/gradhep/relaxed/pull/32
  • Bump codecov/codecov-action from 2.1.0 to 3.1.0 by @dependabot in https://github.com/gradhep/relaxed/pull/34
  • ci: Add Python 3.10 to testing by @matthewfeickert in https://github.com/gradhep/relaxed/pull/42
  • compute cdf only one time by @wiso in https://github.com/gradhep/relaxed/pull/43
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/gradhep/relaxed/pull/46
  • Bump pre-commit/action from 2.0.3 to 3.0.0 by @dependabot in https://github.com/gradhep/relaxed/pull/45

New Contributors

  • @matthewfeickert made their first contribution in https://github.com/gradhep/relaxed/pull/41
  • @agoose77 made their first contribution in https://github.com/gradhep/relaxed/pull/39
  • @wiso made their first contribution in https://github.com/gradhep/relaxed/pull/43

Full Changelog: https://github.com/gradhep/relaxed/compare/v0.2.0...v0.2.1

- Python
Published by phinate over 3 years ago

relaxed - v0.2.0

Adds a few new features, including:

  • Add differentiable discovery significance by @phinate in https://github.com/gradhep/relaxed/pull/26
  • Add expected_pars kwarg to relaxed.infer.hypotest for when mle pars are known a priori by @phinate in https://github.com/gradhep/relaxed/pull/28
  • add relaxed.cut, relaxed.metrics.asimov_sig by @phinate in https://github.com/gradhep/relaxed/pull/29

Full Changelog: https://github.com/gradhep/relaxed/compare/v0.1.3...v0.2.0

- Python
Published by phinate almost 4 years ago

relaxed - v0.1.3

Used to create a Zenodo DOI!

- Python
Published by phinate almost 4 years ago

relaxed - v0.1.2

Update dependencies to directly include pyhf, and change API for gaussianity and fisher_info to use pyhf.Models directly instead of wrapping a logpdf function.

- Python
Published by phinate about 4 years ago

relaxed - v0.1.1

Adds gaussianity to ops!

- Python
Published by phinate about 4 years ago

relaxed - v0.1: new, shiny API!

Many quality of life changes, including mirroring of pyhf api for hypothesis tests and fitting.

- Python
Published by phinate about 4 years ago

relaxed - v0.0.5

Adds the pull to metrics, as well as a (temp) example notebok

- Python
Published by phinate over 4 years ago