Skip to main content

JAX-differentiable AAA algorithm

Project description

diffaaable 1.3.1

DOI

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 (called Iterative Sample Refinement (ISR) in the corresponding paper) to minimize the number of function evaluation needed to precisely locate poles within some domain
  • Vectorial: AAA algorithm acting on vector valued functions $\mathbf{f}(z)$ as presented in [^3].
  • Tensor: Convenience alternative to the vector valued AAA algorithm (vectorial) accepting a tensor valued function F_k (so arbitrary dimensionality) instead of the single dimension that vectorial requires.
  • 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]: "A framework to compute resonances arising from multiple scattering", https://doi.org/10.1002/adts.202400989 [^3]: https://doi.org/10.1093/imanum/draa098 [^4]: https://doi.org/10.48550/arXiv.2405.19582

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

diffaaable-1.3.1.tar.gz (22.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

diffaaable-1.3.1-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

Details for the file diffaaable-1.3.1.tar.gz.

File metadata

  • Download URL: diffaaable-1.3.1.tar.gz
  • Upload date:
  • Size: 22.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for diffaaable-1.3.1.tar.gz
Algorithm Hash digest
SHA256 705e00d6cce3dcdb99bfd7fb6b69bb0b0b05f4268d9843825158fe6c9b15c749
MD5 8264f88fbe5d033ecb1aa560a2db9414
BLAKE2b-256 0f40663c68c367fa03036909dfda4e1a4602920f78f6b53a63c87e4e68183fc5

See more details on using hashes here.

Provenance

The following attestation bundles were made for diffaaable-1.3.1.tar.gz:

Publisher: release.yaml on tfp-photonics/diffaaable

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file diffaaable-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: diffaaable-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 25.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for diffaaable-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4f2c110f0e1ab1d3152a1a1ec881ba4b0bf7932bddfd695aaa58f958e4c88333
MD5 357db87359262b739b465139b64c5ce6
BLAKE2b-256 88b698714840bdd9a59a66f2596ecd21bb057c6d21d36ceec5e2e4dc21e0a097

See more details on using hashes here.

Provenance

The following attestation bundles were made for diffaaable-1.3.1-py3-none-any.whl:

Publisher: release.yaml on tfp-photonics/diffaaable

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page