ore_algebra.dfinite_symbolic¶
Database of annihilators
Database for annihilating operators, i.e. elements of certain OreAlgebras, for various discrete and differentiable symbolic functions.
- The following discrete functions are supported:
- binomial(an+b, cn+d) where a,b,c,d are fixed rational numbers and n is the variable
- factorial(n)
- harmonic_number(n)
- The follwing differentiable functions are supported:
- Trigonometric functions: sin(x), cos(x), arcsin(x), arccos(x), arctan(x), arccsc(x), arcsec(x)
- Hyperbolic functions: sinh(x), cosh(x), arcsinh(x), arctanh(x), arccsch(x)
- Logarithmic funcions: exp(x), log(x), dilog(x)
- Airy functions: airy_ai(x), airy_bi(x), airy_ai_prime(x), airy_bi_prime(x)
- Bessel functions: bessel_I(k,x), bessel_J(k,x), bessel_K(k,x), bessel_Y(k,x), spherical_bessel_J(k,x) where k is a fixed rational number and x is the variable
- Error functions: erf(x), erfc(x), erfi(x)
- Integrals: exp_integral_e(k,x), exp_integral_ei(x), sin_integral(x), cos_integral(x), sinh_integral(x), cosh_integral(x)
- Other: sqrt(x), elliptic_ec(x), elliptic_kc(x)
AUTHOR:
- Clemens Hofstadler (2018-03-01)
Functions
symbolic_database (A, f[, inner, k]) |
Tries to return an annihilating operator of a symbolic operator f, i.e. |
-
ore_algebra.dfinite_symbolic.
symbolic_database
(A, f, inner=None, k=0)¶ Tries to return an annihilating operator of a symbolic operator f, i.e. an element from a (suitable) OreAlgebra A that represents a differential/recurrence equation for the symoblic epxression
f(x)
INPUT:
- A – an OreAlgebra from which the annihilating operator for f should come from
- f - a symbolic operator. It is important that not the symbolic expression itself is handled to this method but only
- the operator (which can be accessed via the command
.operator()
inner
(defaultNone
) – for differentiable functions an inner function can be handed over. Then not an operator- for f(x) but for f(inner) is returned. However
inner
has to be a linear function, i.e. of the form u*x + v for u,v in QQ. For discrete functionsinner
does not have any impact.
- k (default 0) – a rational number that has to be handed over if the symolic operator f depends on two variables (such as binomial(k,n) or bessel_I(k,x) ) because only operators for univariate functions can be returned and
- therefore one variable has to be assigned with a certain value k
OUTPUT:
- An element from the OreAlgebra A, that represents a differential/recurrence equation which annihilates f(x) or if
inner
is notNone
an element from A which annihilates f(inner).
EXAMPLES:
#discrete case sage: from ore_algebra import * sage: from ore_algebra.dfinite_symbolic import symbolic_database sage: A = OreAlgebra(QQ['n'],'Sn') sage: n = var('n') sage: f = harmonic_number(n).operator() sage: symbolic_database(A,f) (n + 2)*Sn^2 + (-2*n - 3)*Sn + n + 1 sage: g = binomial(5,n).operator() sage: symbolic_database(A,g,None,5) (n + 1)*Sn + n - 5 #differential case sage: B = OreAlgebra(QQ['x'],'Dx') sage: x = var('x') sage: f = sin(x).operator() sage: symbolic_database(B,f) Dx^2 + 1 sage: g = log(3*x+4).operator() sage: symbolic_database(B,g,3*x+4) (3*x + 4)*Dx^2 + 3*Dx sage: h = bessel_I(4,2*x+1).operator() sage: symbolic_database(B,h,2*x+1,4) (4*x^2 + 4*x + 1)*Dx^2 + (4*x + 2)*Dx - 16*x^2 - 16*x - 68