Skip to main content

JAX-differentiable AAA algorithm

Project description

diffaaable 1.2.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 (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.2.1.tar.gz (22.8 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.2.1-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for diffaaable-1.2.1.tar.gz
Algorithm Hash digest
SHA256 40ae383b23dc6550edcd39e367a06f1fc40e1dd7072f0c02b7e25836ab2794c5
MD5 0b2347cfe0961ed93cbf6a90d81f1c41
BLAKE2b-256 a69544e40547bcc245f4ae7a256f45826905a460e8f1ef94af828f33bf16e561

See more details on using hashes here.

Provenance

The following attestation bundles were made for diffaaable-1.2.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.2.1-py3-none-any.whl.

File metadata

  • Download URL: diffaaable-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 25.5 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.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 50ceb5cb5cb9feab06d185d77f7d48490672c27cebadfc54a660d5338aa580a6
MD5 927e037ea9a88b61d9e8e834956864af
BLAKE2b-256 2c9a461c28a6bbc03eec5938792a976b244e6b65d7fe6a49d30393698d6d5925

See more details on using hashes here.

Provenance

The following attestation bundles were made for diffaaable-1.2.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