Skip to main content

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


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.0.1.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

diffaaable-1.0.1-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

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

Hashes for diffaaable-1.0.1.tar.gz
Algorithm Hash digest
SHA256 43273925ab1494403ea7d7893464f4e71345a3a86c21c50b2258604d39a219dc
MD5 2e76189cceb14759cd5250c175b67d9c
BLAKE2b-256 56cc80b8b2ae5c731b0d9282e6fbea17d9051ed0e991c15c92fce8c17288f996

See more details on using hashes here.

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

Hashes for diffaaable-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bac3885756bf5fe9ce34220b791e510b956655e5f78d7b6b425fc0ed948951a3
MD5 a52f30f894870867306d3f14b9b6c5de
BLAKE2b-256 54bd03b718434e51048c661361ae64084d0c467bc838a93090ad7e8167c1d449

See more details on using hashes here.

Supported by

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