Skip to main content

diffaaable 1.5.0

DOI

diffaaable is a JAX differentiable version of the AAA algorithm. The derivatives are implemented as custom Jacobian-vector products (JVPs) following 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. Additionally the following application specific extensions to the AAA algorithm are included:

  • Adaptive: Adaptive refinement strategy (called Iterative Sample Refinement (ISR) in the corresponding paper) to minimize the number of function evaluations needed to precisely locate poles within some domain
  • Vectorial: AAA algorithm acting on vector valued functions $\mathbf{f}(z)$ as presented in 3.
  • Tensor: Like Vectorial, but accepts tensor-valued functions $\mathbf{F}(z)$ of arbitrary shape, e.g. to obtain a joint pole-expansion of a T-matrix 4. Preferred over Vectorial.
  • Lorentz: Variant that enforces symmetric poles around the imaginary axis.
  • Selective Refinement: Use a divide-and-conquer scheme to capture many poles simultaneously and accurately, by limiting the number of poles per AAA solve. Suggested in 5.

Installation

to install diffaaable run pip install diffaaable

Usage

Please refer to the quickstart tutorial

Contributing

Feel free to open issues and/or PRs.

User facing changes are recorded with towncrier: add a one-line fragment to .changelog.d/, named <PR number>.<type>.md (or +<name>.<type>.md without a PR), where <type> is one of added, changed, performance, fixed, deprecated, removed or security, e.g. towncrier create -c "Faster set_aaa." +faster-set-aaa.performance.md.

Citation

When using this software package for scientific work please cite the associated publication 2. When using the tensor-valued AAA (tensor_aaa), e.g. for pole-expansions of T-matrices, please also cite 4.

+++

  1. https://arxiv.org/pdf/2403.19404 ↩

  2. "A framework to compute resonances arising from multiple scattering", https://doi.org/10.1002/adts.202400989 ↩ ↩2

  3. https://doi.org/10.1093/imanum/draa098 ↩

  4. "Pole-Expansion of the T-Matrix Based on a Matrix-Valued AAA-Algorithm", ACS Photonics 13, 5291 (2026), https://doi.org/10.1021/acsphotonics.6c00436 ↩ ↩2

  5. https://doi.org/10.48550/arXiv.2405.19582 ↩

Metadata

Release files for diffaaable 1.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for diffaaable 1.5.0
File Size Uploaded
diffaaable-1.5.0.tar.gz 29.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for diffaaable 1.5.0
File Interpreter ABI Platform
diffaaable-1.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 62.5 kB

Release files / diffaaable-1.5.0.tar.gz

Download URL diffaaable-1.5.0.tar.gz
Size 29.5 kB
Tags Source
SHA-256 checksum
How to use checksums
921029e893c6206db0e640b0b724e2c495b4a9c484e96709ffe9ef1ea1f613bc
BLAKE2b-256 checksum
How to use checksums
94b570e80a312b8e36a92ccf77526dd8d3be093346c74245ea29c87b271fa8c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / diffaaable-1.5.0-py3-none-any.whl

Download URL diffaaable-1.5.0-py3-none-any.whl
Size 33.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
65259491d1f94421462330d58f8d8fc965405588f7b1b9494a8fbfab3d9bf572
BLAKE2b-256 checksum
How to use checksums
7aa0efc6b8ad15e028ac46b1e93ecd533300700973c96480e501109cc359a04f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.5.0 This release

2 release files

1.3.1

2 release files

1.2.1

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page