<<

Generalization of Risch’s 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

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 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

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 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 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 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, , 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 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 ⇒ 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

2

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 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 = α lnx + 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 = α lnx + 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 = α lnx + 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