From 3ef8852fe7e80beb681221162c23bbd1fde237f9 Mon Sep 17 00:00:00 2001 From: "Nathaniel D. Hoffman" <36977879+denehoffman@users.noreply.github.com> Date: Tue, 10 Feb 2026 10:46:40 -0600 Subject: [PATCH 1/3] chore: release main --- .release-please-manifest.json | 8 ++-- crates/laddu/CHANGELOG.md | 7 ++++ crates/laddu/Cargo.toml | 2 +- py-laddu-cpu/CHANGELOG.md | 7 ++++ py-laddu-cpu/Cargo.toml | 2 +- py-laddu-mpi/CHANGELOG.md | 7 ++++ py-laddu-mpi/Cargo.toml | 2 +- py-laddu/CHANGELOG.md | 77 +++++++++++++++++++++++++++++++++++ py-laddu/pyproject.toml | 2 +- 9 files changed, 106 insertions(+), 8 deletions(-) create mode 100644 py-laddu/CHANGELOG.md diff --git a/.release-please-manifest.json b/.release-please-manifest.json index bc770d03..7dbe468f 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,10 +1,10 @@ { - "crates/laddu": "0.14.1", + "crates/laddu": "0.14.2", "crates/laddu-amplitudes": "0.14.0", "crates/laddu-core": "0.14.0", "crates/laddu-extensions": "0.14.1", "crates/laddu-python": "0.14.0", - "py-laddu-cpu": "0.14.1", - "py-laddu-mpi": "0.14.1", - "py-laddu": "0.14.1" + "py-laddu-cpu": "0.14.2", + "py-laddu-mpi": "0.14.2", + "py-laddu": "0.14.2" } diff --git a/crates/laddu/CHANGELOG.md b/crates/laddu/CHANGELOG.md index f50ac68b..7e3f12e9 100644 --- a/crates/laddu/CHANGELOG.md +++ b/crates/laddu/CHANGELOG.md @@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.14.2](https://github.com/denehoffman/laddu/compare/laddu-v0.14.1...laddu-v0.14.2) (2026-02-10) + + +### Miscellaneous Chores + +* **laddu:** Synchronize laddu versions + ## [Unreleased] ## [0.14.1](https://github.com/denehoffman/laddu/compare/laddu-v0.14.0...laddu-v0.14.1) - 2026-01-07 diff --git a/crates/laddu/Cargo.toml b/crates/laddu/Cargo.toml index 10d4281b..a81d1e1c 100644 --- a/crates/laddu/Cargo.toml +++ b/crates/laddu/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "laddu" -version = "0.14.1" +version = "0.14.2" description = "Amplitude analysis made short and sweet" documentation = "https://docs.rs/laddu" edition.workspace = true diff --git a/py-laddu-cpu/CHANGELOG.md b/py-laddu-cpu/CHANGELOG.md index deb7f09d..5f76ca0d 100644 --- a/py-laddu-cpu/CHANGELOG.md +++ b/py-laddu-cpu/CHANGELOG.md @@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.14.2](https://github.com/denehoffman/laddu/compare/py-laddu-cpu-v0.14.1...py-laddu-cpu-v0.14.2) (2026-02-10) + + +### Miscellaneous Chores + +* **py-laddu-cpu:** Synchronize laddu versions + ## [Unreleased] ## [0.14.1](https://github.com/denehoffman/laddu/compare/py-laddu-cpu-v0.14.0...py-laddu-cpu-v0.14.1) - 2026-01-07 diff --git a/py-laddu-cpu/Cargo.toml b/py-laddu-cpu/Cargo.toml index 7a7228fd..d003cfc0 100644 --- a/py-laddu-cpu/Cargo.toml +++ b/py-laddu-cpu/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "py-laddu-cpu" -version = "0.14.1" +version = "0.14.2" edition.workspace = true readme = "README.md" license.workspace = true diff --git a/py-laddu-mpi/CHANGELOG.md b/py-laddu-mpi/CHANGELOG.md index 2d04cbd5..0ba5e27e 100644 --- a/py-laddu-mpi/CHANGELOG.md +++ b/py-laddu-mpi/CHANGELOG.md @@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.14.2](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.14.1...py-laddu-mpi-v0.14.2) (2026-02-10) + + +### Miscellaneous Chores + +* **py-laddu-mpi:** Synchronize laddu versions + ## [Unreleased] ## [0.14.1](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.14.0...py-laddu-mpi-v0.14.1) - 2026-01-07 diff --git a/py-laddu-mpi/Cargo.toml b/py-laddu-mpi/Cargo.toml index eb0406e1..f51cbf1e 100644 --- a/py-laddu-mpi/Cargo.toml +++ b/py-laddu-mpi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "py-laddu-mpi" -version = "0.14.1" +version = "0.14.2" edition.workspace = true readme = "README.md" license.workspace = true diff --git a/py-laddu/CHANGELOG.md b/py-laddu/CHANGELOG.md new file mode 100644 index 00000000..ab9541e3 --- /dev/null +++ b/py-laddu/CHANGELOG.md @@ -0,0 +1,77 @@ +# Changelog + +## [0.14.2](https://github.com/denehoffman/laddu/compare/py-laddu-v0.14.1...py-laddu-v0.14.2) (2026-02-10) + + +### Features + +* Add `BinnedGuideTerm` under new `experimental` module ([8d0c626](https://github.com/denehoffman/laddu/commit/8d0c626ffb14980ecf60155cd15eebc7fe94ff13)) +* Add `conj` operator to `Amplitude`s and `Expression`s ([62dfe28](https://github.com/denehoffman/laddu/commit/62dfe28c044c41deb9542b8390c35874fe51c691)) +* Add `Dataset::weighted_bootstrap` ([9f638fb](https://github.com/denehoffman/laddu/commit/9f638fbd3a1af9b8784ff3a647d73314a18aa717)) +* Add `evaluate(Variable)` method to `Dataset` and `Event` ([764bd7f](https://github.com/denehoffman/laddu/commit/764bd7f49df4000700a926d91d9a699586b55737)) +* Add `PhaseSpaceFactor` amplitude ([a439b99](https://github.com/denehoffman/laddu/commit/a439b9910ad443369e7686898ed0cdc0214dd834)) +* Add `PolPhase` amplitude ([07ebd06](https://github.com/denehoffman/laddu/commit/07ebd06f226eaeb2662dc6af54899cd26c8cc999)) +* Add available_parallelism function to python API ([b06d620](https://github.com/denehoffman/laddu/commit/b06d620f9c569ceaeb6bbc991f21af7ff684bf5e)) +* Add experimental Regularizer likelihood term ([de4ae47](https://github.com/denehoffman/laddu/commit/de4ae47dc2c0a7c74817a6f319e5b7884caebcfe)) +* Add method for boosting an event or a dataset to a given rest frame ([1efab27](https://github.com/denehoffman/laddu/commit/1efab274e9ca7dd2196b163b08cada194fea7fdb)) +* Add subtraction, division, and negation operations for all Amplitudes and Expressions ([c9b3b3f](https://github.com/denehoffman/laddu/commit/c9b3b3f0f86fc7457255a19ce0773a51caa6526e)) +* Add Swarm methods to Python API and update other algorithm initialization methods ([ddc6813](https://github.com/denehoffman/laddu/commit/ddc68134f10075f9c53d20198febf0d329c9c015)) +* Add the ability to name likelihood terms and convenience methods for null and unit likelihood terms, sums, and products ([c5352d7](https://github.com/denehoffman/laddu/commit/c5352d7107d858759ad4403bda522eef7d08492b)) +* Add unit-valued `Expression` and define convenience methods for summing and multiplying lists of `Amplitude`s ([c1297eb](https://github.com/denehoffman/laddu/commit/c1297ebc5af6b836f9cabd18f775534f6fc71703)) +* Add VariableExpressions to handle Dataset filtering ([3f01968](https://github.com/denehoffman/laddu/commit/3f01968574c6e87705dedca92951252302c09364)) +* Allow for the use of `sum(list[Dataset])` in Python code ([631fe49](https://github.com/denehoffman/laddu/commit/631fe4999426b1b2bf84df4a2b6e55fc9484616c)) +* Allow users to add `Dataset`s together to form a new `Dataset` ([ef6f80e](https://github.com/denehoffman/laddu/commit/ef6f80e72ac0e49363a45bd2ad034d701f13e969)) +* Create example_2, a moment analysis ([7dd7c01](https://github.com/denehoffman/laddu/commit/7dd7c01173ea14433a599589d8f6824e84a261dc)) +* First pass implementation of MPI interface ([16d8391](https://github.com/denehoffman/laddu/commit/16d8391cddad9b3db3780c1ffbc7fa7b238fe6f6)) +* Improvements to `Dataset` conversions and opening methods ([1264ef2](https://github.com/denehoffman/laddu/commit/1264ef26f5a67694396b22afcc70e0fe71132bd1)) +* Make `mpi` a feature in `py-laddu` to allow people to build the python package without it ([ae23bb2](https://github.com/denehoffman/laddu/commit/ae23bb24f77f9a88049c4cf1bb00313954b2cbea)) +* Redefine eps->aux in `Event` definition ([45df457](https://github.com/denehoffman/laddu/commit/45df4578c76c7093ec7ee516c017d6847eb9277b)) +* Separate parameter logic into a new struct and unify fixing/freeing/renaming ([834a4e7](https://github.com/denehoffman/laddu/commit/834a4e7cfd68b0eba444bf1788d1aa66ac025580)) +* Split `laddu` python package into two, with and without MPI support ([e488b46](https://github.com/denehoffman/laddu/commit/e488b46fda4ec723ab1ef452ffc4a411cdcebf78)) +* Switch the MPI implementation to use safe Rust via a RwLock ([58ecc24](https://github.com/denehoffman/laddu/commit/58ecc24ecb29cedb01cadc844d960fb7e9f16e1f)) +* Update MPI code to use root-node-agnostic methods ([109846e](https://github.com/denehoffman/laddu/commit/109846efd384f8abed59c6c8a0f9bd1b4137c9b3)) + + +### Bug Fixes + +* Add a few more missed pyclasses to the py-laddu exports ([d143fb8](https://github.com/denehoffman/laddu/commit/d143fb89099d9b6878b6cac3f828ca0c80820081)) +* Add fallback overloads to several amplitudes ([3559264](https://github.com/denehoffman/laddu/commit/35592640d91f822e63b29c4c5c0eb831419c338e)) +* Add mpi feature for laddu-python to py-laddu ([02dc5ed](https://github.com/denehoffman/laddu/commit/02dc5edec9dd9a437d22b828a61fd3819f00c859)) +* Add non-MPI failing functions for MPI calls on non-MPI python builds ([6be7e24](https://github.com/denehoffman/laddu/commit/6be7e245e5d5e346fa697e28bd900011088c971c)) +* Add type hints to `__doc__` and `__version__` ([0c9ffe2](https://github.com/denehoffman/laddu/commit/0c9ffe2e79cedbe43a02efd37e3326b1609ef50d)) +* Change `LikelihoodTerm` naming to happen at registration time ([ca3516d](https://github.com/denehoffman/laddu/commit/ca3516db402d19851ad4137b81cb24684f574243)) +* Convert range to list ([63cc88b](https://github.com/denehoffman/laddu/commit/63cc88be95789cb3ca4ed0c626138d332a15be4c)) +* Correct arguments to fix open_amptools method ([8c1b4d8](https://github.com/denehoffman/laddu/commit/8c1b4d86ef1119eab8994009f44ee5bc2f053978)) +* Correct some issues with conversion scripts ([e7a1099](https://github.com/denehoffman/laddu/commit/e7a1099f39acc25376558226d6e64ce70bb3cc04)) +* Correct typo AIES->AEIS in python type checking files ([88dfbc5](https://github.com/denehoffman/laddu/commit/88dfbc50eb44127497e07e6211defb8c19a8245e)) +* Corrected signature in methods that read from AmpTools trees ([d751c37](https://github.com/denehoffman/laddu/commit/d751c37027868b4f2e0273a4ba83bd5fb974d406)) +* Corrected signature in methods that read from AmpTools trees ([b93ae60](https://github.com/denehoffman/laddu/commit/b93ae60367e5362727344c8d59ecf6381c223099)) +* Fixed python examples and readme paths ([56f35a4](https://github.com/denehoffman/laddu/commit/56f35a41b2d7b72fbc887a1b92485b49e4554f2a)) +* Forgot to export MCMC moves ([da899fd](https://github.com/denehoffman/laddu/commit/da899fd8822af8c51f3ef46b90dd0335f8b26e4d)) +* Missed AEISMove->AIESMove and condensed the lib.rs file for py-laddu ([a6e9afc](https://github.com/denehoffman/laddu/commit/a6e9afcd9830ebc7a4d9ff01929ebdd80cf493f3)) +* Modify tests and workflows to new structure ([33f456c](https://github.com/denehoffman/laddu/commit/33f456c1bc97442792afd4cd55c19ec5aea88b3e)) +* Remove loguru and pandas dependencies and add pyarrow dependency ([8048674](https://github.com/denehoffman/laddu/commit/804867484b827659d675e6cb522c5ffba30be5d4)) +* Reorganize package structure ([6020e1d](https://github.com/denehoffman/laddu/commit/6020e1dceb5679a27d279dd381894dcc7beb3671)) +* The last commit fixed the typo the wrong way, it is AIES ([bc193d6](https://github.com/denehoffman/laddu/commit/bc193d630b9d149240876d7e614a867207133826)) +* Update Python vector names (closes [#57](https://github.com/denehoffman/laddu/issues/57)) ([d0f8ee0](https://github.com/denehoffman/laddu/commit/d0f8ee0129333c4dafb04c2804e41aa16145faec)) +* Use proper path in `laddu-mpi` entrypoint ([8919d64](https://github.com/denehoffman/laddu/commit/8919d64b0107493dca45f2952450a56a7ff60f2a)) + + +### Reverts + +* Remove weighted_bootstrap ([891926f](https://github.com/denehoffman/laddu/commit/891926fac9035f18f7c33900ac2632ce32d88529)) + + +### Documentation + +* Add documentation to new Dataset constructors ([a492383](https://github.com/denehoffman/laddu/commit/a492383f735411821d17b23d5b3197ad6704c74c)) +* Correct path of extensions module ([1618e1c](https://github.com/denehoffman/laddu/commit/1618e1c6feffdb1ae9735fe1118c158cdd3b089f)) +* Create a binned fit tutorial and example ([e1e9904](https://github.com/denehoffman/laddu/commit/e1e99045740958221fa7c65407d53439348041dd)) +* Fix python docs to use "extensions" rather than "likelihoods" ([2fa6e5b](https://github.com/denehoffman/laddu/commit/2fa6e5b4825288b6cf5c2351b1edd25a68e662ad)) +* Fix some citations and equations, and add phase_space to the API listing ([49965e2](https://github.com/denehoffman/laddu/commit/49965e2e1d28d28edcbfb3e9fccde7bd9d1ad86f)) +* Move all MPI code to `laddu-python` to make sure MPI docs build properly ([3ac8b4c](https://github.com/denehoffman/laddu/commit/3ac8b4cbda0ada70a9d48c6ffa5434170493bf0f)) +* **mpi:** Add code-block directive to MPI context manager docs ([a91f93f](https://github.com/denehoffman/laddu/commit/a91f93f1b7cab6768fdf8e2c84bd47762f53beed)) +* **python:** Add mpi module ([a81f533](https://github.com/denehoffman/laddu/commit/a81f533775e90474dd0c8eb8d5f3706e9154f944)) +* **python:** Add MPI to API listing ([72b08b8](https://github.com/denehoffman/laddu/commit/72b08b841c709f86b1490f634dbbf970effe75e6)) +* Update all documentation to include MPI modules ([a44ccff](https://github.com/denehoffman/laddu/commit/a44ccff9701fe0b25b9ea95a7676d2cfa51fd933)) +* Update moment analysis tutorial and example ([da93613](https://github.com/denehoffman/laddu/commit/da936131bf1c71fcca339236d0b06fb1139ae2ec)) diff --git a/py-laddu/pyproject.toml b/py-laddu/pyproject.toml index e866facc..2550debb 100644 --- a/py-laddu/pyproject.toml +++ b/py-laddu/pyproject.toml @@ -31,7 +31,7 @@ classifiers = [ "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", ] -version = "0.14.1" +version = "0.14.2" description = "Python bindings for laddu" license = "MIT" readme = "README.md" From a93dfaa3c07933b50a925ac2e8c5dfccdde04896 Mon Sep 17 00:00:00 2001 From: "Nathaniel D. Hoffman" <36977879+denehoffman@users.noreply.github.com> Date: Tue, 10 Feb 2026 15:13:06 -0600 Subject: [PATCH 2/3] chore(main): release 0.15.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 165 +++++++++++++++++++++++++++++ Cargo.toml | 10 +- crates/laddu-amplitudes/Cargo.toml | 2 +- crates/laddu-core/Cargo.toml | 2 +- crates/laddu-extensions/Cargo.toml | 2 +- crates/laddu-python/Cargo.toml | 2 +- crates/laddu/Cargo.toml | 2 +- py-laddu-cpu/Cargo.toml | 2 +- py-laddu-mpi/Cargo.toml | 2 +- py-laddu/pyproject.toml | 6 +- 11 files changed, 181 insertions(+), 16 deletions(-) create mode 100644 CHANGELOG.md diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 7b5cb645..f87262aa 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.14.1" + ".": "0.15.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..c0534f4f --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,165 @@ +# Changelog + +## [0.15.0](https://github.com/denehoffman/laddu/compare/v0.14.1...v0.15.0) (2026-02-10) + + +### ⚠ BREAKING CHANGES + +* change `Variable` trait methods to operate on `&Dataset` rather than `&Arc` + +### Features + +* Add 'threads' argument to pretty much everything in Python API ([ed5502a](https://github.com/denehoffman/laddu/commit/ed5502a97e20483caf26d6b4a3361db4bb2ad01a)) +* Add `__radd__` implementations wherever `__add__` is implemented ([150c068](https://github.com/denehoffman/laddu/commit/150c06853f653fe12952a1cc2b312f274506c12c)) +* Add `__sub__`, `__rsub__`, and `__neg__` implementations to Python `Vector3` and `Vector4` ([59367c0](https://github.com/denehoffman/laddu/commit/59367c095b4e8fb4ed61b167abf915f2a9dcc240)) +* Add `BinnedGuideTerm` under new `experimental` module ([8d0c626](https://github.com/denehoffman/laddu/commit/8d0c626ffb14980ecf60155cd15eebc7fe94ff13)) +* Add `conj` operator to `Amplitude`s and `Expression`s ([62dfe28](https://github.com/denehoffman/laddu/commit/62dfe28c044c41deb9542b8390c35874fe51c691)) +* Add `Dataset::weighted_bootstrap` ([9f638fb](https://github.com/denehoffman/laddu/commit/9f638fbd3a1af9b8784ff3a647d73314a18aa717)) +* Add `Debug` and `Display` to every `Variable` (and require them for new ones) ([ab8ec68](https://github.com/denehoffman/laddu/commit/ab8ec682aa82c1f28dfb5e0e57ec4f20db323855)) +* Add `evaluate(Variable)` method to `Dataset` and `Event` ([764bd7f](https://github.com/denehoffman/laddu/commit/764bd7f49df4000700a926d91d9a699586b55737)) +* Add `NLL::project_with` to do projecting and isolation in one step ([38a495c](https://github.com/denehoffman/laddu/commit/38a495c7a05280d08242e1e13304fe7143d4d5e5)) +* Add `PhaseSpaceFactor` amplitude ([a439b99](https://github.com/denehoffman/laddu/commit/a439b9910ad443369e7686898ed0cdc0214dd834)) +* Add `PiecewiseScalar`, `PiecewiseComplexScalar`, and `PiecewisePolarComplexScalar` amplitudes ([dd1f657](https://github.com/denehoffman/laddu/commit/dd1f657b215392e67d81637fdc6e06a3eee0f46a)) +* Add `PolPhase` amplitude ([07ebd06](https://github.com/denehoffman/laddu/commit/07ebd06f226eaeb2662dc6af54899cd26c8cc999)) +* Add `project_gradient` and `project_gradient_with` methods to `NLL` ([98327dd](https://github.com/denehoffman/laddu/commit/98327ddc49019950fc80d8cd0b11484dd548d694)) +* Add available_parallelism function to python API ([b06d620](https://github.com/denehoffman/laddu/commit/b06d620f9c569ceaeb6bbc991f21af7ff684bf5e)) +* Add basic implementation to read directly from ROOT files ([0e3a4a6](https://github.com/denehoffman/laddu/commit/0e3a4a6df73646db4775d58fe8216a104459b332)) +* Add evaluate_gradient functions where evaluate is available in python API ([092fc1f](https://github.com/denehoffman/laddu/commit/092fc1f55b8823d4e0de29e1a2793378d8a712d3)) +* Add experimental Regularizer likelihood term ([de4ae47](https://github.com/denehoffman/laddu/commit/de4ae47dc2c0a7c74817a6f319e5b7884caebcfe)) +* Add gamma factor calculation to 4-momentum ([1975fee](https://github.com/denehoffman/laddu/commit/1975fee36329b8834f3e0eb9ee4aac80c2501a2a)) +* Add gradient evaluation to `NLL` and `LikelihoodExpression` in Python API ([3c45181](https://github.com/denehoffman/laddu/commit/3c4518194636b4e5a51f639635aafbbadceb2d61)) +* Add intermediate `Model` and serialization updates ([561753b](https://github.com/denehoffman/laddu/commit/561753b41de9270571415768949093291df8b83d)) +* Add MCMC samplers from `ganesh` to `laddu` ([5cb213a](https://github.com/denehoffman/laddu/commit/5cb213ad8b1e25d09941bb58c189da597ec99644)) +* Add method for boosting an event or a dataset to a given rest frame ([1efab27](https://github.com/denehoffman/laddu/commit/1efab274e9ca7dd2196b163b08cada194fea7fdb)) +* Add method for opening a dataset boosted to the rest frame of the given p4 indices ([2d10626](https://github.com/denehoffman/laddu/commit/2d10626fa69b2fc1ea17375db64441040519e776)) +* Add methods to serialize/deserialize fit results ([ffd1b03](https://github.com/denehoffman/laddu/commit/ffd1b03c61d61cc3cf2f5085368ba2fe19356c72)) +* Add no-op implementations for adding 0 to add-able types ([a8f6323](https://github.com/denehoffman/laddu/commit/a8f6323161a545f8bd356711549b14459a6ee9d6)) +* Add perf commands to justfile ([3c27f69](https://github.com/denehoffman/laddu/commit/3c27f69b1352ed138e5a3b5ca708e098826043a9)) +* Add python versions of Point, Particle, SwarmObserver, and Swarm from ganesh ([59a84eb](https://github.com/denehoffman/laddu/commit/59a84eb6edf114b60c274116be7907152107ed76)) +* Add PyVariable to simplify python functions which need to take generic `Variable`s ([348deb2](https://github.com/denehoffman/laddu/commit/348deb2c19f2dead6f2366f7d9407a5d92e8a2f7)) +* Add subtraction, division, and negation operations for all Amplitudes and Expressions ([c9b3b3f](https://github.com/denehoffman/laddu/commit/c9b3b3f0f86fc7457255a19ce0773a51caa6526e)) +* Add Swarm methods to Python API and update other algorithm initialization methods ([ddc6813](https://github.com/denehoffman/laddu/commit/ddc68134f10075f9c53d20198febf0d329c9c015)) +* Add the ability to name likelihood terms and convenience methods for null and unit likelihood terms, sums, and products ([c5352d7](https://github.com/denehoffman/laddu/commit/c5352d7107d858759ad4403bda522eef7d08492b)) +* Add unit-valued `Expression` and define convenience methods for summing and multiplying lists of `Amplitude`s ([c1297eb](https://github.com/denehoffman/laddu/commit/c1297ebc5af6b836f9cabd18f775534f6fc71703)) +* Add VariableExpressions to handle Dataset filtering ([3f01968](https://github.com/denehoffman/laddu/commit/3f01968574c6e87705dedca92951252302c09364)) +* Add vector indexing and `Event.get_p4_sum` to python API ([8b97865](https://github.com/denehoffman/laddu/commit/8b9786552bd48c6b68a58979e6d54a9da10277b5)) +* Allow for the use of `sum(list[Dataset])` in Python code ([631fe49](https://github.com/denehoffman/laddu/commit/631fe4999426b1b2bf84df4a2b6e55fc9484616c)) +* Allow users to add `Dataset`s together to form a new `Dataset` ([ef6f80e](https://github.com/denehoffman/laddu/commit/ef6f80e72ac0e49363a45bd2ad034d701f13e969)) +* **amplitudes:** Add `From` impl for `AmplitudeID` to `Expression` conversion ([a0cd045](https://github.com/denehoffman/laddu/commit/a0cd0451da5645e68f37d364abff48467242a00a)) +* **bench:** Updated benchmark to run over available parallelism ([0b62180](https://github.com/denehoffman/laddu/commit/0b6218054f80043b5bce7fc7968893dd2223cab4)) +* Bump `ganesh` to add "skip_hessian" minimization option to skip calculation of Hessian matrix ([fd1eea8](https://github.com/denehoffman/laddu/commit/fd1eea897af6c72051b6644f0f64709796d83eb2)) +* Bump MSRV (for bincode) and bump all dependency versions ([5c7aab8](https://github.com/denehoffman/laddu/commit/5c7aab8ac02098cbbfc50880004ceb7959e82668)) +* Bump versions on `ganesh`, `pyo3`, and (rust) `numpy` and make appropriate updates for each ([3f2d67a](https://github.com/denehoffman/laddu/commit/3f2d67ae9a27ad2aa5c234d7ad37ba2da7067ae4)) +* Change MSRV to 1.84.0 and resolver to 3 ([31e9172](https://github.com/denehoffman/laddu/commit/31e917236552453a12835239957489ae9cd54399)) +* Change swarm repr if the swarm is uninitialized to not confuse people ([aaaf144](https://github.com/denehoffman/laddu/commit/aaaf1440848b3c91e0d309c029230b6e80b16ee6)) +* Change the way NLLs are constructed to allow the user to specify a generated dataset ([7755ff6](https://github.com/denehoffman/laddu/commit/7755ff68148ee87176f2a0a2342913dafd135e50)) +* Change the way NLLs are constructed to allow the user to specify a generated dataset ([a210106](https://github.com/denehoffman/laddu/commit/a210106e74aabe171b2cb11ad5d3e0930b810373)) +* Create example_2, a moment analysis ([7dd7c01](https://github.com/denehoffman/laddu/commit/7dd7c01173ea14433a599589d8f6824e84a261dc)) +* **data:** Create `test_dataset` method for testing purposes as well as add `Default` impl to `Event` ([1aff54c](https://github.com/denehoffman/laddu/commit/1aff54c5ba6cdf034648d649b44d6ea18bea19b6)) +* **data:** Make `Event::get_p4_sum` generic over its argument ([4f93af6](https://github.com/denehoffman/laddu/commit/4f93af6bf7ce89cd28c16c6b5e4d6dc40188fa80)) +* Display the AmplitudeID's name and ID together ([d1a0f1c](https://github.com/denehoffman/laddu/commit/d1a0f1c2c7cd856aa90ff23adb706f20074f67be)) +* **enums:** Add `Channel` enum ([417eb99](https://github.com/denehoffman/laddu/commit/417eb990401e1d31abd2cb63dae3fecffbf860d4)) +* **enums:** Add equality comparison to enums and convert to lowercase before string conversion ([de3b205](https://github.com/denehoffman/laddu/commit/de3b20514d5026c2ea1012a7705422b7af63d152)) +* **enums:** Add serde to enums ([5ab8b13](https://github.com/denehoffman/laddu/commit/5ab8b139dc68cf6cf9556788af9f19db61cda4fb)) +* First pass implementation of MPI interface ([16d8391](https://github.com/denehoffman/laddu/commit/16d8391cddad9b3db3780c1ffbc7fa7b238fe6f6)) +* Implement custom gradient for `BinnedGuideTerm` ([0945647](https://github.com/denehoffman/laddu/commit/09456476f947fb6394d5ee78f73f90ddba9c1c65)) +* Improve error handling by getting rid of `unwrap`s wherever possible ([7968904](https://github.com/denehoffman/laddu/commit/7968904f09f503381ca2993427c919a6f5cc5b17)) +* Improvements to `Dataset` conversions and opening methods ([1264ef2](https://github.com/denehoffman/laddu/commit/1264ef26f5a67694396b22afcc70e0fe71132bd1)) +* Make `mpi` a feature in `py-laddu` to allow people to build the python package without it ([ae23bb2](https://github.com/denehoffman/laddu/commit/ae23bb24f77f9a88049c4cf1bb00313954b2cbea)) +* Move binning functions to `utils` ([f7fe352](https://github.com/denehoffman/laddu/commit/f7fe3521e4139af6418a8a0e6f46eb7ed4773ae5)) +* Redefine eps->aux in `Event` definition ([45df457](https://github.com/denehoffman/laddu/commit/45df4578c76c7093ec7ee516c017d6847eb9277b)) +* Restructure the minimizer/mcmc methods to no longer take kwargs ([c88feea](https://github.com/denehoffman/laddu/commit/c88feeaf98867fd64e33f7a8047454110c42c96f)) +* Separate parameter logic into a new struct and unify fixing/freeing/renaming ([834a4e7](https://github.com/denehoffman/laddu/commit/834a4e7cfd68b0eba444bf1788d1aa66ac025580)) +* Split `laddu` python package into two, with and without MPI support ([e488b46](https://github.com/denehoffman/laddu/commit/e488b46fda4ec723ab1ef452ffc4a411cdcebf78)) +* Switch API for acceptance correction to not process genmc till projection ([1d404a5](https://github.com/denehoffman/laddu/commit/1d404a55624e88d49f036761732d5b029d47a906)) +* Switch the MPI implementation to use safe Rust via a RwLock ([58ecc24](https://github.com/denehoffman/laddu/commit/58ecc24ecb29cedb01cadc844d960fb7e9f16e1f)) +* Unify binning functions and add ([f914e58](https://github.com/denehoffman/laddu/commit/f914e585d0843a79b442145d6a4ba409143c4fd3)) +* Update `ganesh` version and add Global move to ESS ([a5bcf4c](https://github.com/denehoffman/laddu/commit/a5bcf4cda8f9c0944e45c5b994c0f674edd7b192)) +* Update ganesh, numpy, and pyo3 ([ebf42ad](https://github.com/denehoffman/laddu/commit/ebf42ad6db6a0bf31c9dfe9bb417ecb07d62dffc)) +* Update MPI code to use root-node-agnostic methods ([109846e](https://github.com/denehoffman/laddu/commit/109846efd384f8abed59c6c8a0f9bd1b4137c9b3)) +* Update type hints with __ropts__ and add magic methods to easily pickle `Status` ([e4bd21b](https://github.com/denehoffman/laddu/commit/e4bd21b0b1b9d13a799d29f365e82ba1a584f320)) +* Use absolute value of mass and width in Breit-Wigner amplitude ([1d07b92](https://github.com/denehoffman/laddu/commit/1d07b92a7699d59efb9165023377fbe55503c2b9)) +* **variables:** Add Mandelstam variables ([29f0b19](https://github.com/denehoffman/laddu/commit/29f0b1953dd531f4e682c50527f28ee020a5db7f)) + + +### Bug Fixes + +* Add a few more missed pyclasses to the py-laddu exports ([d143fb8](https://github.com/denehoffman/laddu/commit/d143fb89099d9b6878b6cac3f828ca0c80820081)) +* Add better feature guards so all features can technically be used independently ([ff4205d](https://github.com/denehoffman/laddu/commit/ff4205d181d82c903d7f09c9625efcd68843fa57)) +* Add fallback overloads to several amplitudes ([3559264](https://github.com/denehoffman/laddu/commit/35592640d91f822e63b29c4c5c0eb831419c338e)) +* Add feature flag to `laddu-python` and update MSRV for `mpisys` compatibility ([5c0fb32](https://github.com/denehoffman/laddu/commit/5c0fb3298fda47a22c5d6d7c8a80fdf3ce28374f)) +* Add feature flag to benchmark to allow it to be run with "f32" feature ([13ae5f3](https://github.com/denehoffman/laddu/commit/13ae5f318fc0f3dca4b9318b05afaf4bbbfa9a4f)) +* Add more precision to covariance matrices to ensure positive definiteness ([49e43ae](https://github.com/denehoffman/laddu/commit/49e43ae61414448aa4b48584ec4415e0afd31bf6)) +* Add mpi feature for laddu-python to py-laddu ([02dc5ed](https://github.com/denehoffman/laddu/commit/02dc5edec9dd9a437d22b828a61fd3819f00c859)) +* Add non-MPI failing functions for MPI calls on non-MPI python builds ([6be7e24](https://github.com/denehoffman/laddu/commit/6be7e245e5d5e346fa697e28bd900011088c971c)) +* Add python feature gate to likelihood-related methods ([5719813](https://github.com/denehoffman/laddu/commit/5719813560dad9ee3bec11ed2568ca8fffa8a1ce)) +* Add sentry dependency for which to force the version, not sure what the best fix really is, but this should work for now ([36e938a](https://github.com/denehoffman/laddu/commit/36e938aa3c2e0774ce4fa9d1be01c8ab44e0e5cc)) +* Add type hints to `__doc__` and `__version__` ([0c9ffe2](https://github.com/denehoffman/laddu/commit/0c9ffe2e79cedbe43a02efd37e3326b1609ef50d)) +* Calling get_world before use_mpi causes errors ([54df1af](https://github.com/denehoffman/laddu/commit/54df1afe255bb0feb190d5e15038ecf40af4ff2d)) +* Change `LikelihoodTerm` naming to happen at registration time ([ca3516d](https://github.com/denehoffman/laddu/commit/ca3516db402d19851ad4137b81cb24684f574243)) +* Change `NLL` to always use len(accmc) for `n_mc` ([4a9dc38](https://github.com/denehoffman/laddu/commit/4a9dc388773eff651ed6dfdf0d9d9e7c8168f655)) +* Change unwrap to print error and panic ([c2dfa88](https://github.com/denehoffman/laddu/commit/c2dfa88174102db684dfc4c987accd325aca0ecd)) +* Convert range to list ([63cc88b](https://github.com/denehoffman/laddu/commit/63cc88be95789cb3ca4ed0c626138d332a15be4c)) +* Correct arguments to fix open_amptools method ([8c1b4d8](https://github.com/denehoffman/laddu/commit/8c1b4d86ef1119eab8994009f44ee5bc2f053978)) +* Correct for out-of-bounds errors in MPI bootstrap ([ab173b1](https://github.com/denehoffman/laddu/commit/ab173b1ccd275470f83a84490faa3d7fdd0d7c8b)) +* Correct gradients of zero and one by adding the number of parameters into `GradientValues` ([d37346e](https://github.com/denehoffman/laddu/commit/d37346eadcfcb44225b43c2b0525990d7fdf3a72)) +* Correct justfile path ([6feea91](https://github.com/denehoffman/laddu/commit/6feea919aaa4a874d2ada44fb89ce196aa8efe74)) +* Correct parallelism to allow for proper codspeed benchmarking ([27a61a1](https://github.com/denehoffman/laddu/commit/27a61a172c2df2e3e041be8b21d96886ab2ac8c1)) +* Correct python method to get energy from 4-vector ([fc3be63](https://github.com/denehoffman/laddu/commit/fc3be63eeba9e577ec404203f71533e0d04a7f71)) +* Correct some issues with conversion scripts ([e7a1099](https://github.com/denehoffman/laddu/commit/e7a1099f39acc25376558226d6e64ce70bb3cc04)) +* Correct the open method and counts/displs methods ([d4b3ff5](https://github.com/denehoffman/laddu/commit/d4b3ff5daf2cedd6d166e3dee85547adef32fbab)) +* Correct typo AIES->AEIS in python type checking files ([88dfbc5](https://github.com/denehoffman/laddu/commit/88dfbc50eb44127497e07e6211defb8c19a8245e)) +* Corrected signature in methods that read from AmpTools trees ([d751c37](https://github.com/denehoffman/laddu/commit/d751c37027868b4f2e0273a4ba83bd5fb974d406)) +* Corrected signature in methods that read from AmpTools trees ([b93ae60](https://github.com/denehoffman/laddu/commit/b93ae60367e5362727344c8d59ecf6381c223099)) +* Corrected typo where the `VerboseMCMCObserver` implemented `SwarmObserver<()>` rather than the `VerboseSwarmObserver` ([4751377](https://github.com/denehoffman/laddu/commit/4751377331cb69f1d51e9cd159466364016a0d06)) +* Ensure LikelihoodEvaluators report parameter names in fit/mcmc summaries ([b90b230](https://github.com/denehoffman/laddu/commit/b90b230c8b8f52d4e00c8a743257ec6f67898496)) +* **enums:** Gottfried-Jackson string conversions were accidentally being redirected to Helicity ([d57f078](https://github.com/denehoffman/laddu/commit/d57f0784e48ccbb768c96febb36c7cf84eec90f0)) +* Fixed python examples and readme paths ([56f35a4](https://github.com/denehoffman/laddu/commit/56f35a41b2d7b72fbc887a1b92485b49e4554f2a)) +* Forgot to bump all versions ([1284f2e](https://github.com/denehoffman/laddu/commit/1284f2e07109de30c6717bc62c99e9e0c113234d)) +* Forgot to export MCMC moves ([da899fd](https://github.com/denehoffman/laddu/commit/da899fd8822af8c51f3ef46b90dd0335f8b26e4d)) +* Forgot to remove the error types for data reading ([a0b7ea9](https://github.com/denehoffman/laddu/commit/a0b7ea9ba9b5f40a469f94672316eb49c67bc4fb)) +* Forgot to switch one coverage attribute to nightly ([100c0b1](https://github.com/denehoffman/laddu/commit/100c0b15bc8d6608fba276415bc159fee845f09a)) +* Forgot to update the `laddu-python` `use_mpi` function to have a trigger arg ([1a10c3d](https://github.com/denehoffman/laddu/commit/1a10c3da94d957da678d2222acdb8a91c49746dc)) +* Get rid of unused variable warning ([bd26682](https://github.com/denehoffman/laddu/commit/bd266821c853e4912748e372f4156e31edf413a8)) +* Improve summation and product methods to only return a Zero or One if the list is empty ([54afa62](https://github.com/denehoffman/laddu/commit/54afa6206a1bd01f5a978c21acbbd2686bd15643)) +* Major bug/typo in boost method and tests to check for it ([efa1a24](https://github.com/denehoffman/laddu/commit/efa1a243e15950e252ce3f7fc368a7c5fee12ac6)) +* Make some small corrections to the python example_1 and test out the built-in autocorrelation observer ([5e31018](https://github.com/denehoffman/laddu/commit/5e310186fca3665c41e5b7b7757f8bf50ff97580)) +* Make sure code works if no pol angle/magnitude are provided ([9bd054c](https://github.com/denehoffman/laddu/commit/9bd054c1f26ead820d4d38f2b18356234e7d3196)) +* Minor fixes for building without rayon/pyo3 ([9a8f23a](https://github.com/denehoffman/laddu/commit/9a8f23ad1a3944149428a08ec408022cf8b4b1ec)) +* Minor modification to allow for MSRV of 1.70 ([ac553cd](https://github.com/denehoffman/laddu/commit/ac553cdc135e2d4ab6e7ff7ac6b5a5dcb1d8e6b5)) +* Missed a changed path in some ganesh code hidden behind a feature gate ([2816e41](https://github.com/denehoffman/laddu/commit/2816e417525d05bb6213e54996b5ca15f9827e45)) +* Missed AEISMove->AIESMove and condensed the lib.rs file for py-laddu ([a6e9afc](https://github.com/denehoffman/laddu/commit/a6e9afcd9830ebc7a4d9ff01929ebdd80cf493f3)) +* Modify tests and workflows to new structure ([33f456c](https://github.com/denehoffman/laddu/commit/33f456c1bc97442792afd4cd55c19ec5aea88b3e)) +* More fixes for newest ganesh version ([4d493e3](https://github.com/denehoffman/laddu/commit/4d493e3fb0cfa6fb24ca87c0542b8400a407b211)) +* Move `rayon` feature bounds inside methods to clean up the code and avoid duplication ([ff7c47e](https://github.com/denehoffman/laddu/commit/ff7c47e1f42c920899fe9812494cda73def66757)) +* Move some imports under the python feature flag ([3970a67](https://github.com/denehoffman/laddu/commit/3970a67c2fd76135a9ef2783e5030f5eaf15cf7c)) +* Remove from the rayon-free calls for and ([5bf105e](https://github.com/denehoffman/laddu/commit/5bf105e686e706fde4cad92dd06f5b44af915941)) +* Remove on trait ([45a7292](https://github.com/denehoffman/laddu/commit/45a72922d4fad21cfbccc3b227c88931e147211b)) +* Remove `PyResult` on methods which no longer produce errors ([f453907](https://github.com/denehoffman/laddu/commit/f4539072c4b0c097ac061d0cd6a5aa1dd7265ac5)) +* Remove loguru and pandas dependencies and add pyarrow dependency ([8048674](https://github.com/denehoffman/laddu/commit/804867484b827659d675e6cb522c5ffba30be5d4)) +* Remove requirement that pickled files end in ".pickle" or ".pkl" ([65b5513](https://github.com/denehoffman/laddu/commit/65b551314cc72b317715d0bdee5560db489468ff)) +* Reorganize package structure ([6020e1d](https://github.com/denehoffman/laddu/commit/6020e1dceb5679a27d279dd381894dcc7beb3671)) +* Replace `f64` with `Float` in `generate_bin_edges` ([26bd863](https://github.com/denehoffman/laddu/commit/26bd86377b5618bbcd58069b50beb58a074e15ac)) +* Revert MSRV to 1.70.0 ([ef57f9d](https://github.com/denehoffman/laddu/commit/ef57f9dd29e137d4fad04228e29c0216b0b477f1)) +* Sync all versions with a single release ([fc7569a](https://github.com/denehoffman/laddu/commit/fc7569a1a441346279149c17bd7f383419b40fb6)) +* Sync versions across crates/libraries ([65967cf](https://github.com/denehoffman/laddu/commit/65967cfc4df772c2232c0516bd6ece84ed0e3f84)) +* The last commit fixed the typo the wrong way, it is AIES ([bc193d6](https://github.com/denehoffman/laddu/commit/bc193d630b9d149240876d7e614a867207133826)) +* Unwrap call_method so that it reports the stack trace if the method fails ([e673c5c](https://github.com/denehoffman/laddu/commit/e673c5cd5cc5364d86482142276b893f36edb140)) +* Update CI to properly upload artifacts ([58a75ca](https://github.com/denehoffman/laddu/commit/58a75ca6625f98596d8011ecc03b9aa9f4a9286a)) +* Update coverage to reflect new layout ([dc0378c](https://github.com/denehoffman/laddu/commit/dc0378c9483991205ea2214b5024ea90be7a01c4)) +* Update GradientValues in non-default feature branches ([0bd9560](https://github.com/denehoffman/laddu/commit/0bd9560589aeda76e187173a1909093f31d9f85f)) +* Update GradientValues in non-default feature branches (missed one) ([023dffc](https://github.com/denehoffman/laddu/commit/023dffc8778cfdaa56d1c504a24ec17939ff0cdc)) +* Update Python vector names (closes [#57](https://github.com/denehoffman/laddu/issues/57)) ([d0f8ee0](https://github.com/denehoffman/laddu/commit/d0f8ee0129333c4dafb04c2804e41aa16145faec)) +* Use correct enum in L-BFGS-B error method ([2ae0d45](https://github.com/denehoffman/laddu/commit/2ae0d459e166774c8be34182dc65811e4a11d951)) +* Use proper ownership in setting algorithm error mode ([001505a](https://github.com/denehoffman/laddu/commit/001505a77cb9bcf2772490f844e83b41912f808d)) +* Use proper path in `laddu-mpi` entrypoint ([8919d64](https://github.com/denehoffman/laddu/commit/8919d64b0107493dca45f2952450a56a7ff60f2a)) + + +### Reverts + +* Remove weighted_bootstrap ([891926f](https://github.com/denehoffman/laddu/commit/891926fac9035f18f7c33900ac2632ce32d88529)) + + +### Code Refactoring + +* Change `Variable` trait methods to operate on `&Dataset` rather than `&Arc` ([e6b2842](https://github.com/denehoffman/laddu/commit/e6b2842d0cfa43c2f6849366559f01c6c7d4f940)) diff --git a/Cargo.toml b/Cargo.toml index a0fb7739..f608f08a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -47,11 +47,11 @@ sysinfo = "0.37.2" thiserror = "2.0.17" typetag = "0.2.21" -laddu = { version = "0.14.1", path = "crates/laddu" } -laddu-core = { version = "0.14.0", path = "crates/laddu-core" } -laddu-amplitudes = { version = "0.14.0", path = "crates/laddu-amplitudes" } -laddu-extensions = { version = "0.14.1", path = "crates/laddu-extensions" } -laddu-python = { version = "0.14.0", path = "crates/laddu-python" } +laddu = { version = "0.15.0", path = "crates/laddu" } +laddu-core = { version = "0.15.0", path = "crates/laddu-core" } +laddu-amplitudes = { version = "0.15.0", path = "crates/laddu-amplitudes" } +laddu-extensions = { version = "0.15.0", path = "crates/laddu-extensions" } +laddu-python = { version = "0.15.0", path = "crates/laddu-python" } [profile.release] lto = "fat" diff --git a/crates/laddu-amplitudes/Cargo.toml b/crates/laddu-amplitudes/Cargo.toml index 36b9834d..d3674660 100644 --- a/crates/laddu-amplitudes/Cargo.toml +++ b/crates/laddu-amplitudes/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "laddu-amplitudes" -version = "0.14.0" +version = "0.15.0" authors.workspace = true edition.workspace = true homepage.workspace = true diff --git a/crates/laddu-core/Cargo.toml b/crates/laddu-core/Cargo.toml index 824d975a..1c0bea93 100644 --- a/crates/laddu-core/Cargo.toml +++ b/crates/laddu-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "laddu-core" -version = "0.14.0" +version = "0.15.0" authors.workspace = true edition.workspace = true homepage.workspace = true diff --git a/crates/laddu-extensions/Cargo.toml b/crates/laddu-extensions/Cargo.toml index 90a42bce..562be4ca 100644 --- a/crates/laddu-extensions/Cargo.toml +++ b/crates/laddu-extensions/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "laddu-extensions" -version = "0.14.1" +version = "0.15.0" authors.workspace = true edition.workspace = true homepage.workspace = true diff --git a/crates/laddu-python/Cargo.toml b/crates/laddu-python/Cargo.toml index 461ee1a5..5d7128e3 100644 --- a/crates/laddu-python/Cargo.toml +++ b/crates/laddu-python/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "laddu-python" -version = "0.14.0" +version = "0.15.0" description = "Amplitude analysis made short and sweet" edition.workspace = true authors.workspace = true diff --git a/crates/laddu/Cargo.toml b/crates/laddu/Cargo.toml index 10d4281b..6cf4e5b8 100644 --- a/crates/laddu/Cargo.toml +++ b/crates/laddu/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "laddu" -version = "0.14.1" +version = "0.15.0" description = "Amplitude analysis made short and sweet" documentation = "https://docs.rs/laddu" edition.workspace = true diff --git a/py-laddu-cpu/Cargo.toml b/py-laddu-cpu/Cargo.toml index 7a7228fd..84bc6998 100644 --- a/py-laddu-cpu/Cargo.toml +++ b/py-laddu-cpu/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "py-laddu-cpu" -version = "0.14.1" +version = "0.15.0" edition.workspace = true readme = "README.md" license.workspace = true diff --git a/py-laddu-mpi/Cargo.toml b/py-laddu-mpi/Cargo.toml index eb0406e1..dde07c23 100644 --- a/py-laddu-mpi/Cargo.toml +++ b/py-laddu-mpi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "py-laddu-mpi" -version = "0.14.1" +version = "0.15.0" edition.workspace = true readme = "README.md" license.workspace = true diff --git a/py-laddu/pyproject.toml b/py-laddu/pyproject.toml index e866facc..75502c9d 100644 --- a/py-laddu/pyproject.toml +++ b/py-laddu/pyproject.toml @@ -31,12 +31,12 @@ classifiers = [ "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", ] -version = "0.14.1" +version = "0.15.0" description = "Python bindings for laddu" license = "MIT" readme = "README.md" dependencies = [ - "laddu-cpu == 0.14.1", # x-release-please-version # WARNING: DO NOT EDIT + "laddu-cpu == 0.15.0", # x-release-please-version # WARNING: DO NOT EDIT "numpy", ] @@ -49,7 +49,7 @@ pandas = ["pandas"] polars = ["polars"] tests = ["pytest", "pytest-cov", "pandas", "polars", "uproot"] uproot = ["uproot"] -mpi = ["laddu-mpi == 0.14.1"] # x-release-please-version #WARNING: DO NOT EDIT +mpi = ["laddu-mpi == 0.15.0"] # x-release-please-version #WARNING: DO NOT EDIT [tool.maturin] bindings = "pyo3" From 7dd2d26653b18d1e4a363f9c787414723c0e555f Mon Sep 17 00:00:00 2001 From: "Nathaniel D. Hoffman" <36977879+denehoffman@users.noreply.github.com> Date: Tue, 10 Feb 2026 15:25:39 -0600 Subject: [PATCH 3/3] chore: remove package changelogs --- crates/laddu-amplitudes/CHANGELOG.md | 145 -------- crates/laddu-core/CHANGELOG.md | 537 --------------------------- crates/laddu-extensions/CHANGELOG.md | 205 ---------- crates/laddu-python/CHANGELOG.md | 158 -------- crates/laddu/CHANGELOG.md | 286 -------------- py-laddu-cpu/CHANGELOG.md | 456 ----------------------- py-laddu-mpi/CHANGELOG.md | 227 ----------- py-laddu/CHANGELOG.md | 77 ---- 8 files changed, 2091 deletions(-) delete mode 100644 crates/laddu-amplitudes/CHANGELOG.md delete mode 100644 crates/laddu-core/CHANGELOG.md delete mode 100644 crates/laddu-extensions/CHANGELOG.md delete mode 100644 crates/laddu-python/CHANGELOG.md delete mode 100644 crates/laddu/CHANGELOG.md delete mode 100644 py-laddu-cpu/CHANGELOG.md delete mode 100644 py-laddu-mpi/CHANGELOG.md delete mode 100644 py-laddu/CHANGELOG.md diff --git a/crates/laddu-amplitudes/CHANGELOG.md b/crates/laddu-amplitudes/CHANGELOG.md deleted file mode 100644 index 1c7c1e1c..00000000 --- a/crates/laddu-amplitudes/CHANGELOG.md +++ /dev/null @@ -1,145 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [Unreleased] - -## [0.13.1](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.13.0...laddu-amplitudes-v0.13.1) - 2026-01-06 - -### Other - -- updated the following local packages: laddu-core, laddu-python - -## [0.12.1](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.12.0...laddu-amplitudes-v0.12.1) - 2026-01-05 - -### Other - -- updated the following local packages: laddu-core, laddu-python - -## [0.12.0](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.11.0...laddu-amplitudes-v0.12.0) - 2025-12-17 - -### Other - -- New file format ([#90](https://github.com/denehoffman/laddu/pull/90)) - -## [0.10.3](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.10.2...laddu-amplitudes-v0.10.3) - 2025-10-10 - -### Other - -- Stochastic NLLs and `ganesh` update ([#87](https://github.com/denehoffman/laddu/pull/87)) - -## [0.10.2](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.10.1...laddu-amplitudes-v0.10.2) - 2025-08-08 - -### Other - -- updated the following local packages: laddu-core, laddu-python - -## [0.10.1](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.10.0...laddu-amplitudes-v0.10.1) - 2025-07-23 - -### Fixed - -- add more precision to covariance matrices to ensure positive definiteness - -## [0.10.0](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.9.0...laddu-amplitudes-v0.10.0) - 2025-07-23 - -### Other - -- K-Matrix Covariance ([#81](https://github.com/denehoffman/laddu/pull/81)) - -## [0.8.1](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.8.0...laddu-amplitudes-v0.8.1) - 2025-06-20 - -### Added - -- add `PolPhase` amplitude - -### Other - -- update moment analysis tutorial and example - -## [0.7.2](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.7.1...laddu-amplitudes-v0.7.2) - 2025-06-17 - -### Other - -- updated the following local packages: laddu-core, laddu-python - -## [0.7.1](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.7.0...laddu-amplitudes-v0.7.1) - 2025-05-30 - -### Other - -- updated the following local packages: laddu-core, laddu-python - -## [0.6.3](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.6.2...laddu-amplitudes-v0.6.3) - 2025-05-20 - -### Other - -- updated the following local packages: laddu-core, laddu-python - -## [0.6.2](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.6.1...laddu-amplitudes-v0.6.2) - 2025-05-16 - -### Other - -- updated the following local packages: laddu-core, laddu-python - -## [0.6.1](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.6.0...laddu-amplitudes-v0.6.1) - 2025-04-25 - -### Other - -- updated the following local packages: laddu-python - -## [0.5.2](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.5.1...laddu-amplitudes-v0.5.2) - 2025-04-11 - -### Other - -- complete compatibility with newest version of bincode, remove unused dependencies and features across all crates - -## [0.5.1](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.5.0...laddu-amplitudes-v0.5.1) - 2025-04-04 - -### Other - -- fix some citations and equations, and add phase_space to the API listing - -## [0.4.2](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.4.1...laddu-amplitudes-v0.4.2) - 2025-03-13 - -### Other - -- ignore excessive precision warnings - -## [0.4.1](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.4.0...laddu-amplitudes-v0.4.1) - 2025-03-04 - -### Added - -- add `PhaseSpaceFactor` amplitude - -## [0.4.0](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.3.0...laddu-amplitudes-v0.3.1) - 2025-02-28 - -### Added - -- redefine eps->aux in `Event` definition - -## [0.3.0](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.2.5...laddu-amplitudes-v0.3.0) - 2025-02-21 - -### Other - -- update all documentation to include MPI modules -- add some clippy lints and clean up some unused imports and redundant code - -## [0.2.5](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.2.4...laddu-amplitudes-v0.2.5) - 2025-01-28 - -### Other - -- updated the following local packages: laddu-core, laddu-python - -## [0.2.4](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.2.3...laddu-amplitudes-v0.2.4) - 2025-01-27 - -### Other - -- updated the following local packages: laddu-core, laddu-python - -## [0.2.3](https://github.com/denehoffman/laddu/compare/laddu-amplitudes-v0.2.2...laddu-amplitudes-v0.2.3) - 2025-01-24 - -### Other - -- updated the following local packages: laddu-core diff --git a/crates/laddu-core/CHANGELOG.md b/crates/laddu-core/CHANGELOG.md deleted file mode 100644 index 1df704c4..00000000 --- a/crates/laddu-core/CHANGELOG.md +++ /dev/null @@ -1,537 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [Unreleased] - -## [0.14.0](https://github.com/denehoffman/laddu/compare/laddu-core-v0.13.0...laddu-core-v0.14.0) - 2026-01-06 - -### Added - -- separate parameter logic into a new struct and unify fixing/freeing/renaming - -## [0.13.0](https://github.com/denehoffman/laddu/compare/laddu-core-v0.12.0...laddu-core-v0.13.0) - 2026-01-05 - -### Other - -- Development ([#94](https://github.com/denehoffman/laddu/pull/94)) - -## [0.12.0](https://github.com/denehoffman/laddu/compare/laddu-core-v0.11.0...laddu-core-v0.12.0) - 2025-12-17 - -### Other - -- New file format ([#90](https://github.com/denehoffman/laddu/pull/90)) - -## [0.10.0](https://github.com/denehoffman/laddu/compare/laddu-core-v0.9.1...laddu-core-v0.10.0) - 2025-10-10 - -### Other - -- Stochastic NLLs and `ganesh` update ([#87](https://github.com/denehoffman/laddu/pull/87)) - -## [0.9.1](https://github.com/denehoffman/laddu/compare/laddu-core-v0.9.0...laddu-core-v0.9.1) - 2025-08-08 - -### Added - -- add VariableExpressions to handle Dataset filtering - -### Other - -- fix rounding error in filter test - -## [0.9.0](https://github.com/denehoffman/laddu/compare/laddu-core-v0.8.0...laddu-core-v0.9.0) - 2025-06-20 - -### Added - -- add `conj` operator to `Amplitude`s and `Expression`s -- add subtraction, division, and negation operations for all Amplitudes and Expressions - -## [0.8.0](https://github.com/denehoffman/laddu/compare/laddu-core-v0.7.1...laddu-core-v0.8.0) - 2025-06-17 - -### Added - -- add `evaluate(Variable)` method to `Dataset` and `Event` - -### Other - -- update test to get rid of `Arc` structure -- [**breaking**] change `Variable` trait methods to operate on `&Dataset` rather than `&Arc` - -## [0.7.1](https://github.com/denehoffman/laddu/compare/laddu-core-v0.7.0...laddu-core-v0.7.1) - 2025-05-30 - -### Added - -- add `Dataset::weighted_bootstrap` - -### Fixed - -- correct for out-of-bounds errors in MPI bootstrap - -### Other - -- remove weighted_bootstrap - -## [0.6.2](https://github.com/denehoffman/laddu/compare/laddu-core-v0.6.1...laddu-core-v0.6.2) - 2025-05-20 - -### Added - -- add method for opening a dataset boosted to the rest frame of the given p4 indices - -### Other - -- *(data)* fix boost tests - -## [0.6.1](https://github.com/denehoffman/laddu/compare/laddu-core-v0.6.0...laddu-core-v0.6.1) - 2025-05-16 - -### Added - -- add method for boosting an event or a dataset to a given rest frame - -## [0.6.0](https://github.com/denehoffman/laddu/compare/laddu-core-v0.5.1...laddu-core-v0.6.0) - 2025-04-11 - -### Added - -- add Swarm methods to Python API and update other algorithm initialization methods -- add python versions of Point, Particle, SwarmObserver, and Swarm from ganesh - -### Other - -- complete compatibility with newest version of bincode, remove unused dependencies and features across all crates - -## [0.5.1](https://github.com/denehoffman/laddu/compare/laddu-core-v0.5.0...laddu-core-v0.5.1) - 2025-04-04 - -### Fixed - -- more fixes for newest ganesh version - -## [0.5.0](https://github.com/denehoffman/laddu/compare/laddu-core-v0.4.0...laddu-core-v0.5.0) - 2025-03-13 - -### Added - -- display the AmplitudeID's name and ID together -- add unit-valued `Expression` and define convenience methods for summing and multiplying lists of `Amplitude`s -- add `Debug` and `Display` to every `Variable` (and require them for new ones) - -### Fixed - -- update GradientValues in non-default feature branches -- correct gradients of zero and one by adding the number of parameters into `GradientValues` - -### Other - -- *(amplitudes)* expand gradient test to cover more complex cases and add tests for zeros, ones, sums and products -- *(amplitudes)* add test for printing expressions -- *(variables)* add tests for `Variable` Display impls -- *(data)* fix tests by implementing Debug/Display for testing variable -- ignore excessive precision warnings - -## [0.4.0](https://github.com/denehoffman/laddu/compare/laddu-core-v0.3.0...laddu-core-v0.4.0) - 2025-02-28 - -### Added - -- redefine eps->aux in `Event` definition - -### Other - -- finalize conversion of eps->aux in data formatting - -## [0.3.0](https://github.com/denehoffman/laddu/compare/laddu-core-v0.2.5...laddu-core-v0.3.0) - 2025-02-21 - -### Added - -- switch the MPI implementation to use safe Rust via a RwLock -- update MPI code to use root-node-agnostic methods -- first pass implementation of MPI interface - -### Fixed - -- calling get_world before use_mpi causes errors -- correct the open method and counts/displs methods - -### Other - -- *(vectors)* complete tests for vectors module -- *(vectors)* add more vector test coverage -- update all documentation to include MPI modules -- *(vectors)* use custom type for 3/4-vectors rather than trait impl for nalgebra Vectors - -## [0.2.5](https://github.com/denehoffman/laddu/compare/laddu-core-v0.2.4...laddu-core-v0.2.5) - 2025-01-28 - -### Other - -- update Cargo.toml dependencies - -## [0.2.4](https://github.com/denehoffman/laddu/compare/laddu-core-v0.2.3...laddu-core-v0.2.4) - 2025-01-27 - -### Fixed - -- move `rayon` feature bounds inside methods to clean up the code and avoid duplication - -### Other - -- *(data)* fix bootstrap tests by changing seed -- update dependencies and remove `rand` and `rand_chacha` - -## [0.2.3](https://github.com/denehoffman/laddu/compare/laddu-core-v0.2.2...laddu-core-v0.2.3) - 2025-01-24 - -### Added - -- add `BinnedGuideTerm` under new `experimental` module -- allow users to add `Dataset`s together to form a new `Dataset` - -## [0.1.17](https://github.com/denehoffman/laddu/compare/v0.1.16...v0.1.17) - 2025-01-14 - -### Added - -- move binning functions to `utils` -- add `PiecewiseScalar`, `PiecewiseComplexScalar`, and `PiecewisePolarComplexScalar` amplitudes -- add PyVariable to simplify python functions which need to take generic `Variable`s -- improve error handling by getting rid of `unwrap`s wherever possible - -### Fixed - -- forgot to remove the error types for data reading -- replace `f64` with `Float` in `generate_bin_edges` -- remove `PyResult` on methods which no longer produce errors -- remove requirement that pickled files end in ".pickle" or ".pkl" - -### Other - -- revert changes to data loading, it's twice as slow -- fix coverage.yml to hopefully include python test coverage -- fix some python doc links -- change test angle for polar complex scalar -- upload coverage for Python code alongside Rust -- update Python documentation to include information about raised exceptions -- update `arrow` and `parquet` to latest version - -## [0.1.16](https://github.com/denehoffman/laddu/compare/v0.1.15...v0.1.16) - 2025-01-05 - -### Added - -- add gradient evaluation to `NLL` and `LikelihoodExpression` in Python API -- add 'threads' argument to pretty much everything in Python API - -### Fixed - -- add better feature guards so all features can technically be used independently - -### Other - -- add docs to `MCMCOptions` in non-rayon mode and clean up some extra text - -## [0.1.15](https://github.com/denehoffman/laddu/compare/v0.1.14...v0.1.15) - 2024-12-21 - -### Added - -- add MCMC samplers from `ganesh` to `laddu` -- use absolute value of mass and width in Breit-Wigner amplitude -- bump versions on `ganesh`, `pyo3`, and (rust) `numpy` and make appropriate updates for each - -### Fixed - -- make some small corrections to the python example_1 and test out the built-in autocorrelation observer -- minor modification to allow for MSRV of 1.70 - -### Other - -- update the `Future Plans` section of docs (long overdue) -- update README to include a section about MCMC -- ignore pickle files -- use `cargo-hack` to run checks and tests over all features -- update tests to allow them to work with `f32` feature - -## [0.1.14](https://github.com/denehoffman/laddu/compare/v0.1.13...v0.1.14) - 2024-12-06 - -### Added - -- add intermediate `Model` and serialization updates -- add perf commands to justfile - -## [0.1.13](https://github.com/denehoffman/laddu/compare/v0.1.12...v0.1.13) - 2024-12-05 - -### Added - -- add evaluate_gradient functions where evaluate is available in python API -- add vector indexing and `Event.get_p4_sum` to python API -- add `__sub__`, `__rsub__`, and `__neg__` implementations to Python `Vector3` and `Vector4` - -### Fixed - -- correct python method to get energy from 4-vector - -### Other - -- *(python)* write K-Matrix tests -- *(python)* write Zlm tests -- *(python)* write Ylm tests -- *(python)* write Breit-Wigner tests -- remove unused imports -- *(breit_wigner)* properly test BreitWigner gradient -- *(python)* write common amplitude tests -- *(python)* write amplitude submodule tests -- update common tests -- write python tests for variables -- raise minimum python version to 3.8 to allow for numpy v2 constraint -- we were so close -- I'll just write it myself, what could go wrong -- the alpine package is named `build-base`, not `build-essential` -- remove print statement in test -- add tests for Python data submodule -- switch back to clang and add build-essential -- switch from clang to gcc -- add python3-dev and pkgconf to weird linux builds -- add git and clang to the weird OS target builds -- misnamed wheels -- try globing it -- try using direct wheel path to install -- trying this again, maybe if I specify a local path it won't try to pull `laddu` from PyPI -- use --no-index to try to force pip to install the local wheel -- update maturin.yml to run pytest -- *(python)* add tests for python vector API -- update ruff settings globally - -## [0.1.12](https://github.com/denehoffman/laddu/compare/v0.1.11...v0.1.12) - 2024-12-04 - -### Added - -- add basic implementation to read directly from ROOT files -- *(bench)* updated benchmark to run over available parallelism - -### Fixed - -- correct parallelism to allow for proper codspeed benchmarking -- minor fixes for building without rayon/pyo3 - -### Other - -- Merge pull request [#23](https://github.com/denehoffman/laddu/pull/23) from denehoffman/reading-root -- get rid of `from_momentum` method and replace with methods coming from 3-vectors -- change order of four-vector components and modify operation of `boost` -- bump dependencies - -## [0.1.11](https://github.com/denehoffman/laddu/compare/v0.1.10...v0.1.11) - 2024-11-29 - -### Fixed - -- major bug/typo in boost method and tests to check for it - -## [0.1.10](https://github.com/denehoffman/laddu/compare/v0.1.9...v0.1.10) - 2024-11-20 - -### Added - -- switch API for acceptance correction to not process genmc till projection -- change the way NLLs are constructed to allow the user to specify a generated dataset - -### Fixed - -- change `NLL` to always use len(accmc) for `n_mc` - -### Other - -- use pyproject.toml for doc dependencies -- add copy button to code -- update tutorial page -- add under construction notes -- finish unbinned tutorial -- fix doctests and update example_1 results -- switch argument ordering in `Manager.load` -- reorganize main page and include tutorials -- *(docs)* fix doctest with missing parameter - -## [0.1.9](https://github.com/denehoffman/laddu/compare/v0.1.8...v0.1.9) - 2024-11-19 - -### Added - -- add no-op implementations for adding 0 to add-able types -- update type hints with __ropts__ and add magic methods to easily pickle `Status` - -### Other - -- remove unused references -- *(python)* document `as_dict` - -## [0.1.8](https://github.com/denehoffman/laddu/compare/v0.1.7...v0.1.8) - 2024-11-09 - -### Added - -- *(data)* make `Event::get_p4_sum` generic over its argument -- *(variables)* add Mandelstam variables -- *(enums)* add `Channel` enum -- *(enums)* add serde to enums -- *(amplitudes)* add `From` impl for `AmplitudeID` to `Expression` conversion -- *(data)* create `test_dataset` method for testing purposes as well as add `Default` impl to `Event` -- *(enums)* add equality comparison to enums and convert to lowercase before string conversion - -### Fixed - -- *(enums)* Gottfried-Jackson string conversions were accidentally being redirected to Helicity - -### Other - -- *(python)* fix equations in Mandelstam docs -- fix some documentation issues -- ignore in codecov, eventually need to test this on the Python side instead -- *(amplitudes)* add unit tests for `ylm`, `zlm`, `breit_wigner`, and `kmatrix` modules -- *(common)* add unit tests for `common` amplitudes -- *(variables)* add unit tests for `variables` module -- *(amplitudes)* add unit tests for `amplitudes` mod -- *(variables)* use new instead of full struct definition for combined `Variable`s -- *(enums)* add unit tests for converting strings to enums -- *(resources)* add unit tests for module -- *(data)* add unit tests for module -- correct docs to reflect some recent changes in how NLLs are calculated - -## [0.1.7](https://github.com/denehoffman/laddu/compare/v0.1.6...v0.1.7) - 2024-11-08 - -### Added - -- add `NLL::project_with` to do projecting and isolation in one step -- add `__radd__` implementations wherever `__add__` is implemented - -### Other - -- bump dependency versions -- manipulate features to allow for MSRV of 1.70.0 -- use latest rust version -- update readthedocs config in the hopes that it will properly build laddu -- increase TOC depth -- fix broken link - -## [0.1.6](https://github.com/denehoffman/laddu/compare/v0.1.5...v0.1.6) - 2024-11-07 - -### Added - -- add methods to serialize/deserialize fit results -- add gamma factor calculation to 4-momentum -- test documentation -- add stable ABI with minimum python version of 3.7 -- add python stub file for vectors - -### Fixed - -- make sure code works if no pol angle/magnitude are provided -- use the unweighted total number of events and divide data likelihood terms by `n_data` -- correct phase in Zlm -- correct `PolAngle` by normalizing the beam vector -- add amplitude module-level documentation -- correct path to sphinx config -- use incremental builds for maturin development - -### Other - -- add RTDs documentation badge to README and link to repo in docs -- separate command for rebuilding docs and making docfiles -- finish first pass documenting Python API -- fix typo in K-Matrix Rust docs -- resolve lint warning of `len` without `is_empty` -- more documentation for Python API -- fix data format which said that `eps` vectors have a "p" in their column names -- document`vectors` Python API -- add documentation for `Vector3` in Python API -- docstrings are not exported with `maturin develop` -- add documentation commands to justfile -- add automatic documentation and readthedocs support -- update README with codspeed badge - -## [0.1.5](https://github.com/denehoffman/laddu/compare/v0.1.4...v0.1.5) - 2024-10-31 - -### Added - -- remove methods to open data into bins or filtered and replace with method on `Dataset` -- wrap `Event`s inside `Dataset`s in `Arc` to reduce bootstrap copying -- add benchmark for opening datasets -- add method to resample datasets (bootstrapping) - -### Other - -- switch to Codspeed for benchmarking -- update plot and add output txt file for example_1 and reorganize directory structure -- refactor data loading code into a shared function - -## [0.1.4](https://github.com/denehoffman/laddu/compare/v0.1.3...v0.1.4) - 2024-10-30 - -### Added - -- add `gen_amp` config file for Python `example_1` -- add python example -- add `Debug` derive for `Parameters` -- add method to input beam polarization info and assume unity weights if none are provided -- adds a `LikelihoodScalar` term that can be used to scale `LikelihoodTerm`s by a scalar-valued parameter -- expose the underlying dataset and Monte-Carlo dataset in the Python API for `NLL` and add method to turn an `NLL` into a `LikelihoodTerm` -- some edits to `convert` module and exposure of the `convert_from_amptools` method in the main python package -- add gradient calculations at `Amplitude` level -- add `amptools-to-laddu` conversion script to python package -- add python API for likelihood terms and document Rust API -- proof-of-concept for Likelihood terms -- put `Resources` in `Evaluator` behind an `Arc>` -- Add `LikelihoodTerm` trait and implement it for `NLL` - -### Fixed - -- update `example_1.py` to allow running from any directory -- change NLL implementation to properly weight the contribution from MC -- properly handle summations in NLL -- correct type hints -- ensure `extension-module` is used with the `python` feature -- make sure rayon-free build works -- these indices were backwards -- this should correctly reorganize the gradient vectors to all have the same length -- correct some signatures and fix `PyObserver` implementation - -### Other - -- some stylistic changes to the README -- update README.md to include the first python example -- remove lints -- move kwarg extractor to be near parser -- update `ganesh` to latest version (better default epsilons) -- move parsing of minimizer options to a dedicated function to reduce code duplication -- add sample size specification -- move Likelihood-related code to new `likelihoods` module -- change benchmark config -- store `Expression`s inside `Evaluator`s to simplify call signatures - -## [0.1.3](https://github.com/denehoffman/laddu/compare/v0.1.2...v0.1.3) - 2024-10-22 - -### Added - -- add options to the minimization callables and add binned `Dataset` loading to Python API -- add filtered and binned loading for `Dataset`s -- export `Status` and `Bound` structs from `ganesh` as PyO3 objects and update `minimize` method accordingly -- add `Debug` derive for `ParameterID` -- add `LadduError` struct and work in proper error forwarding for reading data and registering `Amplitude`s -- use `AsRef` generics to allow more versatile `Variable` construction -- add `ganesh` integration via L-BFGS-B algorithm -- update to latest `PyO3` version - -### Fixed - -- missed one fully qualified path -- correct some namespace paths -- add `Dataset` and `Event` to `variables` -- add scalar-like `Amplitude`s to python namespace -- reorder expression and parameters -- remove main.rs from tracking - -### Other - -- update minimization example in README.md -- fix doctest -- update ganesh version -- switch order of expression and parameters in evaluate and project methods - -## [0.1.2](https://github.com/denehoffman/laddu/compare/v0.1.1...v0.1.2) - 2024-10-17 - -### Other - -- remove tag check - -## [0.1.1](https://github.com/denehoffman/laddu/compare/v0.1.0...v0.1.1) - 2024-10-17 - -### Other - -- remove coverage for f32 feature (for now) -- remove build for 32-bit Windows due to issue with rust-numpy diff --git a/crates/laddu-extensions/CHANGELOG.md b/crates/laddu-extensions/CHANGELOG.md deleted file mode 100644 index cc60387a..00000000 --- a/crates/laddu-extensions/CHANGELOG.md +++ /dev/null @@ -1,205 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [Unreleased] - -## [0.14.1](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.14.0...laddu-extensions-v0.14.1) - 2026-01-07 - -### Fixed - -- ensure LikelihoodEvaluators report parameter names in fit/mcmc summaries - -## [0.14.0](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.13.0...laddu-extensions-v0.14.0) - 2026-01-06 - -### Added - -- separate parameter logic into a new struct and unify fixing/freeing/renaming - -## [0.12.1](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.12.0...laddu-extensions-v0.12.1) - 2026-01-05 - -### Other - -- Development ([#94](https://github.com/denehoffman/laddu/pull/94)) - -## [0.12.0](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.11.0...laddu-extensions-v0.12.0) - 2025-12-17 - -### Other - -- New file format ([#90](https://github.com/denehoffman/laddu/pull/90)) - -## [0.10.0](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.9.1...laddu-extensions-v0.10.0) - 2025-10-10 - -### Other - -- Stochastic NLLs and `ganesh` update ([#87](https://github.com/denehoffman/laddu/pull/87)) - -## [0.9.1](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.9.0...laddu-extensions-v0.9.1) - 2025-08-08 - -### Other - -- updated the following local packages: laddu-core, laddu-python - -## [0.8.1](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.8.0...laddu-extensions-v0.8.1) - 2025-06-20 - -### Other - -- updated the following local packages: laddu-core, laddu-python - -## [0.7.2](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.7.1...laddu-extensions-v0.7.2) - 2025-06-17 - -### Other - -- updated the following local packages: laddu-core, laddu-python - -## [0.7.1](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.7.0...laddu-extensions-v0.7.1) - 2025-05-30 - -### Other - -- updated the following local packages: laddu-core, laddu-python - -## [0.6.3](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.6.2...laddu-extensions-v0.6.3) - 2025-05-20 - -### Other - -- updated the following local packages: laddu-core, laddu-python - -## [0.6.2](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.6.1...laddu-extensions-v0.6.2) - 2025-05-16 - -### Other - -- updated the following local packages: laddu-core, laddu-python - -## [0.6.1](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.6.0...laddu-extensions-v0.6.1) - 2025-04-25 - -### Other - -- updated the following local packages: laddu-python - -## [0.6.0](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.5.2...laddu-extensions-v0.6.0) - 2025-04-11 - -### Added - -- change swarm repr if the swarm is uninitialized to not confuse people -- bump MSRV (for bincode) and bump all dependency versions -- add Swarm methods to Python API and update other algorithm initialization methods -- restructure the minimizer/mcmc methods to no longer take kwargs -- add python versions of Point, Particle, SwarmObserver, and Swarm from ganesh -- update `ganesh` version and add Global move to ESS - -### Fixed - -- remove from the rayon-free calls for and -- corrected typo where the `VerboseMCMCObserver` implemented `SwarmObserver<()>` rather than the `VerboseSwarmObserver` -- move some imports under the python feature flag - -### Other - -- complete compatibility with newest version of bincode, remove unused dependencies and features across all crates -- add a todo - -## [0.5.2](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.5.1...laddu-extensions-v0.5.2) - 2025-04-04 - -### Added - -- add experimental Regularizer likelihood term -- update ganesh, numpy, and pyo3 - -### Fixed - -- missed a changed path in some ganesh code hidden behind a feature gate -- more fixes for newest ganesh version - -### Other - -- Merge pull request #65 from denehoffman/quality-of-life -- fix some citations and equations, and add phase_space to the API listing - -## [0.5.1](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.5.0...laddu-extensions-v0.5.1) - 2025-03-16 - -### Fixed - -- change unwrap to print error and panic -- unwrap call_method so that it reports the stack trace if the method fails - -## [0.5.0](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.4.1...laddu-extensions-v0.5.0) - 2025-03-13 - -### Added - -- add the ability to name likelihood terms and convenience methods for null and unit likelihood terms, sums, and products - -### Fixed - -- update GradientValues in non-default feature branches (missed one) -- update GradientValues in non-default feature branches -- correct gradients of zero and one by adding the number of parameters into `GradientValues` -- improve summation and product methods to only return a Zero or One if the list is empty -- change `LikelihoodTerm` naming to happen at registration time -- add python feature gate to likelihood-related methods - -### Other - -- *(likelihoods)* fix typo in `NLL` documentation - -## [0.4.1](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.4.0...laddu-extensions-v0.4.1) - 2025-03-04 - -### Other - -- updated the following local packages: laddu-python - -## [0.4.0](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.3.0...laddu-extensions-v0.3.1) - 2025-02-28 - -### Other - -- fix citation formatting - -## [0.3.0](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.2.6...laddu-extensions-v0.3.0) - 2025-02-21 - -### Added - -- update MPI code to use root-node-agnostic methods -- first pass implementation of MPI interface - -### Other - -- _(ganesh_ext)_ documenting a few missed functions -- update all documentation to include MPI modules -- add some clippy lints and clean up some unused imports and redundant code -- use elided lifetimes - -## [0.2.6](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.2.5...laddu-extensions-v0.2.6) - 2025-01-28 - -### Added - -- bump `ganesh` to add "skip_hessian" minimization option to skip calculation of Hessian matrix - -### Fixed - -- use proper ownership in setting algorithm error mode -- use correct enum in L-BFGS-B error method - -## [0.2.5](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.2.4...laddu-extensions-v0.2.5) - 2025-01-27 - -### Other - -- updated the following local packages: laddu-core, laddu-python - -## [0.2.4](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.2.3...laddu-extensions-v0.2.4) - 2025-01-26 - -### Added - -- implement custom gradient for `BinnedGuideTerm` -- add `project_gradient` and `project_gradient_with` methods to `NLL` - -### Other - -- fix some docstring links in `laddu-extensions` - -## [0.2.3](https://github.com/denehoffman/laddu/compare/laddu-extensions-v0.2.2...laddu-extensions-v0.2.3) - 2025-01-24 - -### Added - -- add `BinnedGuideTerm` under new `experimental` module diff --git a/crates/laddu-python/CHANGELOG.md b/crates/laddu-python/CHANGELOG.md deleted file mode 100644 index 0d8cc731..00000000 --- a/crates/laddu-python/CHANGELOG.md +++ /dev/null @@ -1,158 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [Unreleased] - -## [0.13.1](https://github.com/denehoffman/laddu/compare/laddu-python-v0.13.0...laddu-python-v0.13.1) - 2026-01-06 - -### Other - -- updated the following local packages: laddu-core - -## [0.12.1](https://github.com/denehoffman/laddu/compare/laddu-python-v0.12.0...laddu-python-v0.12.1) - 2026-01-05 - -### Other - -- Development ([#94](https://github.com/denehoffman/laddu/pull/94)) - -## [0.12.0](https://github.com/denehoffman/laddu/compare/laddu-python-v0.11.0...laddu-python-v0.12.0) - 2025-12-17 - -### Other - -- New file format ([#90](https://github.com/denehoffman/laddu/pull/90)) - -## [0.9.2](https://github.com/denehoffman/laddu/compare/laddu-python-v0.9.1...laddu-python-v0.9.2) - 2025-10-10 - -### Other - -- Stochastic NLLs and `ganesh` update ([#87](https://github.com/denehoffman/laddu/pull/87)) - -## [0.9.1](https://github.com/denehoffman/laddu/compare/laddu-python-v0.9.0...laddu-python-v0.9.1) - 2025-08-08 - -### Added - -- add VariableExpressions to handle Dataset filtering - -## [0.8.1](https://github.com/denehoffman/laddu/compare/laddu-python-v0.8.0...laddu-python-v0.8.1) - 2025-06-20 - -### Added - -- add `conj` operator to `Amplitude`s and `Expression`s -- add subtraction, division, and negation operations for all Amplitudes and Expressions - -## [0.8.0](https://github.com/denehoffman/laddu/compare/laddu-python-v0.7.1...laddu-python-v0.8.0) - 2025-06-17 - -### Added - -- add `evaluate(Variable)` method to `Dataset` and `Event` - -### Other - -- [**breaking**] change `Variable` trait methods to operate on `&Dataset` rather than `&Arc` - -## [0.7.1](https://github.com/denehoffman/laddu/compare/laddu-python-v0.7.0...laddu-python-v0.7.1) - 2025-05-30 - -### Other - -- updated the following local packages: laddu-core - -## [0.7.0](https://github.com/denehoffman/laddu/compare/laddu-python-v0.6.2...laddu-python-v0.7.0) - 2025-05-20 - -### Added - -- improvements to `Dataset` conversions and opening methods - -### Fixed - -- update Python vector names (closes #57) - -## [0.6.2](https://github.com/denehoffman/laddu/compare/laddu-python-v0.6.1...laddu-python-v0.6.2) - 2025-05-16 - -### Added - -- add method for boosting an event or a dataset to a given rest frame - -## [0.6.1](https://github.com/denehoffman/laddu/compare/laddu-python-v0.6.0...laddu-python-v0.6.1) - 2025-04-25 - -### Added - -- add available_parallelism function to python API - -## [0.6.0](https://github.com/denehoffman/laddu/compare/laddu-python-v0.5.1...laddu-python-v0.6.0) - 2025-04-11 - -### Other - -- complete compatibility with newest version of bincode, remove unused dependencies and features across all crates - -## [0.5.1](https://github.com/denehoffman/laddu/compare/laddu-python-v0.5.0...laddu-python-v0.5.1) - 2025-04-04 - -### Other - -- update Cargo.toml dependencies - -## [0.4.2](https://github.com/denehoffman/laddu/compare/laddu-python-v0.4.1...laddu-python-v0.4.2) - 2025-03-13 - -### Added - -- add unit-valued `Expression` and define convenience methods for summing and multiplying lists of `Amplitude`s -- add `Debug` and `Display` to every `Variable` (and require them for new ones) - -### Fixed - -- improve summation and product methods to only return a Zero or One if the list is empty - -## [0.4.1](https://github.com/denehoffman/laddu/compare/laddu-python-v0.4.0...laddu-python-v0.4.1) - 2025-03-04 - -### Fixed - -- get rid of unused variable warning - -3# [0.4.0](https://github.com/denehoffman/laddu/compare/laddu-python-v0.3.0...laddu-python-v0.3.1) - 2025-02-28 - -### Added - -- redefine eps->aux in `Event` definition - -### Other - -- move all MPI code to `laddu-python` to make sure MPI docs build properly - -## [0.3.0](https://github.com/denehoffman/laddu/compare/laddu-python-v0.2.5...laddu-python-v0.3.0) - 2025-02-21 - -### Added - -- update MPI code to use root-node-agnostic methods -- first pass implementation of MPI interface - -### Fixed - -- forgot to update the `laddu-python` `use_mpi` function to have a trigger arg -- add feature flag to `laddu-python` and update MSRV for `mpisys` compatibility - -### Other - -- update all documentation to include MPI modules -- add some clippy lints and clean up some unused imports and redundant code -- _(vectors)_ use custom type for 3/4-vectors rather than trait impl for nalgebra Vectors - -## [0.2.5](https://github.com/denehoffman/laddu/compare/laddu-python-v0.2.4...laddu-python-v0.2.5) - 2025-01-28 - -### Other - -- update Cargo.toml dependencies - -## [0.2.4](https://github.com/denehoffman/laddu/compare/laddu-python-v0.2.3...laddu-python-v0.2.4) - 2025-01-27 - -### Added - -- allow for the use of `sum(list[Dataset])` in Python code - -## [0.2.3](https://github.com/denehoffman/laddu/compare/laddu-python-v0.2.2...laddu-python-v0.2.3) - 2025-01-24 - -### Other - -- updated the following local packages: laddu-core diff --git a/crates/laddu/CHANGELOG.md b/crates/laddu/CHANGELOG.md deleted file mode 100644 index 7e3f12e9..00000000 --- a/crates/laddu/CHANGELOG.md +++ /dev/null @@ -1,286 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [0.14.2](https://github.com/denehoffman/laddu/compare/laddu-v0.14.1...laddu-v0.14.2) (2026-02-10) - - -### Miscellaneous Chores - -* **laddu:** Synchronize laddu versions - -## [Unreleased] - -## [0.14.1](https://github.com/denehoffman/laddu/compare/laddu-v0.14.0...laddu-v0.14.1) - 2026-01-07 - -### Fixed - -- ensure LikelihoodEvaluators report parameter names in fit/mcmc summaries - -## [0.13.1](https://github.com/denehoffman/laddu/compare/laddu-v0.13.0...laddu-v0.13.1) - 2026-01-06 - -### Added - -- separate parameter logic into a new struct and unify fixing/freeing/renaming - -## [0.12.1](https://github.com/denehoffman/laddu/compare/laddu-v0.12.0...laddu-v0.12.1) - 2026-01-05 - -### Other - -- Development ([#94](https://github.com/denehoffman/laddu/pull/94)) - -## [0.12.0](https://github.com/denehoffman/laddu/compare/laddu-v0.11.0...laddu-v0.12.0) - 2025-12-17 - -### Other - -- New file format ([#90](https://github.com/denehoffman/laddu/pull/90)) - -## [0.9.4](https://github.com/denehoffman/laddu/compare/laddu-v0.9.3...laddu-v0.9.4) - 2025-10-10 - -### Other - -- Stochastic NLLs and `ganesh` update ([#87](https://github.com/denehoffman/laddu/pull/87)) - -## [0.9.3](https://github.com/denehoffman/laddu/compare/laddu-v0.9.2...laddu-v0.9.3) - 2025-08-08 - -### Added - -- add VariableExpressions to handle Dataset filtering - -### Other - -- fix rounding error in filter test - -## [0.9.2](https://github.com/denehoffman/laddu/compare/laddu-v0.9.1...laddu-v0.9.2) - 2025-07-23 - -### Fixed - -- add more precision to covariance matrices to ensure positive definiteness - -## [0.9.1](https://github.com/denehoffman/laddu/compare/laddu-v0.9.0...laddu-v0.9.1) - 2025-07-23 - -### Other - -- K-Matrix Covariance ([#81](https://github.com/denehoffman/laddu/pull/81)) - -## [0.8.1](https://github.com/denehoffman/laddu/compare/laddu-v0.8.0...laddu-v0.8.1) - 2025-06-20 - -### Added - -- add `conj` operator to `Amplitude`s and `Expression`s -- add subtraction, division, and negation operations for all Amplitudes and Expressions -- add `PolPhase` amplitude - -### Other - -- update moment analysis tutorial and example - -## [0.8.0](https://github.com/denehoffman/laddu/compare/laddu-v0.7.1...laddu-v0.8.0) - 2025-06-17 - -### Added - -- add `evaluate(Variable)` method to `Dataset` and `Event` - -### Other - -- update test to get rid of `Arc` structure -- [**breaking**] change `Variable` trait methods to operate on `&Dataset` rather than `&Arc` - -## [0.7.1](https://github.com/denehoffman/laddu/compare/laddu-v0.7.0...laddu-v0.7.1) - 2025-05-30 - -### Added - -- add `Dataset::weighted_bootstrap` - -### Fixed - -- correct for out-of-bounds errors in MPI bootstrap - -### Other - -- remove weighted_bootstrap - -## [0.6.3](https://github.com/denehoffman/laddu/compare/laddu-v0.6.2...laddu-v0.6.3) - 2025-05-20 - -### Added - -- add method for opening a dataset boosted to the rest frame of the given p4 indices - -### Other - -- *(data)* fix boost tests - -## [0.6.2](https://github.com/denehoffman/laddu/compare/laddu-v0.6.1...laddu-v0.6.2) - 2025-05-16 - -### Added - -- add method for boosting an event or a dataset to a given rest frame - -## [0.6.1](https://github.com/denehoffman/laddu/compare/laddu-v0.6.0...laddu-v0.6.1) - 2025-04-25 - -### Other - -- updated the following local packages: laddu-amplitudes, laddu-extensions - -## [0.5.3](https://github.com/denehoffman/laddu/compare/laddu-v0.5.2...laddu-v0.5.3) - 2025-04-11 - -### Added - -- add Swarm methods to Python API and update other algorithm initialization methods -- add python versions of Point, Particle, SwarmObserver, and Swarm from ganesh -- change swarm repr if the swarm is uninitialized to not confuse people -- bump MSRV (for bincode) and bump all dependency versions -- restructure the minimizer/mcmc methods to no longer take kwargs -- update `ganesh` version and add Global move to ESS - -### Fixed - -- add feature flag to benchmark to allow it to be run with "f32" feature -- remove from the rayon-free calls for and -- corrected typo where the `VerboseMCMCObserver` implemented `SwarmObserver<()>` rather than the `VerboseSwarmObserver` -- move some imports under the python feature flag - -### Other - -- complete compatibility with newest version of bincode, remove unused dependencies and features across all crates -- add a todo - -## [0.5.2](https://github.com/denehoffman/laddu/compare/laddu-v0.5.1...laddu-v0.5.2) - 2025-04-04 - -### Added - -- add experimental Regularizer likelihood term -- update ganesh, numpy, and pyo3 - -### Fixed - -- more fixes for newest ganesh version -- missed a changed path in some ganesh code hidden behind a feature gate - -### Other - -- fix some citations and equations, and add phase_space to the API listing -- Merge pull request #65 from denehoffman/quality-of-life - -## [0.5.1](https://github.com/denehoffman/laddu/compare/laddu-v0.5.0...laddu-v0.5.1) - 2025-03-16 - -### Fixed - -- change unwrap to print error and panic -- unwrap call_method so that it reports the stack trace if the method fails - -## [0.4.2](https://github.com/denehoffman/laddu/compare/laddu-v0.4.1...laddu-v0.4.2) - 2025-03-13 - -### Added - -- display the AmplitudeID's name and ID together -- add unit-valued `Expression` and define convenience methods for summing and multiplying lists of `Amplitude`s -- add `Debug` and `Display` to every `Variable` (and require them for new ones) -- add the ability to name likelihood terms and convenience methods for null and unit likelihood terms, sums, and products - -### Fixed - -- update GradientValues in non-default feature branches -- correct gradients of zero and one by adding the number of parameters into `GradientValues` -- update GradientValues in non-default feature branches (missed one) -- improve summation and product methods to only return a Zero or One if the list is empty -- change `LikelihoodTerm` naming to happen at registration time -- add python feature gate to likelihood-related methods - -### Other - -- *(amplitudes)* expand gradient test to cover more complex cases and add tests for zeros, ones, sums and products -- *(amplitudes)* add test for printing expressions -- *(variables)* add tests for `Variable` Display impls -- *(data)* fix tests by implementing Debug/Display for testing variable -- ignore excessive precision warnings -- *(likelihoods)* fix typo in `NLL` documentation - -## [0.4.1](https://github.com/denehoffman/laddu/compare/laddu-v0.4.0...laddu-v0.4.1) - 2025-03-04 - -### Added - -- add `PhaseSpaceFactor` amplitude - -## [0.4.0](https://github.com/denehoffman/laddu/compare/laddu-v0.3.0...laddu-v0.3.1) - 2025-02-28 - -### Added - -- redefine eps->aux in `Event` definition - -### Other - -- finalize conversion of eps->aux in data formatting -- fix citation formatting - -## [0.3.0](https://github.com/denehoffman/laddu/compare/laddu-v0.2.6...laddu-v0.3.0) - 2025-02-21 - -### Added - -- update MPI code to use root-node-agnostic methods -- first pass implementation of MPI interface -- switch the MPI implementation to use safe Rust via a RwLock - -### Fixed - -- add sentry dependency for which to force the version, not sure what the best fix really is, but this should work for now -- calling get_world before use_mpi causes errors -- correct the open method and counts/displs methods - -### Other - -- update all documentation to include MPI modules -- add some clippy lints and clean up some unused imports and redundant code -- _(vectors)_ use custom type for 3/4-vectors rather than trait impl for nalgebra Vectors -- update benchmark to only run on powers of 2 threads -- _(vectors)_ complete tests for vectors module -- _(vectors)_ add more vector test coverage -- _(ganesh_ext)_ documenting a few missed functions -- use elided lifetimes - -## [0.2.6](https://github.com/denehoffman/laddu/compare/laddu-v0.2.5...laddu-v0.2.6) - 2025-01-28 - -### Added - -- bump `ganesh` to add "skip_hessian" minimization option to skip calculation of Hessian matrix - -### Fixed - -- use proper ownership in setting algorithm error mode -- use correct enum in L-BFGS-B error method - -### Other - -- update Cargo.toml dependencies - -## [0.2.5](https://github.com/denehoffman/laddu/compare/laddu-v0.2.4...laddu-v0.2.5) - 2025-01-27 - -### Fixed - -- move `rayon` feature bounds inside methods to clean up the code and avoid duplication - -### Other - -- update dependencies and remove `rand` and `rand_chacha` -- _(data)_ fix bootstrap tests by changing seed - -## [0.2.4](https://github.com/denehoffman/laddu/compare/laddu-v0.2.3...laddu-v0.2.4) - 2025-01-26 - -### Added - -- implement custom gradient for `BinnedGuideTerm` -- add `project_gradient` and `project_gradient_with` methods to `NLL` - -### Other - -- fix some docstring links in `laddu-extensions` - -## [0.2.3](https://github.com/denehoffman/laddu/compare/laddu-v0.2.2...laddu-v0.2.3) - 2025-01-24 - -### Added - -- add `BinnedGuideTerm` under new `experimental` module -- allow users to add `Dataset`s together to form a new `Dataset` diff --git a/py-laddu-cpu/CHANGELOG.md b/py-laddu-cpu/CHANGELOG.md deleted file mode 100644 index 5f76ca0d..00000000 --- a/py-laddu-cpu/CHANGELOG.md +++ /dev/null @@ -1,456 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [0.14.2](https://github.com/denehoffman/laddu/compare/py-laddu-cpu-v0.14.1...py-laddu-cpu-v0.14.2) (2026-02-10) - - -### Miscellaneous Chores - -* **py-laddu-cpu:** Synchronize laddu versions - -## [Unreleased] - -## [0.14.1](https://github.com/denehoffman/laddu/compare/py-laddu-cpu-v0.14.0...py-laddu-cpu-v0.14.1) - 2026-01-07 - -### Fixed - -- ensure LikelihoodEvaluators report parameter names in fit/mcmc summaries - -## [0.13.1](https://github.com/denehoffman/laddu/compare/py-laddu-cpu-v0.13.0...py-laddu-cpu-v0.13.1) - 2026-01-06 - -### Added - -- separate parameter logic into a new struct and unify fixing/freeing/renaming - -## [0.12.2](https://github.com/denehoffman/laddu/compare/py-laddu-cpu-v0.12.1...py-laddu-cpu-v0.12.2) - 2026-01-05 - -### Other - -- Development ([#94](https://github.com/denehoffman/laddu/pull/94)) - -## [0.12.0](https://github.com/denehoffman/laddu/releases/tag/py-laddu-cpu-v0.12.0) - 2025-12-17 - -### Added - -- add intermediate `Model` and serialization updates -- change the way NLLs are constructed to allow the user to specify a generated dataset -- add `LadduError` struct and work in proper error forwarding for reading data and registering `Amplitude`s -- use `AsRef` generics to allow more versatile `Variable` construction -- first commit - -### Fixed - -- fixed python examples and readme paths -- modify tests and workflows to new structure - -### Other - -- release ([#91](https://github.com/denehoffman/laddu/pull/91)) -- New file format ([#90](https://github.com/denehoffman/laddu/pull/90)) -- update moment analysis tutorial and example -- finalize conversion of eps->aux in data formatting -- update all documentation to include MPI modules -- update the `Future Plans` section of docs (long overdue) -- update README to include a section about MCMC -- correct docs to reflect some recent changes in how NLLs are calculated -- fix broken link -- add RTDs documentation badge to README and link to repo in docs -- fix data format which said that `eps` vectors have a "p" in their column names -- update README with codspeed badge -- update plot and add output txt file for example_1 and reorganize directory structure -- some stylistic changes to the README -- update README.md to include the first python example -- update minimization example in README.md -- change logo to wordmark - -## [0.11.0](https://github.com/denehoffman/laddu/releases/tag/py-laddu-cpu-v0.11.0) - 2025-12-17 - -### Added - -- add intermediate `Model` and serialization updates -- change the way NLLs are constructed to allow the user to specify a generated dataset -- add `LadduError` struct and work in proper error forwarding for reading data and registering `Amplitude`s -- use `AsRef` generics to allow more versatile `Variable` construction -- first commit - -### Fixed - -- fixed python examples and readme paths -- modify tests and workflows to new structure - -### Other - -- New file format ([#90](https://github.com/denehoffman/laddu/pull/90)) -- update moment analysis tutorial and example -- finalize conversion of eps->aux in data formatting -- update all documentation to include MPI modules -- update the `Future Plans` section of docs (long overdue) -- update README to include a section about MCMC -- correct docs to reflect some recent changes in how NLLs are calculated -- fix broken link -- add RTDs documentation badge to README and link to repo in docs -- fix data format which said that `eps` vectors have a "p" in their column names -- update README with codspeed badge -- update plot and add output txt file for example_1 and reorganize directory structure -- some stylistic changes to the README -- update README.md to include the first python example -- update minimization example in README.md -- change logo to wordmark - -## [0.9.4](https://github.com/denehoffman/laddu/compare/py-laddu-v0.9.3...py-laddu-v0.9.4) - 2025-10-10 - -### Other - -- Stochastic NLLs and `ganesh` update ([#87](https://github.com/denehoffman/laddu/pull/87)) - -## [0.9.3](https://github.com/denehoffman/laddu/compare/py-laddu-v0.9.2...py-laddu-v0.9.3) - 2025-08-08 - -### Added - -- add VariableExpressions to handle Dataset filtering - -### Other - -- fix rounding error in filter test - -## [0.9.2](https://github.com/denehoffman/laddu/compare/py-laddu-v0.9.1...py-laddu-v0.9.2) - 2025-07-23 - -### Fixed - -- add more precision to covariance matrices to ensure positive definiteness - -## [0.9.1](https://github.com/denehoffman/laddu/compare/py-laddu-v0.9.0...py-laddu-v0.9.1) - 2025-07-23 - -### Other - -- K-Matrix Covariance ([#81](https://github.com/denehoffman/laddu/pull/81)) - -## [0.8.1](https://github.com/denehoffman/laddu/compare/py-laddu-v0.8.0...py-laddu-v0.8.1) - 2025-06-20 - -### Added - -- create example_2, a moment analysis -- add `conj` operator to `Amplitude`s and `Expression`s -- add `PolPhase` amplitude -- add subtraction, division, and negation operations for all Amplitudes and Expressions - -### Other - -- update moment analysis tutorial and example -- update dependencies in example_1 -- fix printing test - -## [0.8.0](https://github.com/denehoffman/laddu/compare/py-laddu-v0.7.1...py-laddu-v0.8.0) - 2025-06-17 - -### Added - -- add `evaluate(Variable)` method to `Dataset` and `Event` - -### Other - -- update test to get rid of `Arc` structure -- [**breaking**] change `Variable` trait methods to operate on `&Dataset` rather than `&Arc` - -## [0.7.1](https://github.com/denehoffman/laddu/compare/py-laddu-v0.7.0...py-laddu-v0.7.1) - 2025-05-30 - -### Added - -- add `Dataset::weighted_bootstrap` - -### Fixed - -- correct for out-of-bounds errors in MPI bootstrap - -### Other - -- remove weighted_bootstrap - -## [0.6.4](https://github.com/denehoffman/laddu/compare/py-laddu-v0.6.3...py-laddu-v0.6.4) - 2025-05-20 - -### Added - -- improvements to `Dataset` conversions and opening methods -- add method for opening a dataset boosted to the rest frame of the given p4 indices - -### Fixed - -- update Python vector names (closes #57) - -### Other - -- add documentation to new Dataset constructors -- *(data)* fix boost tests - -## [0.6.2](https://github.com/denehoffman/laddu/compare/py-laddu-v0.6.1...py-laddu-v0.6.2) - 2025-05-16 - -### Added - -- add method for boosting an event or a dataset to a given rest frame - -## [0.6.1](https://github.com/denehoffman/laddu/compare/py-laddu-v0.6.0...py-laddu-v0.6.1) - 2025-04-25 - -### Added - -- add available_parallelism function to python API - -## [0.5.3](https://github.com/denehoffman/laddu/compare/py-laddu-v0.5.2...py-laddu-v0.5.3) - 2025-04-11 - -### Added - -- add Swarm methods to Python API and update other algorithm initialization methods -- add python versions of Point, Particle, SwarmObserver, and Swarm from ganesh -- change swarm repr if the swarm is uninitialized to not confuse people -- bump MSRV (for bincode) and bump all dependency versions -- restructure the minimizer/mcmc methods to no longer take kwargs -- update `ganesh` version and add Global move to ESS - -### Fixed - -- add a few more missed pyclasses to the py-laddu exports -- missed AEISMove->AIESMove and condensed the lib.rs file for py-laddu -- forgot to export MCMC moves -- the last commit fixed the typo the wrong way, it is AIES -- correct typo AIES->AEIS in python type checking files -- remove from the rayon-free calls for and -- corrected typo where the `VerboseMCMCObserver` implemented `SwarmObserver<()>` rather than the `VerboseSwarmObserver` -- move some imports under the python feature flag - -### Other - -- complete compatibility with newest version of bincode, remove unused dependencies and features across all crates -- add a todo - -## [0.5.2](https://github.com/denehoffman/laddu/compare/py-laddu-v0.5.1...py-laddu-v0.5.2) - 2025-04-04 - -### Added - -- add experimental Regularizer likelihood term -- update ganesh, numpy, and pyo3 - -### Fixed - -- more fixes for newest ganesh version -- missed a changed path in some ganesh code hidden behind a feature gate - -### Other - -- fix some citations and equations, and add phase_space to the API listing -- Merge pull request #65 from denehoffman/quality-of-life - -## [0.5.1](https://github.com/denehoffman/laddu/compare/py-laddu-v0.5.0...py-laddu-v0.5.1) - 2025-03-16 - -### Fixed - -- change unwrap to print error and panic -- unwrap call_method so that it reports the stack trace if the method fails - -## [0.4.2](https://github.com/denehoffman/laddu/compare/py-laddu-v0.4.1...py-laddu-v0.4.2) - 2025-03-13 - -### Added - -- add unit-valued `Expression` and define convenience methods for summing and multiplying lists of `Amplitude`s -- add the ability to name likelihood terms and convenience methods for null and unit likelihood terms, sums, and products -- display the AmplitudeID's name and ID together -- add `Debug` and `Display` to every `Variable` (and require them for new ones) - -### Fixed - -- update GradientValues in non-default feature branches -- correct gradients of zero and one by adding the number of parameters into `GradientValues` -- update GradientValues in non-default feature branches (missed one) -- improve summation and product methods to only return a Zero or One if the list is empty -- change `LikelihoodTerm` naming to happen at registration time -- add python feature gate to likelihood-related methods - -### Other - -- *(amplitudes)* expand gradient test to cover more complex cases and add tests for zeros, ones, sums and products -- *(amplitudes)* add test for printing expressions -- *(variables)* add tests for `Variable` Display impls -- *(data)* fix tests by implementing Debug/Display for testing variable -- ignore excessive precision warnings -- *(likelihoods)* fix typo in `NLL` documentation - -## [0.4.1](https://github.com/denehoffman/laddu/compare/py-laddu-v0.4.0...py-laddu-v0.4.1) - 2025-03-04 - -### Added - -- add `PhaseSpaceFactor` amplitude - -## [0.4.0](https://github.com/denehoffman/laddu/compare/py-laddu-v0.3.0...py-laddu-v0.3.1) - 2025-02-28 - -### Added - -- split `laddu` python package into two, with and without MPI support -- redefine eps->aux in `Event` definition - -### Fixed - -- reorganize package structure - -### Other - -- move all MPI code to `laddu-python` to make sure MPI docs build properly -- finalize conversion of eps->aux in data formatting -- fix citation formatting - -## [0.3.0](https://github.com/denehoffman/laddu/compare/py-laddu-v0.2.6...py-laddu-v0.3.0) - 2025-02-21 - -### Added - -- make `mpi` a feature in `py-laddu` to allow people to build the python package without it -- update MPI code to use root-node-agnostic methods -- first pass implementation of MPI interface -- switch the MPI implementation to use safe Rust via a RwLock - -### Fixed - -- add non-MPI failing functions for MPI calls on non-MPI python builds -- add mpi feature for laddu-python to py-laddu -- calling get_world before use_mpi causes errors -- correct the open method and counts/displs methods - -### Other - -- update all documentation to include MPI modules -- add mpich to builds -- _(vectors)_ complete tests for vectors module -- _(vectors)_ add more vector test coverage -- _(vectors)_ use custom type for 3/4-vectors rather than trait impl for nalgebra Vectors -- add some clippy lints and clean up some unused imports and redundant code -- _(ganesh_ext)_ documenting a few missed functions -- use elided lifetimes - -## [0.2.6](https://github.com/denehoffman/laddu/compare/py-laddu-v0.2.5...py-laddu-v0.2.6) - 2025-01-28 - -### Added - -- bump `ganesh` to add "skip_hessian" minimization option to skip calculation of Hessian matrix - -### Fixed - -- use proper ownership in setting algorithm error mode -- use correct enum in L-BFGS-B error method - -### Other - -- update Cargo.toml dependencies - -## [0.2.5](https://github.com/denehoffman/laddu/compare/py-laddu-v0.2.4...py-laddu-v0.2.5) - 2025-01-27 - -### Fixed - -- move `rayon` feature bounds inside methods to clean up the code and avoid duplication - -### Other - -- _(data)_ fix bootstrap tests by changing seed -- update dependencies and remove `rand` and `rand_chacha` - -## [0.2.4](https://github.com/denehoffman/laddu/releases/tag/py-laddu-v0.2.4) - 2025-01-26 - -### Added - -- add `BinnedGuideTerm` under new `experimental` module -- allow users to add `Dataset`s together to form a new `Dataset` - -### Fixed - -- fixed python examples and readme paths -- modify tests and workflows to new structure - -### Other - -- bump py-laddu version -- _(py-laddu)_ release v0.2.3 -- manually update py-laddu version -- omit tests and docs in python coverage -- correct path of extensions module -- _(py-laddu)_ release v0.2.0 -- release all crates manually -- release-plz does not like the way I've set up the workspace. I've looked at conda/rattler for some inspiration, but I might need to manually publish each crate once to get the ball rolling -- add rust version to py-laddu -- complete python integration to new py-laddu crate -- major rewrite - -## [0.2.3](https://github.com/denehoffman/laddu/releases/tag/py-laddu-v0.2.3) - 2025-01-24 - -### Added - -- add `BinnedGuideTerm` under new `experimental` module -- allow users to add `Dataset`s together to form a new `Dataset` - -### Fixed - -- fixed python examples and readme paths -- modify tests and workflows to new structure - -### Other - -- manually update py-laddu version -- omit tests and docs in python coverage -- correct path of extensions module -- _(py-laddu)_ release v0.2.0 -- release all crates manually -- release-plz does not like the way I've set up the workspace. I've looked at conda/rattler for some inspiration, but I might need to manually publish each crate once to get the ball rolling -- add rust version to py-laddu -- complete python integration to new py-laddu crate -- major rewrite - -## [0.2.2](https://github.com/denehoffman/laddu/releases/tag/py-laddu-v0.2.2) - 2025-01-24 - -### Fixed - -- corrected signature in methods that read from AmpTools trees -- fixed python examples and readme paths -- modify tests and workflows to new structure - -### Other - -- bump version -- _(py-laddu)_ release v0.2.1 -- force version bump -- fix python docs to use "extensions" rather than "likelihoods" -- _(py-laddu)_ release v0.2.0 -- release all crates manually -- release-plz does not like the way I've set up the workspace. I've looked at conda/rattler for some inspiration, but I might need to manually publish each crate once to get the ball rolling -- add rust version to py-laddu -- complete python integration to new py-laddu crate -- major rewrite - -## [0.2.1](https://github.com/denehoffman/laddu/releases/tag/py-laddu-v0.2.1) - 2025-01-24 - -### Fixed - -- corrected signature in methods that read from AmpTools trees -- fixed python examples and readme paths -- modify tests and workflows to new structure - -### Other - -- force version bump -- fix python docs to use "extensions" rather than "likelihoods" -- _(py-laddu)_ release v0.2.0 -- release all crates manually -- release-plz does not like the way I've set up the workspace. I've looked at conda/rattler for some inspiration, but I might need to manually publish each crate once to get the ball rolling -- add rust version to py-laddu -- complete python integration to new py-laddu crate -- major rewrite - -## [0.2.0](https://github.com/denehoffman/laddu/releases/tag/py-laddu-v0.2.0) - 2025-01-21 - -### Fixed - -- modify tests and workflows to new structure - -### Other - -- release all crates manually -- release-plz does not like the way I've set up the workspace. I've looked at conda/rattler for some inspiration, but I might need to manually publish each crate once to get the ball rolling -- add rust version to py-laddu -- complete python integration to new py-laddu crate -- major rewrite diff --git a/py-laddu-mpi/CHANGELOG.md b/py-laddu-mpi/CHANGELOG.md deleted file mode 100644 index 0ba5e27e..00000000 --- a/py-laddu-mpi/CHANGELOG.md +++ /dev/null @@ -1,227 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [0.14.2](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.14.1...py-laddu-mpi-v0.14.2) (2026-02-10) - - -### Miscellaneous Chores - -* **py-laddu-mpi:** Synchronize laddu versions - -## [Unreleased] - -## [0.14.1](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.14.0...py-laddu-mpi-v0.14.1) - 2026-01-07 - -### Fixed - -- ensure LikelihoodEvaluators report parameter names in fit/mcmc summaries - -## [0.13.1](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.13.0...py-laddu-mpi-v0.13.1) - 2026-01-06 - -### Added - -- separate parameter logic into a new struct and unify fixing/freeing/renaming - -## [0.12.2](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.12.1...py-laddu-mpi-v0.12.2) - 2026-01-05 - -### Other - -- Development ([#94](https://github.com/denehoffman/laddu/pull/94)) - -## [0.11.1](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.11.0...py-laddu-mpi-v0.11.1) - 2025-12-17 - -### Other - -- missed a uv.lock -- New file format ([#90](https://github.com/denehoffman/laddu/pull/90)) - -## [0.9.4](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.9.3...py-laddu-mpi-v0.9.4) - 2025-10-10 - -### Other - -- Stochastic NLLs and `ganesh` update ([#87](https://github.com/denehoffman/laddu/pull/87)) - -## [0.9.3](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.9.2...py-laddu-mpi-v0.9.3) - 2025-08-08 - -### Added - -- add VariableExpressions to handle Dataset filtering - -### Other - -- fix rounding error in filter test - -## [0.9.2](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.9.1...py-laddu-mpi-v0.9.2) - 2025-07-23 - -### Fixed - -- add more precision to covariance matrices to ensure positive definiteness - -## [0.9.1](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.9.0...py-laddu-mpi-v0.9.1) - 2025-07-23 - -### Other - -- K-Matrix Covariance ([#81](https://github.com/denehoffman/laddu/pull/81)) - -## [0.8.1](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.8.0...py-laddu-mpi-v0.8.1) - 2025-06-20 - -### Added - -- add `conj` operator to `Amplitude`s and `Expression`s -- add subtraction, division, and negation operations for all Amplitudes and Expressions -- add `PolPhase` amplitude -- create example_2, a moment analysis - -### Other - -- update moment analysis tutorial and example -- update dependencies in example_1 -- fix printing test - -## [0.8.0](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.7.1...py-laddu-mpi-v0.8.0) - 2025-06-17 - -### Added - -- add `evaluate(Variable)` method to `Dataset` and `Event` - -### Other - -- update test to get rid of `Arc` structure -- [**breaking**] change `Variable` trait methods to operate on `&Dataset` rather than `&Arc` - -## [0.7.1](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.7.0...py-laddu-mpi-v0.7.1) - 2025-05-30 - -### Added - -- add `Dataset::weighted_bootstrap` - -### Fixed - -- correct for out-of-bounds errors in MPI bootstrap - -### Other - -- remove weighted_bootstrap - -## [0.6.4](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.6.3...py-laddu-mpi-v0.6.4) - 2025-05-20 - -### Added - -- improvements to `Dataset` conversions and opening methods -- add method for opening a dataset boosted to the rest frame of the given p4 indices - -### Fixed - -- update Python vector names (closes #57) - -### Other - -- *(data)* fix boost tests -- add documentation to new Dataset constructors - -## [0.6.2](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.6.1...py-laddu-mpi-v0.6.2) - 2025-05-16 - -### Added - -- add method for boosting an event or a dataset to a given rest frame - -## [0.6.1](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.6.0...py-laddu-mpi-v0.6.1) - 2025-04-25 - -### Added - -- add available_parallelism function to python API - -## [0.5.3](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.5.2...py-laddu-mpi-v0.5.3) - 2025-04-11 - -### Added - -- add Swarm methods to Python API and update other algorithm initialization methods -- add python versions of Point, Particle, SwarmObserver, and Swarm from ganesh -- change swarm repr if the swarm is uninitialized to not confuse people -- bump MSRV (for bincode) and bump all dependency versions -- restructure the minimizer/mcmc methods to no longer take kwargs -- update `ganesh` version and add Global move to ESS - -### Fixed - -- remove from the rayon-free calls for and -- corrected typo where the `VerboseMCMCObserver` implemented `SwarmObserver<()>` rather than the `VerboseSwarmObserver` -- move some imports under the python feature flag -- add a few more missed pyclasses to the py-laddu exports -- missed AEISMove->AIESMove and condensed the lib.rs file for py-laddu -- forgot to export MCMC moves -- the last commit fixed the typo the wrong way, it is AIES -- correct typo AIES->AEIS in python type checking files - -### Other - -- complete compatibility with newest version of bincode, remove unused dependencies and features across all crates -- add a todo - -## [0.5.2](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.5.1...py-laddu-mpi-v0.5.2) - 2025-04-04 - -### Added - -- add experimental Regularizer likelihood term -- update ganesh, numpy, and pyo3 - -### Fixed - -- more fixes for newest ganesh version -- missed a changed path in some ganesh code hidden behind a feature gate - -### Other - -- update Cargo.toml dependencies -- fix some citations and equations, and add phase_space to the API listing -- Merge pull request #65 from denehoffman/quality-of-life - -## [0.5.1](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.5.0...py-laddu-mpi-v0.5.1) - 2025-03-16 - -### Fixed - -- change unwrap to print error and panic -- unwrap call_method so that it reports the stack trace if the method fails - -## [0.4.2](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.4.1...py-laddu-mpi-v0.4.2) - 2025-03-13 - -### Added - -- display the AmplitudeID's name and ID together -- add unit-valued `Expression` and define convenience methods for summing and multiplying lists of `Amplitude`s -- add `Debug` and `Display` to every `Variable` (and require them for new ones) -- add the ability to name likelihood terms and convenience methods for null and unit likelihood terms, sums, and products - -### Fixed - -- update GradientValues in non-default feature branches -- correct gradients of zero and one by adding the number of parameters into `GradientValues` -- update GradientValues in non-default feature branches (missed one) -- improve summation and product methods to only return a Zero or One if the list is empty -- change `LikelihoodTerm` naming to happen at registration time -- add python feature gate to likelihood-related methods - -### Other - -- *(amplitudes)* expand gradient test to cover more complex cases and add tests for zeros, ones, sums and products -- *(amplitudes)* add test for printing expressions -- *(variables)* add tests for `Variable` Display impls -- *(data)* fix tests by implementing Debug/Display for testing variable -- ignore excessive precision warnings -- *(likelihoods)* fix typo in `NLL` documentation - -## [0.4.1](https://github.com/denehoffman/laddu/compare/py-laddu-mpi-v0.4.0...py-laddu-mpi-v0.4.1) - 2025-03-04 - -### Added - -- add `PhaseSpaceFactor` amplitude - -## [0.4.0](https://github.com/denehoffman/laddu/releases/tag/py-laddu-mpi-v0.3.0) - 2025-02-28 - -### Fixed - -- reorganize package structure diff --git a/py-laddu/CHANGELOG.md b/py-laddu/CHANGELOG.md deleted file mode 100644 index ab9541e3..00000000 --- a/py-laddu/CHANGELOG.md +++ /dev/null @@ -1,77 +0,0 @@ -# Changelog - -## [0.14.2](https://github.com/denehoffman/laddu/compare/py-laddu-v0.14.1...py-laddu-v0.14.2) (2026-02-10) - - -### Features - -* Add `BinnedGuideTerm` under new `experimental` module ([8d0c626](https://github.com/denehoffman/laddu/commit/8d0c626ffb14980ecf60155cd15eebc7fe94ff13)) -* Add `conj` operator to `Amplitude`s and `Expression`s ([62dfe28](https://github.com/denehoffman/laddu/commit/62dfe28c044c41deb9542b8390c35874fe51c691)) -* Add `Dataset::weighted_bootstrap` ([9f638fb](https://github.com/denehoffman/laddu/commit/9f638fbd3a1af9b8784ff3a647d73314a18aa717)) -* Add `evaluate(Variable)` method to `Dataset` and `Event` ([764bd7f](https://github.com/denehoffman/laddu/commit/764bd7f49df4000700a926d91d9a699586b55737)) -* Add `PhaseSpaceFactor` amplitude ([a439b99](https://github.com/denehoffman/laddu/commit/a439b9910ad443369e7686898ed0cdc0214dd834)) -* Add `PolPhase` amplitude ([07ebd06](https://github.com/denehoffman/laddu/commit/07ebd06f226eaeb2662dc6af54899cd26c8cc999)) -* Add available_parallelism function to python API ([b06d620](https://github.com/denehoffman/laddu/commit/b06d620f9c569ceaeb6bbc991f21af7ff684bf5e)) -* Add experimental Regularizer likelihood term ([de4ae47](https://github.com/denehoffman/laddu/commit/de4ae47dc2c0a7c74817a6f319e5b7884caebcfe)) -* Add method for boosting an event or a dataset to a given rest frame ([1efab27](https://github.com/denehoffman/laddu/commit/1efab274e9ca7dd2196b163b08cada194fea7fdb)) -* Add subtraction, division, and negation operations for all Amplitudes and Expressions ([c9b3b3f](https://github.com/denehoffman/laddu/commit/c9b3b3f0f86fc7457255a19ce0773a51caa6526e)) -* Add Swarm methods to Python API and update other algorithm initialization methods ([ddc6813](https://github.com/denehoffman/laddu/commit/ddc68134f10075f9c53d20198febf0d329c9c015)) -* Add the ability to name likelihood terms and convenience methods for null and unit likelihood terms, sums, and products ([c5352d7](https://github.com/denehoffman/laddu/commit/c5352d7107d858759ad4403bda522eef7d08492b)) -* Add unit-valued `Expression` and define convenience methods for summing and multiplying lists of `Amplitude`s ([c1297eb](https://github.com/denehoffman/laddu/commit/c1297ebc5af6b836f9cabd18f775534f6fc71703)) -* Add VariableExpressions to handle Dataset filtering ([3f01968](https://github.com/denehoffman/laddu/commit/3f01968574c6e87705dedca92951252302c09364)) -* Allow for the use of `sum(list[Dataset])` in Python code ([631fe49](https://github.com/denehoffman/laddu/commit/631fe4999426b1b2bf84df4a2b6e55fc9484616c)) -* Allow users to add `Dataset`s together to form a new `Dataset` ([ef6f80e](https://github.com/denehoffman/laddu/commit/ef6f80e72ac0e49363a45bd2ad034d701f13e969)) -* Create example_2, a moment analysis ([7dd7c01](https://github.com/denehoffman/laddu/commit/7dd7c01173ea14433a599589d8f6824e84a261dc)) -* First pass implementation of MPI interface ([16d8391](https://github.com/denehoffman/laddu/commit/16d8391cddad9b3db3780c1ffbc7fa7b238fe6f6)) -* Improvements to `Dataset` conversions and opening methods ([1264ef2](https://github.com/denehoffman/laddu/commit/1264ef26f5a67694396b22afcc70e0fe71132bd1)) -* Make `mpi` a feature in `py-laddu` to allow people to build the python package without it ([ae23bb2](https://github.com/denehoffman/laddu/commit/ae23bb24f77f9a88049c4cf1bb00313954b2cbea)) -* Redefine eps->aux in `Event` definition ([45df457](https://github.com/denehoffman/laddu/commit/45df4578c76c7093ec7ee516c017d6847eb9277b)) -* Separate parameter logic into a new struct and unify fixing/freeing/renaming ([834a4e7](https://github.com/denehoffman/laddu/commit/834a4e7cfd68b0eba444bf1788d1aa66ac025580)) -* Split `laddu` python package into two, with and without MPI support ([e488b46](https://github.com/denehoffman/laddu/commit/e488b46fda4ec723ab1ef452ffc4a411cdcebf78)) -* Switch the MPI implementation to use safe Rust via a RwLock ([58ecc24](https://github.com/denehoffman/laddu/commit/58ecc24ecb29cedb01cadc844d960fb7e9f16e1f)) -* Update MPI code to use root-node-agnostic methods ([109846e](https://github.com/denehoffman/laddu/commit/109846efd384f8abed59c6c8a0f9bd1b4137c9b3)) - - -### Bug Fixes - -* Add a few more missed pyclasses to the py-laddu exports ([d143fb8](https://github.com/denehoffman/laddu/commit/d143fb89099d9b6878b6cac3f828ca0c80820081)) -* Add fallback overloads to several amplitudes ([3559264](https://github.com/denehoffman/laddu/commit/35592640d91f822e63b29c4c5c0eb831419c338e)) -* Add mpi feature for laddu-python to py-laddu ([02dc5ed](https://github.com/denehoffman/laddu/commit/02dc5edec9dd9a437d22b828a61fd3819f00c859)) -* Add non-MPI failing functions for MPI calls on non-MPI python builds ([6be7e24](https://github.com/denehoffman/laddu/commit/6be7e245e5d5e346fa697e28bd900011088c971c)) -* Add type hints to `__doc__` and `__version__` ([0c9ffe2](https://github.com/denehoffman/laddu/commit/0c9ffe2e79cedbe43a02efd37e3326b1609ef50d)) -* Change `LikelihoodTerm` naming to happen at registration time ([ca3516d](https://github.com/denehoffman/laddu/commit/ca3516db402d19851ad4137b81cb24684f574243)) -* Convert range to list ([63cc88b](https://github.com/denehoffman/laddu/commit/63cc88be95789cb3ca4ed0c626138d332a15be4c)) -* Correct arguments to fix open_amptools method ([8c1b4d8](https://github.com/denehoffman/laddu/commit/8c1b4d86ef1119eab8994009f44ee5bc2f053978)) -* Correct some issues with conversion scripts ([e7a1099](https://github.com/denehoffman/laddu/commit/e7a1099f39acc25376558226d6e64ce70bb3cc04)) -* Correct typo AIES->AEIS in python type checking files ([88dfbc5](https://github.com/denehoffman/laddu/commit/88dfbc50eb44127497e07e6211defb8c19a8245e)) -* Corrected signature in methods that read from AmpTools trees ([d751c37](https://github.com/denehoffman/laddu/commit/d751c37027868b4f2e0273a4ba83bd5fb974d406)) -* Corrected signature in methods that read from AmpTools trees ([b93ae60](https://github.com/denehoffman/laddu/commit/b93ae60367e5362727344c8d59ecf6381c223099)) -* Fixed python examples and readme paths ([56f35a4](https://github.com/denehoffman/laddu/commit/56f35a41b2d7b72fbc887a1b92485b49e4554f2a)) -* Forgot to export MCMC moves ([da899fd](https://github.com/denehoffman/laddu/commit/da899fd8822af8c51f3ef46b90dd0335f8b26e4d)) -* Missed AEISMove->AIESMove and condensed the lib.rs file for py-laddu ([a6e9afc](https://github.com/denehoffman/laddu/commit/a6e9afcd9830ebc7a4d9ff01929ebdd80cf493f3)) -* Modify tests and workflows to new structure ([33f456c](https://github.com/denehoffman/laddu/commit/33f456c1bc97442792afd4cd55c19ec5aea88b3e)) -* Remove loguru and pandas dependencies and add pyarrow dependency ([8048674](https://github.com/denehoffman/laddu/commit/804867484b827659d675e6cb522c5ffba30be5d4)) -* Reorganize package structure ([6020e1d](https://github.com/denehoffman/laddu/commit/6020e1dceb5679a27d279dd381894dcc7beb3671)) -* The last commit fixed the typo the wrong way, it is AIES ([bc193d6](https://github.com/denehoffman/laddu/commit/bc193d630b9d149240876d7e614a867207133826)) -* Update Python vector names (closes [#57](https://github.com/denehoffman/laddu/issues/57)) ([d0f8ee0](https://github.com/denehoffman/laddu/commit/d0f8ee0129333c4dafb04c2804e41aa16145faec)) -* Use proper path in `laddu-mpi` entrypoint ([8919d64](https://github.com/denehoffman/laddu/commit/8919d64b0107493dca45f2952450a56a7ff60f2a)) - - -### Reverts - -* Remove weighted_bootstrap ([891926f](https://github.com/denehoffman/laddu/commit/891926fac9035f18f7c33900ac2632ce32d88529)) - - -### Documentation - -* Add documentation to new Dataset constructors ([a492383](https://github.com/denehoffman/laddu/commit/a492383f735411821d17b23d5b3197ad6704c74c)) -* Correct path of extensions module ([1618e1c](https://github.com/denehoffman/laddu/commit/1618e1c6feffdb1ae9735fe1118c158cdd3b089f)) -* Create a binned fit tutorial and example ([e1e9904](https://github.com/denehoffman/laddu/commit/e1e99045740958221fa7c65407d53439348041dd)) -* Fix python docs to use "extensions" rather than "likelihoods" ([2fa6e5b](https://github.com/denehoffman/laddu/commit/2fa6e5b4825288b6cf5c2351b1edd25a68e662ad)) -* Fix some citations and equations, and add phase_space to the API listing ([49965e2](https://github.com/denehoffman/laddu/commit/49965e2e1d28d28edcbfb3e9fccde7bd9d1ad86f)) -* Move all MPI code to `laddu-python` to make sure MPI docs build properly ([3ac8b4c](https://github.com/denehoffman/laddu/commit/3ac8b4cbda0ada70a9d48c6ffa5434170493bf0f)) -* **mpi:** Add code-block directive to MPI context manager docs ([a91f93f](https://github.com/denehoffman/laddu/commit/a91f93f1b7cab6768fdf8e2c84bd47762f53beed)) -* **python:** Add mpi module ([a81f533](https://github.com/denehoffman/laddu/commit/a81f533775e90474dd0c8eb8d5f3706e9154f944)) -* **python:** Add MPI to API listing ([72b08b8](https://github.com/denehoffman/laddu/commit/72b08b841c709f86b1490f634dbbf970effe75e6)) -* Update all documentation to include MPI modules ([a44ccff](https://github.com/denehoffman/laddu/commit/a44ccff9701fe0b25b9ea95a7676d2cfa51fd933)) -* Update moment analysis tutorial and example ([da93613](https://github.com/denehoffman/laddu/commit/da936131bf1c71fcca339236d0b06fb1139ae2ec))