diff --git a/.zenodo.json b/.zenodo.json index fd208d3..a3506a4 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -1,7 +1,7 @@ { "title": "pAMICA: a Python implementation of Adaptive Mixture ICA", "description": "pamica is a Python (PyTorch) implementation of Adaptive Mixture Independent Component Analysis (AMICA) that reproduces the reference Fortran implementation within numerical tolerance, with CPU, NVIDIA GPU (CUDA), and Apple GPU (MLX) support. It targets EEG/EMG blind source separation and provides a scikit-learn-style interface and byte-identical EEGLAB (loadmodout15) output.", - "version": "0.3.4.dev7", + "version": "0.4.0.dev0", "publication_date": "2026-09-24", "upload_type": "software", "access_right": "open", diff --git a/CITATION.cff b/CITATION.cff index 3b22880..eaa4736 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -29,7 +29,7 @@ authors: affiliation: name: "Swartz Center for Computational Neuroscience" ror: "https://ror.org/01bt2qm76" -version: 0.3.4.dev7 +version: 0.4.0.dev0 date-released: "2026-09-24" license: BSD-3-Clause repository-code: "https://github.com/sccn/pAMICA" diff --git a/docs/changelog.md b/docs/changelog.md index a5e4a26..5719ade 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -6,10 +6,13 @@ at release time that heading becomes the version and its date. Each release's section is also its note on the [GitHub releases page](https://github.com/sccn/pAMICA/releases). -## Unreleased +## 0.4.0 - 2026-09-24 MLX becomes a first-class backend, reachable through every wrapper feature (epic #324, completing the raw backend of epic #278), and every backend's fitting follows the Fortran reference more closely. +Against the pinned v0.3.3 reference binary, single-model fits of a 70-channel EEG recording (5 seeds, 2000 iterations) +now agree with it to 6e-6 in log-likelihood, with a mean matched component correlation of 0.9996 +([Validation & Parity](guides/validation.md)). !!! warning "Default fits differ from 0.3.3" A default fit on any backend (PyTorch, NumPy or MLX) follows a different trajectory than in 0.3.3, diff --git a/pyproject.toml b/pyproject.toml index 642c81b..a91e301 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "pamica" -version = "0.3.4.dev7" +version = "0.4.0.dev0" description = "pAMICA: Python implementation of the Adaptive Mixture ICA algorithm" readme = "README.md" authors = [ diff --git a/uv.lock b/uv.lock index 6e91b54..2480df8 100644 --- a/uv.lock +++ b/uv.lock @@ -1191,7 +1191,7 @@ wheels = [ [[package]] name = "pamica" -version = "0.3.4.dev7" +version = "0.4.0.dev0" source = { editable = "." } dependencies = [ { name = "json5" },