Skip to main content

JAX-differentiable AAA algorithm

Project description

diffaaable 1.1.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 (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]: "A framework to compute resonances arising from multiple scattering", https://arxiv.org/abs/2409.05563 [^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.1.1.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

diffaaable-1.1.1-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for diffaaable-1.1.1.tar.gz
Algorithm Hash digest
SHA256 ce10befa2ba749049dfeedc89c2af595fb11ac8795be9c98d353e16339caf447
MD5 cfa9d0138700e3589314514eff025fac
BLAKE2b-256 daec5fd8257a85b35dbd4a1cc4b21db5242e877f2ec4ef573d8b895136e0bab5

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for diffaaable-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 120165f3a3b34c527fee94719b381e687c7275638141082f1e95f0c2f5db7493
MD5 fdc1a4e0aa36d55bc3075382715113a8
BLAKE2b-256 33423357d2e39079daf1634168c65eb3148b7f3a95f978845077765cdaa98481

See more details on using hashes here.

Provenance

The following attestation bundles were made for diffaaable-1.1.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 Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page