Holonomic Function Identities

Holonomic Function Identities

Holonomic Function Identities Christoph Koutschan Research Institute for Symbolic Computation Johannes Kepler Universit¨atLinz, Austria ACA 2008 Algebraic and Algorithmic Aspects of Differential and Integral Operators History 1990: D. Zeilberger’s “Holonomic Systems Approach” 1998: extensions and refinements by F. Chyzak 2008: Mathematica implementation by CK Notation • K: field of characteristic 0 • An = An(K): the n-th Weyl algebra 0 • Dx: differential operator w.r.t. x, i.e., Dx • f(x) = f (x) • Sn: shift operator w.r.t. n, i.e., Sn • f(n) = f(n + 1) • O: an Ore algebra • AnnO f: the ideal of annihilating operators of f in O, i.e., AnnO f = {P ∈ O | P • f = 0} Definition: Ore Algebra (1) Let F be a K-algebra (of “functions”), and let σ, δ ∈ EndK F with δ(fg) = σ(f)δ(g) + δ(f)g for all f, g ∈ F (skew Leibniz law). The endomorphism δ is called a σ-derivation. Let A be a K-subalgebra of F (e.g., A = K[x] or A = K(x)) and assume that σ, δ restrict to a σ-derivation on A. Define the skew polynomial ring O := A[∂; σ, δ]: • polynomials in ∂ with coefficients in A • usual addition • product that makes use of the commutation rule ∂a = σ(a)∂ + δ(a) for all a ∈ A Definition: Ore Algebra (2) We turn F into an O-module by defining an action of elements in O on a function f ∈ F: a • f := a · f, ∂ • f := δ(f). Remark: In special cases we define the action ∂ • f := σ(f). d Example 1: A = K[x], σ = 1, δ = dx . d Then K[x][Dx; 1, dx ] = K[x][Dx; 1,Dx] is the Weyl algebra A1. Example 2: A = K[n], σ(n) = n + 1, σ(c) = c for c ∈ K, δ = 0. Then K[n][Sn; Sn, 0] is a shift algebra. Example 3: K(n, x, y)[Sn; Sn, 0][Dx; 1,Dx][Dy; 1,Dy] Holonomic functions Definition: A function f(x1, . , xn) ∈ F is said to be holonomic if An/ AnnAn f is a holonomic module. Definition: r A sequence f(k1, . , kr) ∈ CN is holonomic if its multivariate generating function ∞ ∞ X X k1 kr F (x1, . , xr) = ··· f(k1, . , kr)x1 ··· xr . k1=0 kr=0 is a holonomic function. Properties of holonomic functions Closure properties: • sum • product • definite integration Elimination property: Given an ideal I in An s.t. An/I is holonomic; then for any choice of n + 1 among the 2n generators of An there exists a nonzero operator in I that depends only on these. In other words, we can eliminate n − 1 variables. Integration via elimination Given: AnnO f, the annihilator of a holonomic function f(x, y) in the Ore algebra O = K[x, y][Dx; 1,Dx][Dy; 1,Dy]. R b Task: Compute F (y) = a f(x, y) dx Since AnnO f is holonomic, there exists P ∈ AnnO f that does not contain x (“elimination property”): P (y, Dx,Dy) = Q(y, Dy) + DxR(y, Dx,Dy) R b Apply a ... dx to P • f = 0: h ix=b Q(y, Dy) • F (y) + R(y, Dx,Dy) • f(x, y) x=a Summation via elimination Given: AnnO f, the annihilator of a holonomic sequence f(k, n) in the Ore algebra O = K[k, n][Sk; Sk, 0][Sn; Sn, 0]. Pb Task: Compute F (n) = k=a f(k, n) By the elimination property there exists P ∈ AnnO f that does not contain k: P (n, Sk,Sn) = Q(n, Sn) + (Sk − 1)R(n, Sk,Sn) Sum over this equation: h ik=b Q(n, Sn) • F (n) + R(n, Sk,Sn) • f(k, n) k=a Example: Orthogonality of Hermite Polynomials (1) Compute the integral Z ∞ −x2 √ n e Hm(x)Hn(x) dx = δm,n π2 n! −∞ First we compute an annihilator of the integrand: ann = Annihilator[Exp[-x^2]*HermiteH[m,x]*HermiteH[n,x], {S[m], S[n], Der[x]}] {−2x + Dx + Sm + Sn, 2 Dx + 2m − 2n + (−2x)Dx + 2SnDx − 2, 2 Sn + 2n − 2xSn + 2, 3 2 Dx + 4mx − 4nx − 4x + (4n − 4m)Sn + −4x + 2m + 6n + 4 Dx} Example: Orthogonality of Hermite Polynomials (2) Next step is to compute a Gr¨obner basis w.r.t. lexicographical order in order to eliminate x: gb = OreGroebnerBasis[ ann, OreAlgebra[x, m, n, S[m], S[n], Der[x]], MonomialOrder -> Lexicographic] {2n − SmSn − SnDx + 2, 2m − SmDx − SmSn + 2, Dx − 2x + Sm + Sn } Example: Orthogonality of Hermite Polynomials (3) In the first operator, the part R = −SnDx, in the second x=∞ R = −SmDx. We have to check that [R • f]x=−∞ indeed vanishes: Limit[D[Exp[-x^2]*HermiteH[m,x]*HermiteH[n+1,x], x], x -> Infinity] 0 Hence we take the first two operators (which do not involve the integration variable x) and set R to 0: OrePolynomialSubstitute[Take[gb, 2], {Der[x] -> 0}] {2n − SmSn + 2, 2m − SmSn + 2} Example: Orthogonality of Hermite Polynomials (4) By computing a last Gr¨obner basis, we get the result: OreGroebnerBasis[%, OreAlgebra[m, n, S[m], S[n]]] {m − n, 2n − SmSn + 2} This proves that the right hand side can only be nonzero if m = n. By similar computations we obtain the recurrence 4n2 + 8n + 4 f(n) + (−4n − 6)f(n + 1) + f(n + 2) = 0 for the right hand side when we set m to n. √ √ Together with the initial values f(0) = π and f(1) = 2 π we have a full and simple description of the desired result. Definite integration with Takayama Given: AnnO f, the annihilator of a holonomic function f(x, y) (with natural boundaries) in the Ore algebra O = K[x, y][Dx; 1; Dx][Dy; 1,Dy]. R b Find: The annihilator of F (y) = a f(x, y)dx in the Ore algebra 0 O = K[y][Dy; 1,Dy] Find P ∈ AnnO f which can be written in the form P (x, y, Dx,Dy) = Q(y, Dy) + DxR(x, y, Dx,Dy) R b Apply a ... dx to P • f = 0: Z b Z b Q(y, Dy)f(x, y) dx + DxR(x, y, Dx,Dy)f(x, y) dx a a Hence Q(y, Dy)F (y) = 0 The operator Q can be computed with Takayama’s algorithm. Comparison Zeilberger: 1. eliminate x 2. reduce modulo DxO Takayama (variant due to Chyzak/Salvy): 1. reduce modulo DxO 2. eliminate x How to eliminate x? Problem: After reducing modulo DxO, no multiplication by x is allowed! Example: P + DxQ @ ·x @ mod DxO @ © @@R xP + (Dxx − 1)Q P mod DxO ·x ? ? xP − Q 6= xP Takayama’s algorithm 0 Eliminate x by computing a Groebner basis in the O -module w.r.t. α the basis x , α ∈ N: 2 2 2 x (1 + y) + xDx = x (1 + y) + Dxx − 1 ≡ x (1 + y) − 1 mod DxO −→ gives (−1, 0, 1 + y, 0,... ) x + DxDy + y ≡ x + y mod DxO −→ gives (y, 1, 0,... ) We have to include also multiples by xα to the generators of AnnO f: 2 2 2 x + xDxDy + xy = x + DxxDy − xDy + xy ≡ x − x(Dy + y) −→ gives (0,Dy + y, 1, 0,... ) Takayama’s algorithm Input: a set of generators {G1,...,Gm} for AnnO f 0 Output: AnnO F 1. set d = max1≤i≤m degx Gi 0 Sm α 2. set A = {G1,...,Gm} ∪ i=1{x Gi | 1 ≤ α ≤ degx Gi} 0 3. reduce all elements in A modulo DxO 4. compute a Groebner basis in the corresponding module eliminating x 5. if no (P, 0,..., 0) is found, increase d Since f is holonomic the algorithm is guaranteed to terminate. Example: Victor Moll’s irresistible integral (1) Compute a closed form for the integral Z ∞ 1 m+1 dx 0 (x4 + 2ax2 + 1) Again, we start by computing annihilating operators for the integrand: ann = Annihilator[1/(x^4 + 2*a*x^2 + 1)^(m+1), {Der[x], S[m], Der[a]}] 2 2 4 2 {2mx + 2x + x + 2ax + 1 Da, 4 2 x + 2ax + 1 Sm − 1, 3 3 4 2 4mx + 4x + 4ax + 4amx + x + 2ax + 1 Dx} Example: Victor Moll’s irresistible integral (2) Although the integral does not have natural boundaries (e.g. the integrand does not vanish for x = 0), Takayama’s algorithm gives the correct result here: Takayama[ann, {x}, Saturate -> True] {4m + (2a)Da + (−4m − 4)Sm + 3, 2 2 4m + 4a − 4 Da + (8ma + 12a)Da + 3} Example: Victor Moll’s irresistible integral (3) The second operator is an ordinary differential equation in a: de = ApplyOreOperator[%[[2]], Int[a]] (4m + 3)Int(a) + (8ma + 12a)Int0(a) + 4a2 − 4 Int00(a) This ODE can be automatically solved by using Mathematica’s DSolve command (also the initial values can be computed automatically), giving the final result m 1 −m− 1 m −m−2 2 − 2 − 4 3 2 (1 + i)i 2 a − 1 πΓ 2m + 2 Pm (a) Γ(m + 1) ∂-finite functions Definition: A function f(x1, . , xm) is called ∂-finite w.r.t. O = K(x1, . , xm)[∂1; σ1, δ1] ··· [∂m; σm, δm] if O/ AnnO f is a finite-dimensional K(x1, . , xm)-vector space. In other words, f is ∂-finite if its “derivatives” span a finite-dimensional K(x1, . , xm)-vector space. x+y Example: All derivatives (w.r.t. x and y) of sin x−y are of the form x + y x + y r (x, y) sin + r (x, y) cos , 1 x − y 2 x − y e.g., “ ” 32 3x4+12yx3−30y2x2−4y3x+9y4 sin x+y 3 2 x+y ( ) x−y Dx Dy • sin x−y = (x−y)9 5 4 3 2 4 5 “ x+y ” 16(6x −33yx +80y x −54y x+3y ) cos x−y − (x−y)10 Chyzak’s extension of Zeilberger’s fast algorithm Given: AnnO f, the annihilator of a ∂-finite function f(x, y) in the rational Ore algebra O = K(x, y)[Dx; 1; Dx][Dy; 1,Dy].

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    26 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us