# AMICA-Python: Adaptive Mixture Independent Component Analysis with Anderson Acceleration

arXiv: https://arxiv.org/abs/2607.18568 · HTML: https://mlsanity.com/paper/2607.18568/

## Key facts

- No citing papers in the map yet (data through 14 Oct 2026).
- Builds on 7 of its 42 references that are in the map.
- First posted on arXiv 20 Jul 2026.

## Builds on (most cited first, 7 of 7)

- [Nonlinear Independent Component Analysis for Principled Disentanglement in Unsupervised Deep Learning](https://mlsanity.com/paper/2303.16535/) (2023)
- [Faster independent component analysis by preconditioning with Hessian approximations](https://mlsanity.com/paper/1706.08171/) (2017)
- [Damped Anderson Mixing for Deep Reinforcement Learning: Acceleration, Convergence, and Stabilization](https://mlsanity.com/paper/2110.08896/) (2021)
- [Damped Anderson acceleration with restarts and monotonicity control for accelerating EM and EM-like algorithms](https://mlsanity.com/paper/1803.06673/) (2018)
- [Spectral independent component analysis with noise modeling for M/EEG source separation](https://mlsanity.com/paper/2008.09693/) (2020)
- [Orthogonal Extended Infomax Algorithm](https://mlsanity.com/paper/2306.09180/) (2023)
- [An Exploration of Optimal Parameters for Efficient Blind Source Separation of EEG Recordings Using AMICA](https://mlsanity.com/paper/2309.15388/) (2023)

## Abstract (arXiv)

Adaptive Mixture Independent Component Analysis (AMICA) is widely used in EEG research and has long been associated with strong empirical performance for blind source separation. Despite its impact, practical use has historically depended on a single Fortran implementation, accessed via the EEGLAB toolbox for MATLAB, limiting its accessibility for analytical pipelines not designed within the MATLAB ecosystem. Here we present AMICA-Python, a Python implementation of the AMICA algorithm, with a scikit-learn-conformant API designed for integration with existing scientific Python pipelines. The implementation follows the reference algorithm closely while adopting modern software engineering practices and an interface familiar to Python users. Additionally, we introduce an optional Anderson acceleration scheme that can dramatically reduce the time to convergence for this relatively slow algorithm. To evaluate numerical agreement and practical performance, we benchmarked AMICA-Python against the reference Fortran implementation on 14 open EEG recordings. After averaging 3 runs of each implementation on all 14 recordings, AMICA-Python closely matched the reference, with a median final normalized log-likelihoods of 11.572 for both the Fortran and Python implementations, and a negligible median relative absolute difference of only 1.07×10-8 when normalized by the absolute Fortran value. Runtime was also competitive. Relative to the reference implementation, AMICA-Python was 17.7% faster, while the Anderson-accelerated variant was 34.1% faster. AMICA-Python reproduces the reference implementation to high numerical precision with competitive runtime, while making AMICA available through a more accessible and extensible Python interface.
