Recent Releases of RationalFunctionApproximation

RationalFunctionApproximation - v0.2.5

RationalFunctionApproximation v0.2.5

Diff since v0.2.4

  • experimental support for derivatives of Thiele and Barycentric functions (not fully reliable yet)
  • support for arithmetic operations and composition with Approximation objects
  • many new tests with better code coverage
  • bug fixes

Merged pull requests: - correct aaa (#14) (@yuiyuiui) - Slightly simplified plotting code in examples (#15) (@eprovst)

- Julia
Published by github-actions[bot] 7 months ago

RationalFunctionApproximation - v0.2.4

RationalFunctionApproximation v0.2.4

Diff since v0.2.3

Tweaks to the stagnation and maximum iterations for better default performance.

- Julia
Published by github-actions[bot] 8 months ago

RationalFunctionApproximation - v0.2.3

RationalFunctionApproximation v0.2.3

Diff since v0.2.2

  • Big refactoring to simplify the iterations, especially for Thiele. While there are more memory allocations required in some cases, the timing differences are small to none.
  • The stagnation criterion has been improved to be more reliable and intuitive.
  • When premature stopping is detected, the algorithm now looks for the most accurate allowed iteration, rather than the last one.

- Julia
Published by github-actions[bot] 9 months ago

RationalFunctionApproximation - v0.2.2

RationalFunctionApproximation v0.2.2

Diff since v0.2.1

  • updated prescribed poles approximation to allow discrete domain
  • backslash for projection onto an ArnoldiBasis
  • improved documentation strings
  • expanded test coverage

- Julia
Published by github-actions[bot] 9 months ago

RationalFunctionApproximation - v0.2.1

RationalFunctionApproximation v0.2.1

Diff since v0.2.0

Found an alternative to deleteat! to avoid an error that is thrown in julia 1.10 but not 1.11.

- Julia
Published by github-actions[bot] 9 months ago

RationalFunctionApproximation - v0.2.0

RationalFunctionApproximation v0.2.0

Diff since v0.1.4

Breaking release

This is labeled as a breaking release because the iterative algorithm has been updated, so the results of running approximate may be different from version v0.1.4. In addition, keyword arguments have changed:

  • max_degree has been replaced by max_iter; for the default Barycentric type of approximation, they have identical effect
  • lookahead has been renamed to stagnation
  • isbad has been inverted in meaning and renamed to allowed, for specifying whether a pole is in a permitted location
  • the stats keyword is no longer needed; historical information is kept by default without a speed penalty

Other changes

New algorithms

There are implementations for approximations with prescribed poles and for adaptive Thiele continued-fraction interpolation. The latter should be considered experimental.

Discrete domains

Rather than calling aaa, you can supply approximate with a vector of points as the domain. With this, you can supply either a function to be evaluated at those points, or a vector of values. In either case you get a variation on AAA in which the check for disallowed poles does not happen until the accuracy has met the tolerance. This can save a decent amount of computation time. When a convergence history plot is requested, though, the pole check is performed retroactively.

New type for boundary discretization

The adaptive refinement of points on the domain boundary is sufficiently complex and performance-sensitive that it has been moved into a new DiscretizedPath type. This can be accessed from an Approximation object and interrogated for the nodes, the final set of test points, or a more refined set of test points.

Speed improvements

Care has been taken to minimize memory allocations and reuse intermediate values during the greedy iteration. The code is better optimized for operating in so-called continuous mode rather than the classic discrete AAA case.

New tests

Tests have been added to the test suite to check on a wider range of results. Some tests seem to have platform-dependent thresholds and are disabled for now.

Merged pull requests: - CompatHelper: add new compat entry for PythonCall in [weakdeps] at version 0.9, (keep existing compat) (#10) (@github-actions[bot]) - CompatHelper: add new compat entry for GenericLinearAlgebra at version 0.3, (keep existing compat) (#13) (@github-actions[bot])

- Julia
Published by github-actions[bot] 10 months ago

RationalFunctionApproximation - v0.1.4

RationalFunctionApproximation v0.1.4

Diff since v0.1.3

  • Updated for v0.3 of ComplexRegions. You can now specify a different floating point precision through the domain specification, as well as by an explicit keyword argument.

Merged pull requests: - CompatHelper: bump compat for ComplexRegions to 0.3, (keep existing compat) (#12) (@github-actions[bot])

- Julia
Published by github-actions[bot] over 1 year ago

RationalFunctionApproximation - v0.1.3

RationalFunctionApproximation v0.1.3

Diff since v0.1.2

Merged pull requests: - Bump julia-actions/cache from 1 to 2 (#7) (@dependabot[bot])

- Julia
Published by github-actions[bot] over 1 year ago

RationalFunctionApproximation - v0.1.2

RationalFunctionApproximation v0.1.2

Diff since v0.1.1

- Julia
Published by github-actions[bot] over 1 year ago

RationalFunctionApproximation - v0.1.1

RationalFunctionApproximation v0.1.1

Fix bug in using complex-valued functions with stats=true.

Diff since v0.1.0

- Julia
Published by github-actions[bot] over 2 years ago

RationalFunctionApproximation - v0.1.0

RationalFunctionApproximation v0.1.0

- Julia
Published by github-actions[bot] over 2 years ago