{ "info": { "author": "Clemens Hofreither", "author_email": "chofreither@numa.uni-linz.ac.at", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering :: Mathematics" ], "description": "# The AAA algorithm for rational approximation [![Build Status](https://travis-ci.com/c-f-h/aaa.svg?branch=master)](https://travis-ci.com/c-f-h/aaa)\n\nThis is a Python implementation of the AAA algorithm for rational approximation\ndescribed in the paper \"The AAA Algorithm for Rational Approximation\" by Yuji\nNakatsukasa, Olivier S\u00e8te, and Lloyd N. Trefethen, SIAM Journal on Scientific\nComputing 2018 40:3, A1494-A1522.\n[(doi)](https://doi.org/10.1137/16M1106122)\n\nA MATLAB implementation of this algorithm is contained in [Chebfun](http://www.chebfun.org/).\nThe present Python version is a more or less direct port of the MATLAB version.\n\nThe \"cleanup\" feature for spurious poles and zeros is not currently implemented.\n\n## Installation\n\nThe implementation is in pure Python and requires only numpy and scipy as\ndependencies. Install it using pip:\n\n pip install aaa-approx\n\n## Usage\n\nHere's an example of how to approximate a function in the interval [0,1]:\n\n import numpy as np\n from aaa import aaa\n\n Z = np.linspace(0.0, 1.0, 1000)\n F = np.exp(Z) * np.sin(2*np.pi*Z)\n\n r = aaa(F, Z, mmax=10)\n\nInstead of the maximum number of terms `mmax`, it's also possible to specify\nthe error tolerance `tol`. Both arguments work exactly as in the MATLAB\nversion.\n\nThe returned object `r` is an instance of the class `aaa.BarycentricRational` and can\nbe called like a function. For instance, you can compute the error on `Z` like this:\n\n err = F - r(Z)\n print(np.linalg.norm(err, np.inf))\n\nIf you are interested in the poles and residues of the computed rational function,\nyou can query them like\n\n pol,res = r.polres()\n\nand the zeroes using\n\n zer = r.zeros()\n\nFinally, the nodes, values and weights used for interpolation (called `zj`, `fj`\nand `wj` in the original implementation) can be accessed as properties:\n\n r.nodes\n r.values\n r.weights\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/c-f-h/aaa", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "aaa-approx", "package_url": "https://pypi.org/project/aaa-approx/", "platform": "", "project_url": "https://pypi.org/project/aaa-approx/", "project_urls": { "Homepage": "https://github.com/c-f-h/aaa" }, "release_url": "https://pypi.org/project/aaa-approx/1.0.2/", "requires_dist": [ "numpy (>=1.11)", "scipy" ], "requires_python": "", "summary": "A Python implementation of the AAA algorithm for rational approximation", "version": "1.0.2" }, "last_serial": 4763202, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "ab6ba97a331f9eb26ae94bf54536d733", "sha256": "426a761ace11d403735cf6e079277c3b8e420c3e35152ce7b2cf3dd7fec91084" }, "downloads": -1, "filename": "aaa_approx-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ab6ba97a331f9eb26ae94bf54536d733", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4033, "upload_time": "2019-01-31T08:51:20", "url": "https://files.pythonhosted.org/packages/f5/97/175974ab217e0cae378b05ce6a581beaaae2ec6a3a28350aaa803c1f7350/aaa_approx-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d42b34c170f6542fcc848edd4e7ba5f9", "sha256": "649d843d212c8b92da3d5256c013bd5a4d9399e43f427f6967aa8940f60bf277" }, "downloads": -1, "filename": "aaa-approx-1.0.1.tar.gz", "has_sig": false, "md5_digest": "d42b34c170f6542fcc848edd4e7ba5f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3776, "upload_time": "2019-01-31T08:51:22", "url": "https://files.pythonhosted.org/packages/f8/67/7e1b6d7733d238eb49b3002f917669a204298b635493a42199008e894f87/aaa-approx-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "b1e069f0e94d219309db4a0c25d14724", "sha256": "7560f5364fa28bbbeff9a8163b9e83b2e51c89b7e95bb1ab4b81eb50935dab45" }, "downloads": -1, "filename": "aaa_approx-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b1e069f0e94d219309db4a0c25d14724", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4136, "upload_time": "2019-01-31T10:13:05", "url": "https://files.pythonhosted.org/packages/48/a0/a0a536c51c8aaf6d29536d087a10086341048c24c206ab0104a454285204/aaa_approx-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5c73a49aad23c4225ee84a19b1478a8b", "sha256": "b3739ff6cfb1d9de6397136fcfb89c32109b634f99c5d4220b0fa759ce0276aa" }, "downloads": -1, "filename": "aaa-approx-1.0.2.tar.gz", "has_sig": false, "md5_digest": "5c73a49aad23c4225ee84a19b1478a8b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5265, "upload_time": "2019-01-31T10:13:07", "url": "https://files.pythonhosted.org/packages/6e/b3/396f743df69389f1f05e5317962138c21f679457dd9b0b3e0f794fb042c0/aaa-approx-1.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b1e069f0e94d219309db4a0c25d14724", "sha256": "7560f5364fa28bbbeff9a8163b9e83b2e51c89b7e95bb1ab4b81eb50935dab45" }, "downloads": -1, "filename": "aaa_approx-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b1e069f0e94d219309db4a0c25d14724", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4136, "upload_time": "2019-01-31T10:13:05", "url": "https://files.pythonhosted.org/packages/48/a0/a0a536c51c8aaf6d29536d087a10086341048c24c206ab0104a454285204/aaa_approx-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5c73a49aad23c4225ee84a19b1478a8b", "sha256": "b3739ff6cfb1d9de6397136fcfb89c32109b634f99c5d4220b0fa759ce0276aa" }, "downloads": -1, "filename": "aaa-approx-1.0.2.tar.gz", "has_sig": false, "md5_digest": "5c73a49aad23c4225ee84a19b1478a8b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5265, "upload_time": "2019-01-31T10:13:07", "url": "https://files.pythonhosted.org/packages/6e/b3/396f743df69389f1f05e5317962138c21f679457dd9b0b3e0f794fb042c0/aaa-approx-1.0.2.tar.gz" } ] }