Skip to main content

An extension to SageMath's module for computations with asymptotic expansions. Provides a special AsymptoticRing that allows to specify a secondary, dependent (monomially bounded) variable.

Project description

dependent_bterms

An extension to SageMath's module for computations with asymptotic expansions. Provides a special AsymptoticRing that allows to specify a secondary, dependent (monomially bounded) variable.

Quickstart and Summary

The package can be made available to your SageMath installation by running

$ sage -pip install dependent_bterms

from your terminal, or just

!pip install dependent_bterms

from within a SageMath Jupyter notebook. The package can then be used as follows:

sage: import dependent_bterms as dbt
sage: AR, n, k = dbt.AsymptoticRingWithDependentVariable(  # create a special AsymptoticRing
....:     'n^QQ',  # in one asymptotic (monomial) variable n with rational powers
....:     'k', 0, 1/2,  # with a symbolic variable k assumed to be in the range n^0 <= k <= n^(1/2)
....:     bterm_round_to=2  # and explicit error terms should be rounded to two decimal places
....: )
sage: k*n^2 + O(n^(3/2)) + k^3*n  # summands are ordered w.r.t. their highest potential growth
k^3*n  + k*n^2 + O(n^(3/2))
sage: asy = 1/n + AR.B(k/n^2, valid_from=10)
sage: asy_exp = dbt.taylor_with_explicit_error(lambda t: exp(t), asy, order=3, valid_from=10)
sage: asy_exp
1 + n^(-1) + B((abs(28/25*k + 73/100))*n^(-2), n >= 10)
sage: dbt.simplify_expansion(asy_exp, simplify_bterm_growth=True)
1 + n^(-1) + B(34/25*n^(-3/2), n >= 10)

One-line descriptions of the top-level members exported with this module are given below. A description of their respective input arguments and several examples are provided in the respective docstrings.

  • AsymptoticRingWithDependentVariables -- A special (univariate) AsymptoticRing that is aware of a monomially bounded symbolic variable.

  • evaluate -- Evaluate a symbolic expression without necessarily returning a result in the symbolic ring.

  • simplify_expansion -- Simplify an asymptotic expansion by allowing error terms to try and absorb parts of exact terms.

  • round_bterm_coefficients -- Round the coefficients of all B-terms in the given expansion to the next integer (or rational with respect to the provided precision).

  • set_bterm_valid_from -- Changes the point from which a B-term bound is valid such that the term remains valid.

  • expansion_upper_bound -- Returns an upper bound for the given asymptotic expansion by turning all B-term instances into exact terms

  • taylor_with_explicit_error -- Determines the series expansion with explicit error bounds of a given function f at a specified asymptotic term.

Demo

A worksheet containing a comprehensive introduction to the capabilities of this package can be found here: toolbox_demo.ipynb.

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

dependent_bterms-1.0.1.tar.gz (22.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dependent_bterms-1.0.1-py3-none-any.whl (24.9 kB view details)

Uploaded Python 3

File details

Details for the file dependent_bterms-1.0.1.tar.gz.

File metadata

  • Download URL: dependent_bterms-1.0.1.tar.gz
  • Upload date:
  • Size: 22.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.6.2

File hashes

Hashes for dependent_bterms-1.0.1.tar.gz
Algorithm Hash digest
SHA256 4b580e758b981b33db0fb4eecbe56048b338dcc8bd018579b95b73b5e5bad1b2
MD5 df9448f16df20791c766a02a3b9e477d
BLAKE2b-256 6a3bc7fcd625c777321fdc5bac7f0d0bfd163ed716a61993d25cea583b6c45f9

See more details on using hashes here.

File details

Details for the file dependent_bterms-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for dependent_bterms-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 aaf97fd714b220138ba0c32c31685c01daa556f7775002139abc52b6d9a4402e
MD5 d1affb69722eded9235fc081a8542019
BLAKE2b-256 64d462a547398f8e6b99bbd8b43e0a657c35546c05ccdbd234a0708991e21ff6

See more details on using hashes here.

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