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 functionf
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for dependent_bterms-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dde4cce938daebde4ae00b64399c3221da1423bfd37ec9758ebfde4a80599913 |
|
MD5 | 33b43e85424917140d9fbd0a8c23cb4f |
|
BLAKE2b-256 | 21973372dae9edfb87fd044c88ee4ce9da77bd2d8130b2c251feacd39ec60924 |