JAX-differentiable AAA algorithm
Project description
diffaaable 1.0.1
diffaaable
is a JAX differentiable version of the AAA algorithm. The derivatives are implemented as custom Jacobian Vector products in accordance to ^1.
A detailed derivation of the used matrix expressions is provided in the appendix of [^2].
Under the hood diffaaable
uses the AAA implementation of baryrat
.
Additionaly the following application specific extensions to the AAA algorithm are included:
- Adaptive: Adaptive refinement strategy to minimize the number of function evaluation needed to precisely locate poles within some domain
- Vectorial (also referred to as set-valued): AAA algorithm acting on vector valued functions $\mathbf{f}(z)$ as presented in [^3].
- Lorentz: Variant that enforces symmetric poles around the imaginary axis.
- Selective Refinement: Use a divide and conquer theme to capture many pole simultaneously and accurately, by limiting the number of poles per AAA solve. Suggested in [^4].
Installation
to install diffaaable
run
pip install diffaaable
Usage
Please refer to the quickstart tutorial
Contributing
Feel free to open issues and/or PRs.
Citation
When using this software package for scientific work please cite the associated publication [^2].
+++
[^2]: Multiscat Resonances (to be publlished) [^3]: https://doi.org/10.1093/imanum/draa098 [^4]: https://doi.org/10.48550/arXiv.2405.19582
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file diffaaable-1.0.1.tar.gz
.
File metadata
- Download URL: diffaaable-1.0.1.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43273925ab1494403ea7d7893464f4e71345a3a86c21c50b2258604d39a219dc |
|
MD5 | 2e76189cceb14759cd5250c175b67d9c |
|
BLAKE2b-256 | 56cc80b8b2ae5c731b0d9282e6fbea17d9051ed0e991c15c92fce8c17288f996 |
File details
Details for the file diffaaable-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: diffaaable-1.0.1-py3-none-any.whl
- Upload date:
- Size: 14.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bac3885756bf5fe9ce34220b791e510b956655e5f78d7b6b425fc0ed948951a3 |
|
MD5 | a52f30f894870867306d3f14b9b6c5de |
|
BLAKE2b-256 | 54bd03b718434e51048c661361ae64084d0c467bc838a93090ad7e8167c1d449 |