Generalization of Risch’s Algorithm to Special Functions
Clemens G. Raab (RISC)
LHCPhenonet School Hagenberg, July 9, 2012
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Overview
1 Introduction to symbolic integration
2 Relevant classes of functions and Risch’s algorithm
3 Basics of differential fields
4 A generalization of Risch’s algorithm 1 Introduction 2 Inside the algorithm
5 Application to definite integrals depending on parameters
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Introduction to symbolic integration
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Different approaches and structures Differential algebra: differential fields Holonomic systems: Ore algebras Rule-based: expressions, tables of transformation rules ...
Symbolic integration
Computer algebra 1 Model the functions by algebraic structures 2 Computations in the algebraic framework 3 Interpret result in terms of functions
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Holonomic systems: Ore algebras Rule-based: expressions, tables of transformation rules ...
Symbolic integration
Computer algebra 1 Model the functions by algebraic structures 2 Computations in the algebraic framework 3 Interpret result in terms of functions
Different approaches and structures Differential algebra: differential fields
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Rule-based: expressions, tables of transformation rules ...
Symbolic integration
Computer algebra 1 Model the functions by algebraic structures 2 Computations in the algebraic framework 3 Interpret result in terms of functions
Different approaches and structures Differential algebra: differential fields Holonomic systems: Ore algebras
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Symbolic integration
Computer algebra 1 Model the functions by algebraic structures 2 Computations in the algebraic framework 3 Interpret result in terms of functions
Different approaches and structures Differential algebra: differential fields Holonomic systems: Ore algebras Rule-based: expressions, tables of transformation rules ...
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Examples Z Li (x) − xLi (x) x ln(1 − x)2 3 2 dx = (Li (x) − Li (x)) + (1 − x)2 1 − x 3 2 2 Z 0 2 1 0 2 0 2 2 Ai (x) dx = 3 xAi (x) + 2Ai(x)Ai (x) − x Ai(x) Z 1 π Y (x) dx = ln n xJn(x)Yn(x) 2 Jn(x)
Indefinite integration
Antiderivatives Z f (x) dx = g(x)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Indefinite integration
Antiderivatives Z f (x) dx = g(x)
Examples Z Li (x) − xLi (x) x ln(1 − x)2 3 2 dx = (Li (x) − Li (x)) + (1 − x)2 1 − x 3 2 2 Z 0 2 1 0 2 0 2 2 Ai (x) dx = 3 xAi (x) + 2Ai(x)Ai (x) − x Ai(x) Z 1 π Y (x) dx = ln n xJn(x)Yn(x) 2 Jn(x)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Examples Z ∞ zx x dx = Li2(z) 0 e − z Z ∞ −sx Γ(a) e γ(a, x) dx = a 0 s(s + 1) n Z 1 1 i X 1 e−2nπix ln(sin( π x)) dx = − + 2 4n nπ 2k − 1 0 k=1
Definite integration
Integrals depending on parameters Z b f (x, y) dx = g(y) a
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Definite integration
Integrals depending on parameters Z b f (x, y) dx = g(y) a
Examples Z ∞ zx x dx = Li2(z) 0 e − z Z ∞ −sx Γ(a) e γ(a, x) dx = a 0 s(s + 1) n Z 1 1 i X 1 e−2nπix ln(sin( π x)) dx = − + 2 4n nπ 2k − 1 0 k=1
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions After integrating from 0 to ∞ we obtain Z ∞ Z ∞ z −x ∞ z f (z, x)dx − f (z + 1, x)dx = x e x=0 0 0
In other words, we proved
zΓ(z) − Γ(z + 1) = 0
Example: Gamma function
Z ∞ Γ(z) := xz−1e−x dx for z > 0 0 | {z } =:f (z,x) We compute d zf (z, x) − f (z + 1, x) = xz e−x dx
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions In other words, we proved
zΓ(z) − Γ(z + 1) = 0
Example: Gamma function
Z ∞ Γ(z) := xz−1e−x dx for z > 0 0 | {z } =:f (z,x) We compute d zf (z, x) − f (z + 1, x) = xz e−x dx
After integrating from 0 to ∞ we obtain Z ∞ Z ∞ z −x ∞ z f (z, x)dx − f (z + 1, x)dx = x e x=0 0 0
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Example: Gamma function
Z ∞ Γ(z) := xz−1e−x dx for z > 0 0 | {z } =:f (z,x) We compute d zf (z, x) − f (z + 1, x) = xz e−x dx
After integrating from 0 to ∞ we obtain Z ∞ Z ∞ z −x ∞ z f (z, x)dx − f (z + 1, x)dx = x e x=0 0 0
In other words, we proved
zΓ(z) − Γ(z + 1) = 0
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions yields an ODE for
Z b I (y) := f (x, y)dx a
d c0(n)f (x, n) + ··· + cm(n)f (x, n + m) = dx g(x, n) yields a recurrence for
Z b I (n) := f (x, n)dx a
Linear Relations
Integrals depending on one parameter ∂mf d c0(y)f (x, y) + ··· + cm(y) ∂y m (x, y) = dx g(x, y)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions d c0(n)f (x, n) + ··· + cm(n)f (x, n + m) = dx g(x, n) yields a recurrence for
Z b I (n) := f (x, n)dx a
Linear Relations
Integrals depending on one parameter ∂mf d c0(y)f (x, y) + ··· + cm(y) ∂y m (x, y) = dx g(x, y) yields an ODE for
Z b I (y) := f (x, y)dx a
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions yields a recurrence for
Z b I (n) := f (x, n)dx a
Linear Relations
Integrals depending on one parameter ∂mf d c0(y)f (x, y) + ··· + cm(y) ∂y m (x, y) = dx g(x, y) yields an ODE for
Z b I (y) := f (x, y)dx a
d c0(n)f (x, n) + ··· + cm(n)f (x, n + m) = dx g(x, n)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Linear Relations
Integrals depending on one parameter ∂mf d c0(y)f (x, y) + ··· + cm(y) ∂y m (x, y) = dx g(x, y) yields an ODE for
Z b I (y) := f (x, y)dx a
d c0(n)f (x, n) + ··· + cm(n)f (x, n + m) = dx g(x, n) yields a recurrence for
Z b I (n) := f (x, n)dx a
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions g(x) is a certificate for the relation
It is easy to verify 0 c0f0(x) + ··· + cmfm(x) = g (x) and r = g(b) − g(a)
0 ,..., fm(x) and c0,..., cm const. w.r.t. x
c0 0 + ··· + cmfm(x) Transfer this to a relation of corresponding integrals b b R R c0 f0(x)dx + ··· + cm fm(x)dx = g(b) − g(a) a a
Certificate
b b R R c0 f0(x)dx + ··· + cm fm(x)dx = r a a
Parametric integration
Compute linear relation of integrals Given f (x) , find g(x) s.t. f (x) = g 0(x)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions g(x) is a certificate for the relation
It is easy to verify 0 c0f0(x) + ··· + cmfm(x) = g (x) and r = g(b) − g(a)
and c0,..., cm const. w.r.t. x
c0 0 + ··· + cmfm(x) Transfer this to a relation of corresponding integrals b b R R c0 f0(x)dx + ··· + cm fm(x)dx = g(b) − g(a) a a
Certificate
b b R R c0 f0(x)dx + ··· + cm fm(x)dx = r a a
Parametric integration
Compute linear relation of integrals
Given f 0(x),..., fm(x), find g(x) s.t. f (x) = g 0(x)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions g(x) is a certificate for the relation
It is easy to verify 0 c0f0(x) + ··· + cmfm(x) = g (x) and r = g(b) − g(a)
c0 0 + ··· + cmfm(x) Transfer this to a relation of corresponding integrals b b R R c0 f0(x)dx + ··· + cm fm(x)dx = g(b) − g(a) a a
Certificate
b b R R c0 f0(x)dx + ··· + cm fm(x)dx = r a a
Parametric integration
Compute linear relation of integrals
Given f 0(x),..., fm(x), find g(x) and c0,..., cm const. w.r.t. x s.t. f (x) = g 0(x)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions g(x) is a certificate for the relation
It is easy to verify 0 c0f0(x) + ··· + cmfm(x) = g (x) and r = g(b) − g(a)
Transfer this to a relation of corresponding integrals b b R R c0 f0(x)dx + ··· + cm fm(x)dx = g(b) − g(a) a a
Certificate
b b R R c0 f0(x)dx + ··· + cm fm(x)dx = r a a
Parametric integration
Compute linear relation of integrals
Given f 0(x),..., fm(x), find g(x) and c0,..., cm const. w.r.t. x s.t. 0 c0f 0(x) + ··· + cmfm(x) = g (x)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions g(x) is a certificate for the relation
It is easy to verify 0 c0f0(x) + ··· + cmfm(x) = g (x) and r = g(b) − g(a)
Certificate
b b R R c0 f0(x)dx + ··· + cm fm(x)dx = r a a
Parametric integration
Compute linear relation of integrals
Given f 0(x),..., fm(x), find g(x) and c0,..., cm const. w.r.t. x s.t. 0 c0f 0(x) + ··· + cmfm(x) = g (x) Transfer this to a relation of corresponding integrals b b R R c0 f0(x)dx + ··· + cm fm(x)dx = g(b) − g(a) a a
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions g(x) is a certificate for the relation
It is easy to verify 0 c0f0(x) + ··· + cmfm(x) = g (x) and r = g(b) − g(a)
Parametric integration
Compute linear relation of integrals
Given f 0(x),..., fm(x), find g(x) and c0,..., cm const. w.r.t. x s.t. 0 c0f 0(x) + ··· + cmfm(x) = g (x) Transfer this to a relation of corresponding integrals b b R R c0 f0(x)dx + ··· + cm fm(x)dx = g(b) − g(a) a a
Certificate
b b R R c0 f0(x)dx + ··· + cm fm(x)dx = r a a
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Parametric integration
Compute linear relation of integrals
Given f 0(x),..., fm(x), find g(x) and c0,..., cm const. w.r.t. x s.t. 0 c0f 0(x) + ··· + cmfm(x) = g (x) Transfer this to a relation of corresponding integrals b b R R c0 f0(x)dx + ··· + cm fm(x)dx = g(b) − g(a) a a
Certificate g(x) is a certificate for the relation b b R R c0 f0(x)dx + ··· + cm fm(x)dx = r a a It is easy to verify 0 c0f0(x) + ··· + cmfm(x) = g (x) and r = g(b) − g(a)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Relevant classes of functions and Risch’s algorithm
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions taking solutions of algebraic equations m m−1 y(x) + am−1(x)y(x) + ··· + a0(x) = 0 taking logarithms y(x) = log(a(x)) taking exponentials y(x) = exp(a(x))
Examples algebraic functions, logarithms, cx , xc , trigonometric/hyperbolic functions and their inverses, . . .
2 x ln(x + 3) − 4x arctan(tanh( 2 )) 1 p xx ln(x) tan(x) exp(exp(x) − x ) cos(2x)
Elementary functions
Characterization Functions constructed from rational functions by basic arithmetic operations +, −, ∗,/
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions taking logarithms y(x) = log(a(x)) taking exponentials y(x) = exp(a(x))
Examples algebraic functions, logarithms, cx , xc , trigonometric/hyperbolic functions and their inverses, . . .
2 x ln(x + 3) − 4x arctan(tanh( 2 )) 1 p xx ln(x) tan(x) exp(exp(x) − x ) cos(2x)
Elementary functions
Characterization Functions constructed from rational functions by basic arithmetic operations +, −, ∗,/ taking solutions of algebraic equations m m−1 y(x) + am−1(x)y(x) + ··· + a0(x) = 0
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions taking exponentials y(x) = exp(a(x))
Examples algebraic functions, logarithms, cx , xc , trigonometric/hyperbolic functions and their inverses, . . .
2 x ln(x + 3) − 4x arctan(tanh( 2 )) 1 p xx ln(x) tan(x) exp(exp(x) − x ) cos(2x)
Elementary functions
Characterization Functions constructed from rational functions by basic arithmetic operations +, −, ∗,/ taking solutions of algebraic equations m m−1 y(x) + am−1(x)y(x) + ··· + a0(x) = 0 taking logarithms y(x) = log(a(x))
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Examples algebraic functions, logarithms, cx , xc , trigonometric/hyperbolic functions and their inverses, . . .
2 x ln(x + 3) − 4x arctan(tanh( 2 )) 1 p xx ln(x) tan(x) exp(exp(x) − x ) cos(2x)
Elementary functions
Characterization Functions constructed from rational functions by basic arithmetic operations +, −, ∗,/ taking solutions of algebraic equations m m−1 y(x) + am−1(x)y(x) + ··· + a0(x) = 0 taking logarithms y(x) = log(a(x)) taking exponentials y(x) = exp(a(x))
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Elementary functions
Characterization Functions constructed from rational functions by basic arithmetic operations +, −, ∗,/ taking solutions of algebraic equations m m−1 y(x) + am−1(x)y(x) + ··· + a0(x) = 0 taking logarithms y(x) = log(a(x)) taking exponentials y(x) = exp(a(x))
Examples algebraic functions, logarithms, cx , xc , trigonometric/hyperbolic functions and their inverses, . . .
2 x ln(x + 3) − 4x arctan(tanh( 2 )) 1 p xx ln(x) tan(x) exp(exp(x) − x ) cos(2x)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Algorithm Risch 1969, Bronstein 1990
Examples √ √ ! Z 1 2 x − 2 dx = log √ x2 − 2 4 x + 2 Z exp(x2) dx is not elementary
Elementary integrals of elementary functions
Problem Given an elementary function f (x) Decide whether there is an elementary function g(x) with g 0(x) = f (x) and compute such a g(x) if it exists
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Examples √ √ ! Z 1 2 x − 2 dx = log √ x2 − 2 4 x + 2 Z exp(x2) dx is not elementary
Elementary integrals of elementary functions
Problem Given an elementary function f (x) Decide whether there is an elementary function g(x) with g 0(x) = f (x) and compute such a g(x) if it exists
Algorithm Risch 1969, Bronstein 1990
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Elementary integrals of elementary functions
Problem Given an elementary function f (x) Decide whether there is an elementary function g(x) with g 0(x) = f (x) and compute such a g(x) if it exists
Algorithm Risch 1969, Bronstein 1990
Examples √ √ ! Z 1 2 x − 2 dx = log √ x2 − 2 4 x + 2 Z exp(x2) dx is not elementary
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Split numerator a(x) = x4 + 2x3 − x2 + 3 of integrand
a(x) = b(x) · (−(x + 1)) + c(x) · (x + 2).
By EEA we compute
b(x) = −1 c(x) = x3 − x + 1.
So Z x4 + 2x3 − x2 + 3 b(x) Z c(x) − (x + 1)b0(x) dx = + dx (x + 1)(x + 2)2 x + 2 (x + 1)(x + 2) 1 Z x3 − x + 1 = − + dx. x + 2 (x + 1)(x + 2)
Example
Z x4 + 2x3 − x2 + 3 dx = ? (x + 1)(x + 2)2
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions So Z x4 + 2x3 − x2 + 3 b(x) Z c(x) − (x + 1)b0(x) dx = + dx (x + 1)(x + 2)2 x + 2 (x + 1)(x + 2) 1 Z x3 − x + 1 = − + dx. x + 2 (x + 1)(x + 2)
Example
Z x4 + 2x3 − x2 + 3 dx = ? (x + 1)(x + 2)2
Split numerator a(x) = x4 + 2x3 − x2 + 3 of integrand
a(x) = b(x) · (−(x + 1)) + c(x) · (x + 2).
By EEA we compute
b(x) = −1 c(x) = x3 − x + 1.
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Example
Z x4 + 2x3 − x2 + 3 dx = ? (x + 1)(x + 2)2
Split numerator a(x) = x4 + 2x3 − x2 + 3 of integrand
a(x) = b(x) · (−(x + 1)) + c(x) · (x + 2).
By EEA we compute
b(x) = −1 c(x) = x3 − x + 1.
So Z x4 + 2x3 − x2 + 3 b(x) Z c(x) − (x + 1)b0(x) dx = + dx (x + 1)(x + 2)2 x + 2 (x + 1)(x + 2) 1 Z x3 − x + 1 = − + dx. x + 2 (x + 1)(x + 2)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions For determining the residues we compute the Gr¨obnerbasis of
{a(x) − zb0(x), b(x)}
w.r.t. z < x with numerator a(x) = x3 − x + 1 and denominator b(x) = (x + 1)(x + 2):
1 3 {(z − 1)(z − 5), x + 4 z + 4 } So with the residues z = 1 and z = 5 Z x3 − x + 1 Z dx = 1 ln(x + 1 + 3 )+5 ln(x + 5 + 3 )+ x −3 dx (x + 1)(x + 2) 4 4 4 4
Example (cont.)
Z x3 − x + 1 dx = ? (x + 1)(x + 2)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions So with the residues z = 1 and z = 5 Z x3 − x + 1 Z dx = 1 ln(x + 1 + 3 )+5 ln(x + 5 + 3 )+ x −3 dx (x + 1)(x + 2) 4 4 4 4
Example (cont.)
Z x3 − x + 1 dx = ? (x + 1)(x + 2)
For determining the residues we compute the Gr¨obnerbasis of
{a(x) − zb0(x), b(x)}
w.r.t. z < x with numerator a(x) = x3 − x + 1 and denominator b(x) = (x + 1)(x + 2):
1 3 {(z − 1)(z − 5), x + 4 z + 4 }
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Example (cont.)
Z x3 − x + 1 dx = ? (x + 1)(x + 2)
For determining the residues we compute the Gr¨obnerbasis of
{a(x) − zb0(x), b(x)}
w.r.t. z < x with numerator a(x) = x3 − x + 1 and denominator b(x) = (x + 1)(x + 2):
1 3 {(z − 1)(z − 5), x + 4 z + 4 } So with the residues z = 1 and z = 5 Z x3 − x + 1 Z dx = 1 ln(x + 1 + 3 )+5 ln(x + 5 + 3 )+ x −3 dx (x + 1)(x + 2) 4 4 4 4
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Ansatz: d x − 3 = (a x2 + a x) dx 2 1 Comparing coefficients leads to
1 a2 = 2 a1 = −3.
Altogether, we obtained
Z x4 + 2x3 − x2 + 3 1 dx = − +ln(x+1)+5 ln(x+2)+ 1 x2−3x (x + 1)(x + 2)2 x + 2 2
Example (cont.) Z x − 3 dx = ?
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Altogether, we obtained
Z x4 + 2x3 − x2 + 3 1 dx = − +ln(x+1)+5 ln(x+2)+ 1 x2−3x (x + 1)(x + 2)2 x + 2 2
Example (cont.) Z x − 3 dx = ?
Ansatz: d x − 3 = (a x2 + a x) dx 2 1 Comparing coefficients leads to
1 a2 = 2 a1 = −3.
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Example (cont.) Z x − 3 dx = ?
Ansatz: d x − 3 = (a x2 + a x) dx 2 1 Comparing coefficients leads to
1 a2 = 2 a1 = −3.
Altogether, we obtained
Z x4 + 2x3 − x2 + 3 1 dx = − +ln(x+1)+5 ln(x+2)+ 1 x2−3x (x + 1)(x + 2)2 x + 2 2
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Examples elementary functions, exponential integrals, polylogarithms, error functions, Fresnel integrals, incomplete gamma function, . . .
x −x2 π 1 2 Ei(2 ln(x)) Li2(e ) e 2 erfi(x) − 2 Ei(x ) Z x π 2 1 1 cos( 2 u )(C(u) + 2 )(S(u) − 2 ) du −∞
Liouvillian functions
Characterization Functions constructed from rational functions by basic arithmetic operations +, −, ∗,/ taking solutions of algebraic equations m m−1 y(x) + am−1(x)y(x) + ··· + a0(x) = 0 taking antiderivatives y 0(x) = a(x) taking exponentials y(x) = exp(a(x))
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Liouvillian functions
Characterization Functions constructed from rational functions by basic arithmetic operations +, −, ∗,/ taking solutions of algebraic equations m m−1 y(x) + am−1(x)y(x) + ··· + a0(x) = 0 taking antiderivatives y 0(x) = a(x) taking exponentials y(x) = exp(a(x))
Examples elementary functions, exponential integrals, polylogarithms, error functions, Fresnel integrals, incomplete gamma function, . . .
x −x2 π 1 2 Ei(2 ln(x)) Li2(e ) e 2 erfi(x) − 2 Ei(x ) Z x π 2 1 1 cos( 2 u )(C(u) + 2 )(S(u) − 2 ) du −∞ Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Examples Liouvillian functions, orthogonal polynomials, associated Legendre functions, complete elliptic integrals, Airy/Scorer functions, Bessel/Struve/Anger/Weber/Lommel/Kelvin functions, Whittaker functions, hypergeometric functions, Heun functions, Mathieu functions, . . .
Generalization
Characterization Functions constructed from rational functions by basic arithmetic operations +, −, ∗,/ taking solutions of algebraic equations m m−1 y(x) + am−1(x)y(x) + ··· + a0(x) = 0 taking solutions of 2-dimensioinal differential systems y (x)0 a (x) a (x) y (x) b (x) 1 = 11 12 1 + 1 y2(x) a21(x) a22(x) y2(x) b2(x)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Generalization
Characterization Functions constructed from rational functions by basic arithmetic operations +, −, ∗,/ taking solutions of algebraic equations m m−1 y(x) + am−1(x)y(x) + ··· + a0(x) = 0 taking solutions of 2-dimensioinal differential systems y (x)0 a (x) a (x) y (x) b (x) 1 = 11 12 1 + 1 y2(x) a21(x) a22(x) y2(x) b2(x)
Examples Liouvillian functions, orthogonal polynomials, associated Legendre functions, complete elliptic integrals, Airy/Scorer functions, Bessel/Struve/Anger/Weber/Lommel/Kelvin functions, Whittaker functions, hypergeometric functions, Heun functions, Mathieu functions, . . .
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Basics of differential fields
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Constant field: Const(F ) := {c ∈ F | Dc = 0}
Examples Q d Q x d R n d ( (x), dx )( (e ), dx )( (n, x, x , ln(x)), dx ) C d ( (n, x, Jn(x), Jn+1(x), Yn(x), Yn+1(x)), dx )
NB f (x) 0 f (x), g(x) ∈ F ⇒ f (x) + g(x), f (x)g(x), g(x) , f (x) ∈ F , but f (x)g(x), f (g(x)), and R f (x) dx in general are not in F
Differential algebra
Differential field (F , D) such that for any f , g ∈ F
D(f + g) = Df + Dg and D(fg) = (Df )g + f (Dg)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Examples Q d Q x d R n d ( (x), dx )( (e ), dx )( (n, x, x , ln(x)), dx ) C d ( (n, x, Jn(x), Jn+1(x), Yn(x), Yn+1(x)), dx )
NB f (x) 0 f (x), g(x) ∈ F ⇒ f (x) + g(x), f (x)g(x), g(x) , f (x) ∈ F , but f (x)g(x), f (g(x)), and R f (x) dx in general are not in F
Differential algebra
Differential field (F , D) such that for any f , g ∈ F
D(f + g) = Df + Dg and D(fg) = (Df )g + f (Dg)
Constant field: Const(F ) := {c ∈ F | Dc = 0}
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions NB f (x) 0 f (x), g(x) ∈ F ⇒ f (x) + g(x), f (x)g(x), g(x) , f (x) ∈ F , but f (x)g(x), f (g(x)), and R f (x) dx in general are not in F
Differential algebra
Differential field (F , D) such that for any f , g ∈ F
D(f + g) = Df + Dg and D(fg) = (Df )g + f (Dg)
Constant field: Const(F ) := {c ∈ F | Dc = 0}
Examples Q d Q x d R n d ( (x), dx )( (e ), dx )( (n, x, x , ln(x)), dx ) C d ( (n, x, Jn(x), Jn+1(x), Yn(x), Yn+1(x)), dx )
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Differential algebra
Differential field (F , D) such that for any f , g ∈ F
D(f + g) = Df + Dg and D(fg) = (Df )g + f (Dg)
Constant field: Const(F ) := {c ∈ F | Dc = 0}
Examples Q d Q x d R n d ( (x), dx )( (e ), dx )( (n, x, x , ln(x)), dx ) C d ( (n, x, Jn(x), Jn+1(x), Yn(x), Yn+1(x)), dx )
NB f (x) 0 f (x), g(x) ∈ F ⇒ f (x) + g(x), f (x)g(x), g(x) , f (x) ∈ F , but f (x)g(x), f (g(x)), and R f (x) dx in general are not in F
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions The result is a differential field extension of (F , D) if
Dti ∈ F (t1,..., tn) and
D can be extended consistently to F (t1,..., tn).
Differential field extensions
Adjoin new elements
To a differential field (F , D) we can adjoin new elements t1,..., tn to get a field F (t1,..., tn).
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Differential field extensions
Adjoin new elements
To a differential field (F , D) we can adjoin new elements t1,..., tn to get a field F (t1,..., tn). The result is a differential field extension of (F , D) if
Dti ∈ F (t1,..., tn) and
D can be extended consistently to F (t1,..., tn).
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Examples Q d ln(x), exp(x), tan(x) are monomials over ( (x), dx ): d 1 dx ln(x) = x d dx exp(x) = exp(x) d 2 dx tan(x) = tan(x) + 1
Towers of monomial extensions
We consider differential fields (C(t1,..., tn), D) such that each ti is a monomial over (C(t1,..., ti−1), D).
Monomial extensions
Definition t is a monomial over (F , D) if t is transcendental over F and Dt is a polynomial in t with coefficients from F
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Towers of monomial extensions
We consider differential fields (C(t1,..., tn), D) such that each ti is a monomial over (C(t1,..., ti−1), D).
Monomial extensions
Definition t is a monomial over (F , D) if t is transcendental over F and Dt is a polynomial in t with coefficients from F
Examples Q d ln(x), exp(x), tan(x) are monomials over ( (x), dx ): d 1 dx ln(x) = x d dx exp(x) = exp(x) d 2 dx tan(x) = tan(x) + 1
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Monomial extensions
Definition t is a monomial over (F , D) if t is transcendental over F and Dt is a polynomial in t with coefficients from F
Examples Q d ln(x), exp(x), tan(x) are monomials over ( (x), dx ): d 1 dx ln(x) = x d dx exp(x) = exp(x) d 2 dx tan(x) = tan(x) + 1
Towers of monomial extensions
We consider differential fields (C(t1,..., tn), D) such that each ti is a monomial over (C(t1,..., ti−1), D).
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions NB The definition is relative to F . An elementary extension E contains non-elementary functions if F does.
Elementary extensions
Elementary extension Any (E, D) generated from (F , D) by adjoining m m−1 algebraics: y(x) + am−1(x)y(x) + ··· + a0(x) = 0 logarithms: y(x) = log(a(x)) exponentials: y(x) = exp(a(x))
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Elementary extensions
Elementary extension Any (E, D) generated from (F , D) by adjoining m m−1 algebraics: y(x) + am−1(x)y(x) + ··· + a0(x) = 0 logarithms: y(x) = log(a(x)) exponentials: y(x) = exp(a(x))
NB The definition is relative to F . An elementary extension E contains non-elementary functions if F does.
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions A generalization of Risch’s algorithm
Introduction
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions = Dg
and compute such g
Find all c0,..., cm ∈ Const(F ) s.t.
c0f0 + ··· + cmfm
has an elementary integral over (F , D)
Definition We say that f ∈ F has an elementary integral over (F , D) if there exists an elementary extension (E, D) of (F , D) and g ∈ E s.t.
Dg = f
NB The definition is relative to F . The integral g need not be an elementary function.
Parametric elementary integration
Problem
Given (F , D) and f0,..., fm ∈ F
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions = Dg
and compute such g
Definition We say that f ∈ F has an elementary integral over (F , D) if there exists an elementary extension (E, D) of (F , D) and g ∈ E s.t.
Dg = f
NB The definition is relative to F . The integral g need not be an elementary function.
Parametric elementary integration
Problem
Given (F , D) and f0,..., fm ∈ F
Find all c0,..., cm ∈ Const(F ) s.t.
c0f0 + ··· + cmfm
has an elementary integral over (F , D)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Definition We say that f ∈ F has an elementary integral over (F , D) if there exists an elementary extension (E, D) of (F , D) and g ∈ E s.t.
Dg = f
NB The definition is relative to F . The integral g need not be an elementary function.
Parametric elementary integration
Problem
Given (F , D) and f0,..., fm ∈ F
Find all c0,..., cm ∈ Const(F ) s.t.
c0f0 + ··· + cmfm = Dg
has an elementary integral over (F , D) and compute such g
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions if there exists an elementary extension (E, D) of (F , D) and g ∈ E s.t.
Dg = f
NB The definition is relative to F . The integral g need not be an elementary function.
Parametric elementary integration
Problem
Given (F , D) and f0,..., fm ∈ F
Find all c0,..., cm ∈ Const(F ) s.t.
c0f0 + ··· + cmfm = Dg
has an elementary integral over (F , D) and compute such g
Definition We say that f ∈ F has an elementary integral over (F , D)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions NB The definition is relative to F . The integral g need not be an elementary function.
Parametric elementary integration
Problem
Given (F , D) and f0,..., fm ∈ F
Find all c0,..., cm ∈ Const(F ) s.t.
c0f0 + ··· + cmfm = Dg
has an elementary integral over (F , D) and compute such g
Definition We say that f ∈ F has an elementary integral over (F , D) if there exists an elementary extension (E, D) of (F , D) and g ∈ E s.t.
Dg = f
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Parametric elementary integration
Problem
Given (F , D) and f0,..., fm ∈ F
Find all c0,..., cm ∈ Const(F ) s.t.
c0f0 + ··· + cmfm = Dg
has an elementary integral over (F , D) and compute such g
Definition We say that f ∈ F has an elementary integral over (F , D) if there exists an elementary extension (E, D) of (F , D) and g ∈ E s.t.
Dg = f
NB The definition is relative to F . The integral g need not be an elementary function. Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions for each ti and Fi−1 := C(t1,..., ti−1) either 1 ti is a Liouvillian monomial over Fi−1, i.e., either 1 Dti ∈ Fi−1 (primitive), or Dti 2 ∈ Fi−1 (hyperexponential); or ti 2 there is a q ∈ Fi−1[ti ] with deg(q) ≥ 2 such that 1 Dti = q(ti ) and 2 Dy = q(y) does not have a solution y ∈ Fi−1.
NB
In a tower of monomial extensions all generators ti are algebraically independent over C.
Admissible integrands
Admissible differential fields We call a tower of monomial extensions (F , D) = (C(t1,..., tn), D) admissible, if Const(F ) = C and
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions 2 there is a q ∈ Fi−1[ti ] with deg(q) ≥ 2 such that 1 Dti = q(ti ) and 2 Dy = q(y) does not have a solution y ∈ Fi−1.
NB
In a tower of monomial extensions all generators ti are algebraically independent over C.
Admissible integrands
Admissible differential fields We call a tower of monomial extensions (F , D) = (C(t1,..., tn), D) admissible, if Const(F ) = C and for each ti and Fi−1 := C(t1,..., ti−1) either 1 ti is a Liouvillian monomial over Fi−1, i.e., either 1 Dti ∈ Fi−1 (primitive), or Dti 2 ∈ Fi−1 (hyperexponential); or ti
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions NB
In a tower of monomial extensions all generators ti are algebraically independent over C.
Admissible integrands
Admissible differential fields We call a tower of monomial extensions (F , D) = (C(t1,..., tn), D) admissible, if Const(F ) = C and for each ti and Fi−1 := C(t1,..., ti−1) either 1 ti is a Liouvillian monomial over Fi−1, i.e., either 1 Dti ∈ Fi−1 (primitive), or Dti 2 ∈ Fi−1 (hyperexponential); or ti 2 there is a q ∈ Fi−1[ti ] with deg(q) ≥ 2 such that 1 Dti = q(ti ) and 2 Dy = q(y) does not have a solution y ∈ Fi−1.
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Admissible integrands
Admissible differential fields We call a tower of monomial extensions (F , D) = (C(t1,..., tn), D) admissible, if Const(F ) = C and for each ti and Fi−1 := C(t1,..., ti−1) either 1 ti is a Liouvillian monomial over Fi−1, i.e., either 1 Dti ∈ Fi−1 (primitive), or Dti 2 ∈ Fi−1 (hyperexponential); or ti 2 there is a q ∈ Fi−1[ti ] with deg(q) ≥ 2 such that 1 Dti = q(ti ) and 2 Dy = q(y) does not have a solution y ∈ Fi−1.
NB
In a tower of monomial extensions all generators ti are algebraically independent over C.
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions History
Risch 1969, Mack 1976 complete algorithm for regular elementary (F , D)
Singer et al. 1985 complete algorithm for regular Liouvillian (F , D)
Bronstein 1990, 1997 partial results for (F , D) a tower of monomial extensions
CGR 2012 complete algorithm for (F , D) a tower of monomial extensions subject to some technical conditions
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions A generalization of Risch’s algorithm
Inside the algorithm
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions 2 compute parts of the integral involving tn 3 subtract its derivative ⇒ remaining integrands are from K = C(t1,..., tn−1) 4 proceed recursively with the smaller tower
At each level 1 Hermite Reduction for reducing denominator 2 Residue Criterion for computing elementary extensions 3 Treat reduced integrands by solving auxiliary problems in K 4 remaining integrands are from K, reduce elementary integration over K(tn) to elementary integration over K
Decision procedure
Recursive reduction algorithm Exploit tower structure: focus on topmost generator only
1 integrands from K(tn) = C(t1,..., tn)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions 3 subtract its derivative ⇒ remaining integrands are from K = C(t1,..., tn−1) 4 proceed recursively with the smaller tower
At each level 1 Hermite Reduction for reducing denominator 2 Residue Criterion for computing elementary extensions 3 Treat reduced integrands by solving auxiliary problems in K 4 remaining integrands are from K, reduce elementary integration over K(tn) to elementary integration over K
Decision procedure
Recursive reduction algorithm Exploit tower structure: focus on topmost generator only
1 integrands from K(tn) = C(t1,..., tn)
2 compute parts of the integral involving tn
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions 4 proceed recursively with the smaller tower
At each level 1 Hermite Reduction for reducing denominator 2 Residue Criterion for computing elementary extensions 3 Treat reduced integrands by solving auxiliary problems in K 4 remaining integrands are from K, reduce elementary integration over K(tn) to elementary integration over K
Decision procedure
Recursive reduction algorithm Exploit tower structure: focus on topmost generator only
1 integrands from K(tn) = C(t1,..., tn)
2 compute parts of the integral involving tn 3 subtract its derivative ⇒ remaining integrands are from K = C(t1,..., tn−1)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions At each level 1 Hermite Reduction for reducing denominator 2 Residue Criterion for computing elementary extensions 3 Treat reduced integrands by solving auxiliary problems in K 4 remaining integrands are from K, reduce elementary integration over K(tn) to elementary integration over K
Decision procedure
Recursive reduction algorithm Exploit tower structure: focus on topmost generator only
1 integrands from K(tn) = C(t1,..., tn)
2 compute parts of the integral involving tn 3 subtract its derivative ⇒ remaining integrands are from K = C(t1,..., tn−1) 4 proceed recursively with the smaller tower
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions 2 Residue Criterion for computing elementary extensions 3 Treat reduced integrands by solving auxiliary problems in K 4 remaining integrands are from K, reduce elementary integration over K(tn) to elementary integration over K
Decision procedure
Recursive reduction algorithm Exploit tower structure: focus on topmost generator only
1 integrands from K(tn) = C(t1,..., tn)
2 compute parts of the integral involving tn 3 subtract its derivative ⇒ remaining integrands are from K = C(t1,..., tn−1) 4 proceed recursively with the smaller tower
At each level 1 Hermite Reduction for reducing denominator
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions 3 Treat reduced integrands by solving auxiliary problems in K 4 remaining integrands are from K, reduce elementary integration over K(tn) to elementary integration over K
Decision procedure
Recursive reduction algorithm Exploit tower structure: focus on topmost generator only
1 integrands from K(tn) = C(t1,..., tn)
2 compute parts of the integral involving tn 3 subtract its derivative ⇒ remaining integrands are from K = C(t1,..., tn−1) 4 proceed recursively with the smaller tower
At each level 1 Hermite Reduction for reducing denominator 2 Residue Criterion for computing elementary extensions
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions 4 remaining integrands are from K, reduce elementary integration over K(tn) to elementary integration over K
Decision procedure
Recursive reduction algorithm Exploit tower structure: focus on topmost generator only
1 integrands from K(tn) = C(t1,..., tn)
2 compute parts of the integral involving tn 3 subtract its derivative ⇒ remaining integrands are from K = C(t1,..., tn−1) 4 proceed recursively with the smaller tower
At each level 1 Hermite Reduction for reducing denominator 2 Residue Criterion for computing elementary extensions 3 Treat reduced integrands by solving auxiliary problems in K
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Decision procedure
Recursive reduction algorithm Exploit tower structure: focus on topmost generator only
1 integrands from K(tn) = C(t1,..., tn)
2 compute parts of the integral involving tn 3 subtract its derivative ⇒ remaining integrands are from K = C(t1,..., tn−1) 4 proceed recursively with the smaller tower
At each level 1 Hermite Reduction for reducing denominator 2 Residue Criterion for computing elementary extensions 3 Treat reduced integrands by solving auxiliary problems in K 4 remaining integrands are from K, reduce elementary integration over K(tn) to elementary integration over K
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Elementary integrand Z x ln(x) − 1 x + 1 dx = x(ln(x) + 1)2 ln(x) + 1 Z xex + 1 x + 1 dx = − (ex − x − 2)2 ex − x − 2
Structural observations: orders of poles
Rational integrand Z 2x3 + 3x − 3 2x2 + x + 1 dx = − (x + 1)3(x + 2)2 (x + 1)2(x + 2)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Structural observations: orders of poles
Rational integrand Z 2x3 + 3x − 3 2x2 + x + 1 dx = − (x + 1)3(x + 2)2 (x + 1)2(x + 2)
Elementary integrand Z x ln(x) − 1 x + 1 dx = x(ln(x) + 1)2 ln(x) + 1 Z xex + 1 x + 1 dx = − (ex − x − 2)2 ex − x − 2
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Hermite reduction
Principle Consider squarefree factorization of denominator Use exponents of factors instead of orders of poles
Repeat the basic step 1 Splitting of the integrand
Z a Z b·(1−m)Dv Z c = + u·v m v m u·v m−1
Z (1−m)Dv b Z Db b· = − v m v m−1 v m−1
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Exceptional cases
Special factors Z (6x + 1)ex − 4x 2x + 1 dx = − (ex )2(ex − 1)2 (ex )2(ex − 1) Z 20x tan(x)3 + 1 5x tan(x) + 1 = − tan(x)2(tan(x)2 + 1)2 tan(x)(tan(x)2 + 1)2
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions √ Z 2x2 + 6x + 1 arctanh( 3(x + 1)) dx = arctan(x)+ √ (x2 + 1)(3x2 + 6x + 2) 3
Liouvillian integrand Z li(x) li(x) dx = ln(ln(x)) − x2 x
Complete elliptic integrals Z xE(x)2 E(x) dx = − ln(x) (1 − x2)(E(x) − K(x))2 E(x) − K(x)
Structural observations: new functions
Rational integrand Z x + 1 2 dx = + ln(x + 3) (x + 3)2 x + 3
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Liouvillian integrand Z li(x) li(x) dx = ln(ln(x)) − x2 x
Complete elliptic integrals Z xE(x)2 E(x) dx = − ln(x) (1 − x2)(E(x) − K(x))2 E(x) − K(x)
Structural observations: new functions
Rational integrand Z x + 1 2 dx = + ln(x + 3) (x + 3)2 x + 3 √ Z 2x2 + 6x + 1 arctanh( 3(x + 1)) dx = arctan(x)+ √ (x2 + 1)(3x2 + 6x + 2) 3
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Complete elliptic integrals Z xE(x)2 E(x) dx = − ln(x) (1 − x2)(E(x) − K(x))2 E(x) − K(x)
Structural observations: new functions
Rational integrand Z x + 1 2 dx = + ln(x + 3) (x + 3)2 x + 3 √ Z 2x2 + 6x + 1 arctanh( 3(x + 1)) dx = arctan(x)+ √ (x2 + 1)(3x2 + 6x + 2) 3
Liouvillian integrand Z li(x) li(x) dx = ln(ln(x)) − x2 x
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Structural observations: new functions
Rational integrand Z x + 1 2 dx = + ln(x + 3) (x + 3)2 x + 3 √ Z 2x2 + 6x + 1 arctanh( 3(x + 1)) dx = arctan(x)+ √ (x2 + 1)(3x2 + 6x + 2) 3
Liouvillian integrand Z li(x) li(x) dx = ln(ln(x)) − x2 x
Complete elliptic integrals Z xE(x)2 E(x) dx = − ln(x) (1 − x2)(E(x) − K(x))2 E(x) − K(x)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions , then there exist c1,..., cj ∈ Const(F ) and u0,..., uj ∈ F (c1,..., cj ) s.t.
j Z X f = u0 + ci log(ui ) i=1
Algorithms to compute the ci and ui Lazard-Rioboo-Rothstein-Trager (based on subresultants) Czichowski (based on Gr¨obnerbases)
General situation
Liouville’s theorem If f ∈ F has an integral in an elementary extension of (F , D)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Algorithms to compute the ci and ui Lazard-Rioboo-Rothstein-Trager (based on subresultants) Czichowski (based on Gr¨obnerbases)
General situation
Liouville’s theorem If f ∈ F has an integral in an elementary extension of (F , D), then there exist c1,..., cj ∈ Const(F ) and u0,..., uj ∈ F (c1,..., cj ) s.t.
j Z X f = u0 + ci log(ui ) i=1
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions General situation
Liouville’s theorem If f ∈ F has an integral in an elementary extension of (F , D), then there exist c1,..., cj ∈ Const(F ) and u0,..., uj ∈ F (c1,..., cj ) s.t.
j Z X f = u0 + ci log(ui ) i=1
Algorithms to compute the ci and ui Lazard-Rioboo-Rothstein-Trager (based on subresultants) Czichowski (based on Gr¨obnerbases)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Elementary integrand Z x tan(x) dx = ln(tan(x) − x) − 1 ln(tan(x)2 + 1) tan(x) − x 2
Bessel functions Z 1 π Y (x) dx = ln n xJn(x)Yn(x) 2 Jn(x)
Examples
Rational integrand √ Z 2x2 + 6x + 1 arctanh( 3(x + 1)) dx = arctan(x) + √ (x2 + 1)(3x2 + 6x + 2) 3
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Elementary integrand Z x tan(x) dx = ln(tan(x) − x) − 1 ln(tan(x)2 + 1) tan(x) − x 2
Bessel functions Z 1 π Y (x) dx = ln n xJn(x)Yn(x) 2 Jn(x)
Examples
Rational integrand Z 2x2 + 6x + 1 X dx = α ln x + 3α2 + 2α + 3 (x2 + 1)(3x2 + 6x + 2) 4 4 1 2 1 α + 6 α − 48 =0
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Bessel functions Z 1 π Y (x) dx = ln n xJn(x)Yn(x) 2 Jn(x)
Examples
Rational integrand Z 2x2 + 6x + 1 X dx = α ln x + 3α2 + 2α + 3 (x2 + 1)(3x2 + 6x + 2) 4 4 1 2 1 α + 6 α − 48 =0
Elementary integrand Z x tan(x) dx = ln(tan(x) − x) − 1 ln(tan(x)2 + 1) tan(x) − x 2
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Examples
Rational integrand Z 2x2 + 6x + 1 X dx = α ln x + 3α2 + 2α + 3 (x2 + 1)(3x2 + 6x + 2) 4 4 1 2 1 α + 6 α − 48 =0
Elementary integrand Z x tan(x) dx = ln(tan(x) − x) − 1 ln(tan(x)2 + 1) tan(x) − x 2
Bessel functions Z 1 π Y (x) dx = ln n xJn(x)Yn(x) 2 Jn(x)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Polynomials in ln(x) Z x+3 2 3 x−2 3 2 2x2−x x ln(x) + (x+1)2 ln(x)− x+1 dx = ln(x) +x ln(x) − x+1 ln(x)+x
Polynomials in ex Z x 2 x2+1 x 2x−1 x 2 x−1 x x(e ) + (x+1)2 e dx = 4 (e ) + x+1 e
Polynomials in tan(x) Z x 2 1 x2−2 x x2−4x x+1 tan(x) + (x+1)2 tan(x)+ x+1 dx = x+1 tan(x)+ 2
Structural observations: polynomial degree
Polynomials in x Z 6x2 − 6x + 1 dx = 2x3 − 3x2 + x
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Polynomials in ex Z x 2 x2+1 x 2x−1 x 2 x−1 x x(e ) + (x+1)2 e dx = 4 (e ) + x+1 e
Polynomials in tan(x) Z x 2 1 x2−2 x x2−4x x+1 tan(x) + (x+1)2 tan(x)+ x+1 dx = x+1 tan(x)+ 2
Structural observations: polynomial degree
Polynomials in x Z 6x2 − 6x + 1 dx = 2x3 − 3x2 + x
Polynomials in ln(x) Z x+3 2 3 x−2 3 2 2x2−x x ln(x) + (x+1)2 ln(x)− x+1 dx = ln(x) +x ln(x) − x+1 ln(x)+x
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Polynomials in tan(x) Z x 2 1 x2−2 x x2−4x x+1 tan(x) + (x+1)2 tan(x)+ x+1 dx = x+1 tan(x)+ 2
Structural observations: polynomial degree
Polynomials in x Z 6x2 − 6x + 1 dx = 2x3 − 3x2 + x
Polynomials in ln(x) Z x+3 2 3 x−2 3 2 2x2−x x ln(x) + (x+1)2 ln(x)− x+1 dx = ln(x) +x ln(x) − x+1 ln(x)+x
Polynomials in ex Z x 2 x2+1 x 2x−1 x 2 x−1 x x(e ) + (x+1)2 e dx = 4 (e ) + x+1 e
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Structural observations: polynomial degree
Polynomials in x Z 6x2 − 6x + 1 dx = 2x3 − 3x2 + x
Polynomials in ln(x) Z x+3 2 3 x−2 3 2 2x2−x x ln(x) + (x+1)2 ln(x)− x+1 dx = ln(x) +x ln(x) − x+1 ln(x)+x
Polynomials in ex Z x 2 x2+1 x 2x−1 x 2 x−1 x x(e ) + (x+1)2 e dx = 4 (e ) + x+1 e
Polynomials in tan(x) Z x 2 1 x2−2 x x2−4x x+1 tan(x) + (x+1)2 tan(x)+ x+1 dx = x+1 tan(x)+ 2
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions 1 Ansatz: n+1−d X i g = gi t ∈ K[t] i=1
2 Compare coefficients of tmax(d,1),..., tn+max(1−d,0) in
Dg = f
3 Solve for coefficients g1,..., gn+1−d ∈ K: for d ≥ 2 this is easy for d ≤ 1 this means solving differential equations in K
Algorithm
Basic principle Given: monomial t over (K, D) with d := deg(Dt) and f ∈ K[t] with n := deg(f )
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions 2 Compare coefficients of tmax(d,1),..., tn+max(1−d,0) in
Dg = f
3 Solve for coefficients g1,..., gn+1−d ∈ K: for d ≥ 2 this is easy for d ≤ 1 this means solving differential equations in K
Algorithm
Basic principle Given: monomial t over (K, D) with d := deg(Dt) and f ∈ K[t] with n := deg(f ) 1 Ansatz: n+1−d X i g = gi t ∈ K[t] i=1
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions 3 Solve for coefficients g1,..., gn+1−d ∈ K: for d ≥ 2 this is easy for d ≤ 1 this means solving differential equations in K
Algorithm
Basic principle Given: monomial t over (K, D) with d := deg(Dt) and f ∈ K[t] with n := deg(f ) 1 Ansatz: n+1−d X i g = gi t ∈ K[t] i=1
2 Compare coefficients of tmax(d,1),..., tn+max(1−d,0) in
Dg = f
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Algorithm
Basic principle Given: monomial t over (K, D) with d := deg(Dt) and f ∈ K[t] with n := deg(f ) 1 Ansatz: n+1−d X i g = gi t ∈ K[t] i=1
2 Compare coefficients of tmax(d,1),..., tn+max(1−d,0) in
Dg = f
3 Solve for coefficients g1,..., gn+1−d ∈ K: for d ≥ 2 this is easy for d ≤ 1 this means solving differential equations in K
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Answer refined versions of Liouville’s theorem
highly depends on tn may introduce new integrands, e.g., determine if there exists a c ∈ Const(K) s.t.
Dt f − c·Dt ∈ k or f − c· ∈ k t has an elementary integral over (K, D).
Recursive call
Question
When does f ∈ K have an elementary integral over (K(tn), D)? How to determine this by computing elementary integrals over (K, D) only?
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Recursive call
Question
When does f ∈ K have an elementary integral over (K(tn), D)? How to determine this by computing elementary integrals over (K, D) only?
Answer refined versions of Liouville’s theorem
highly depends on tn may introduce new integrands, e.g., determine if there exists a c ∈ Const(K) s.t.
Dt f − c·Dt ∈ k or f − c· ∈ k t has an elementary integral over (K, D).
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Z 2x + 1 x li(x) + dx x ln(x) Z 2x + 1 1 = (x + c)li(x) + − c dx x ln(x) ln(x) = (x + 2)li(x) + ln(ln(x))
Sample computation
Using the field F = Q(x, ln(x), li(x)) we compute
Z (x + 1)2 + li(x) dx = x ln(x)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Z 2x + 1 1 = (x + c)li(x) + − c dx x ln(x) ln(x) = (x + 2)li(x) + ln(ln(x))
Sample computation
Using the field F = Q(x, ln(x), li(x)) we compute
Z (x + 1)2 Z 2x + 1 + li(x) dx = x li(x) + dx x ln(x) x ln(x)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions = (x + 2)li(x) + ln(ln(x))
Sample computation
Using the field F = Q(x, ln(x), li(x)) we compute
Z (x + 1)2 Z 2x + 1 + li(x) dx = x li(x) + dx x ln(x) x ln(x) Z 2x + 1 1 = (x + c)li(x) + − c dx x ln(x) ln(x)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions , li(x)
= (x + 2)li(x) + ln(ln(x))
Sample computation
Using the field F = Q(x, ln(x) ) we compute
Z (x + 1)2 Z 2x + 1 + li(x) dx = x li(x) + dx x ln(x) x ln(x) Z 2x + 1 1 = (x + c)li(x) + − c dx x ln(x) ln(x)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Sample computation
Using the field F = Q(x, ln(x), li(x)) we compute
Z (x + 1)2 Z 2x + 1 + li(x) dx = x li(x) + dx x ln(x) x ln(x) Z 2x + 1 1 = (x + c)li(x) + − c dx x ln(x) ln(x) = (x + 2)li(x) + ln(ln(x))
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Application to definite integrals depending on parameters
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Transfer this to a relation of corresponding integrals b b R R c0 f0(x)dx + ··· + cm fm(x)dx = g(b) − g(a) a a
Choose the fi For obtaining an ODE compute
∂mf d c0(y)f (x, y) + ··· + cm(y) ∂y m (x, y) = dx g(x, y) For obtaining a recurrence compute
d c0(n)f (x, n) + ··· + cm(n)f (x, n + m) = dx g(x, n)
Recall
Compute linear relation of integrals
Given f0(x),..., fm(x), find g(x) and c0,..., cm const. w.r.t. x s.t. 0 c0f0(x) + ··· + cmfm(x) = g (x)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Choose the fi For obtaining an ODE compute
∂mf d c0(y)f (x, y) + ··· + cm(y) ∂y m (x, y) = dx g(x, y) For obtaining a recurrence compute
d c0(n)f (x, n) + ··· + cm(n)f (x, n + m) = dx g(x, n)
Recall
Compute linear relation of integrals
Given f0(x),..., fm(x), find g(x) and c0,..., cm const. w.r.t. x s.t. 0 c0f0(x) + ··· + cmfm(x) = g (x) Transfer this to a relation of corresponding integrals b b R R c0 f0(x)dx + ··· + cm fm(x)dx = g(b) − g(a) a a
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Recall
Compute linear relation of integrals
Given f0(x),..., fm(x), find g(x) and c0,..., cm const. w.r.t. x s.t. 0 c0f0(x) + ··· + cmfm(x) = g (x) Transfer this to a relation of corresponding integrals b b R R c0 f0(x)dx + ··· + cm fm(x)dx = g(b) − g(a) a a
Choose the fi For obtaining an ODE compute
∂mf d c0(y)f (x, y) + ··· + cm(y) ∂y m (x, y) = dx g(x, y) For obtaining a recurrence compute
d c0(n)f (x, n) + ··· + cm(n)f (x, n + m) = dx g(x, n)
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Our algorithm finds n f (n + 1, x) − n+1 f (n, x) = d e−2(n+1)πix 1 eπix e2πix 2πix π dx 2(n+1)πi 4(n+1) + 2n+1 + 4n + (e −1) ln(sin( 2 x)) Integrating over (0, 1) yields the recurrence
n i I (n + 1) − n+1 I (n) = (n+1)(2n+1)π Initial value:
Example
Z 1 −2nπix π N+ I (n) := e ln(sin( 2 x)) dx for n ∈ 0
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Integrating over (0, 1) yields the recurrence
n i I (n + 1) − n+1 I (n) = (n+1)(2n+1)π Initial value:
Example
Z 1 −2nπix π N+ I (n) := e ln(sin( 2 x)) dx for n ∈ 0 Our algorithm finds n f (n + 1, x) − n+1 f (n, x) = d e−2(n+1)πix 1 eπix e2πix 2πix π dx 2(n+1)πi 4(n+1) + 2n+1 + 4n + (e −1) ln(sin( 2 x))
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Initial value:
Example
Z 1 −2nπix π N+ I (n) := e ln(sin( 2 x)) dx for n ∈ 0 Our algorithm finds n f (n + 1, x) − n+1 f (n, x) = d e−2(n+1)πix 1 eπix e2πix 2πix π dx 2(n+1)πi 4(n+1) + 2n+1 + 4n + (e −1) ln(sin( 2 x)) Integrating over (0, 1) yields the recurrence
n i I (n + 1) − n+1 I (n) = (n+1)(2n+1)π
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Example
Z 1 −2nπix π N+ I (n) := e ln(sin( 2 x)) dx for n ∈ 0 Our algorithm finds n f (n + 1, x) − n+1 f (n, x) = d e−2(n+1)πix 1 eπix e2πix 2πix π dx 2(n+1)πi 4(n+1) + 2n+1 + 4n + (e −1) ln(sin( 2 x)) Integrating over (0, 1) yields the recurrence
n i I (n + 1) − n+1 I (n) = (n+1)(2n+1)π
R e−πix e−2πix x 1−e−2πix π Initial value: f (1, x) dx = 2πi + 8πi − 4 + 2πi ln(sin( 2 x))
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Example
Z 1 −2nπix π N+ I (n) := e ln(sin( 2 x)) dx for n ∈ 0 Our algorithm finds n f (n + 1, x) − n+1 f (n, x) = d e−2(n+1)πix 1 eπix e2πix 2πix π dx 2(n+1)πi 4(n+1) + 2n+1 + 4n + (e −1) ln(sin( 2 x)) Integrating over (0, 1) yields the recurrence
n i I (n + 1) − n+1 I (n) = (n+1)(2n+1)π
1 i Initial value: I (1) = − 4 + π
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Example
Z 1 −2nπix π N+ I (n) := e ln(sin( 2 x)) dx for n ∈ 0 Our algorithm finds n f (n + 1, x) − n+1 f (n, x) = d e−2(n+1)πix 1 eπix e2πix 2πix π dx 2(n+1)πi 4(n+1) + 2n+1 + 4n + (e −1) ln(sin( 2 x)) Integrating over (0, 1) yields the recurrence
n i I (n + 1) − n+1 I (n) = (n+1)(2n+1)π
1 i Initial value: I (1) = − 4 + π Solution: n 1 i X 1 I (n) = − + 4n nπ 2k − 1 k=1
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Our algorithm finds
(m−n+1)(2ν+n) cm,n+1 = (n+1)(2(µ−ν)+m−n−1) cm+1,n (2µ+m+n)(2(µ−ν)+m−n) cm+2,n = (m−n+2)(2ν+m+n+2) cm,n
1 1 Initial values: c0,0 = B( 2 , ν + 2 ), c1,0 = 0
Solution:
( 1 1 (µ)k (µ−ν)k−n(2ν)n B( 2 , ν + 2 ) n!(k−n)!(ν+1) if m + n = 2k cm,n = k 0 if m + n = 2k + 1
Example: connection coefficients
1 Z 1 µ ν 2 ν− 2 N 1 cm,n = Cm(x)Cn (x)(1 − x ) dx for m, m ∈ , µ, ν > − 2 −1
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions 1 1 Initial values: c0,0 = B( 2 , ν + 2 ), c1,0 = 0
Solution:
( 1 1 (µ)k (µ−ν)k−n(2ν)n B( 2 , ν + 2 ) n!(k−n)!(ν+1) if m + n = 2k cm,n = k 0 if m + n = 2k + 1
Example: connection coefficients
1 Z 1 µ ν 2 ν− 2 N 1 cm,n = Cm(x)Cn (x)(1 − x ) dx for m, m ∈ , µ, ν > − 2 −1
Our algorithm finds
(m−n+1)(2ν+n) cm,n+1 = (n+1)(2(µ−ν)+m−n−1) cm+1,n (2µ+m+n)(2(µ−ν)+m−n) cm+2,n = (m−n+2)(2ν+m+n+2) cm,n
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Solution:
( 1 1 (µ)k (µ−ν)k−n(2ν)n B( 2 , ν + 2 ) n!(k−n)!(ν+1) if m + n = 2k cm,n = k 0 if m + n = 2k + 1
Example: connection coefficients
1 Z 1 µ ν 2 ν− 2 N 1 cm,n = Cm(x)Cn (x)(1 − x ) dx for m, m ∈ , µ, ν > − 2 −1
Our algorithm finds
(m−n+1)(2ν+n) cm,n+1 = (n+1)(2(µ−ν)+m−n−1) cm+1,n (2µ+m+n)(2(µ−ν)+m−n) cm+2,n = (m−n+2)(2ν+m+n+2) cm,n
1 1 Initial values: c0,0 = B( 2 , ν + 2 ), c1,0 = 0
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions Example: connection coefficients
1 Z 1 µ ν 2 ν− 2 N 1 cm,n = Cm(x)Cn (x)(1 − x ) dx for m, m ∈ , µ, ν > − 2 −1
Our algorithm finds
(m−n+1)(2ν+n) cm,n+1 = (n+1)(2(µ−ν)+m−n−1) cm+1,n (2µ+m+n)(2(µ−ν)+m−n) cm+2,n = (m−n+2)(2ν+m+n+2) cm,n
1 1 Initial values: c0,0 = B( 2 , ν + 2 ), c1,0 = 0
Solution:
( 1 1 (µ)k (µ−ν)k−n(2ν)n B( 2 , ν + 2 ) n!(k−n)!(ν+1) if m + n = 2k cm,n = k 0 if m + n = 2k + 1
Clemens G. Raab (RISC) Generalization of Risch’s Algorithm to Special Functions