|
|
Line 1: |
Line 1: |
| In mathematics, a '''holonomic function''' is a smooth function in several variables that is a solution of a system of [[linear differential equation|linear homogeneous differential equations]] with polynomial coefficients and satisfies a suitable dimension condition in terms of D-modules theory. More precisely, a holonomic function is an element of a [[holonomic module]] of smooth functions. Holonomic functions can also be described as [[differentiably finite function]]s, also known as ''D-finite functions''. When a power series in the variables is the Taylor expansion of a holonomic function, the sequence of its coefficients, in one or several indices, is also called ''holonomic''. '''Holonomic sequences''' are also called ''P-recursive sequences'': they are defined recursively by multivariate recurrences satisfied by the whole sequence and by suitable specializations of it. The situation simplifies in the univariate case: any univariate sequence that satisfies a linear homogenous [[recurrence relation]] with polynomial coefficients, or equivalently a linear homogenous difference equation with polynomial coefficients, is holonomic.<ref>{{cite journal | last1=Zeilberger | first1=Doron | author1-link=Doron Zeilberger | title=A holonomic systems approach to special functions identities | url=http://dx.doi.org/10.1016/0377-0427(90)90042-X | doi=10.1016/0377-0427(90)90042-X | id={{MR|1090884}} | year=1990 | journal=Journal of Computational and Applied Mathematics | issn=0377-0427 | volume=32 | issue=3 | pages=321–368}}</ref><ref>{{cite book | last1 = Kauers | first1 = Manuel | last2 = Paule | first2 = Peter | title = The Concrete Tetrahedron: Symbolic Sums, Recurrence Equations, Generating Functions, Asymptotic Estimates | year = 2011 | publisher = Springer | location = New York}}</ref>
| | The author is called Araceli Gulledge. Delaware is the only place I've been residing in. Playing crochet is something that I've carried out for many years. I am a manufacturing and distribution officer.<br><br>my weblog :: extended auto warranty ([http://zocken-in-gesellschaft.de/index.php?mod=users&action=view&id=10093 you could try this out]) |
| | |
| ==Holonomic functions and sequences in one variable==
| |
| | |
| Let <math>\mathbb{K}</math> be a [[field (mathematics)|field]] of characteristic 0 (for example, <math>\mathbb{K} = \mathbb{Q}</math> or <math>\mathbb{K} = \mathbb{C}</math>).
| |
| | |
| A function <math>f = f(x)</math> is called ''D-finite'' (or ''holonomic'') if there exist polynomials <math>a_r(x), a_{r-1}(x), \ldots, a_0(x) \in \mathbb{K}[x]</math> such that
| |
| | |
| :<math>a_r(x) f^{(r)}(x) + a_{r-1}(x) f^{(r-1)}(x) + \ldots + a_1(x) f'(x) + a_0(x) f(x) = 0</math>
| |
| | |
| holds for all ''x''. This can also be written as <math>A f = 0</math> where
| |
| | |
| :<math>A = \sum_{k=0}^r a_k D_x^k</math>
| |
| | |
| and <math>D_x</math> is the [[differential operator]] that maps <math>f(x)</math> to <math>f'(x)</math>. <math>A</math> is called an ''annihilating operator'' of ''f'' (the annihilating operators of <math>f</math> form an [[ideal (ring theory)|ideal]] in the ring <math>\mathbb{K}[x][D_x]</math>, called the ''annihilator'' of <math>f</math>). The quantity ''r'' is called the ''order'' of the annihilating operator (by extension, the sequence ''c'' is said to have order ''r'' when an annihilating operator of such order exists).
| |
| | |
| A sequence <math>c = c_0, c_1, \ldots</math> is called ''P-recursive'' (or ''holonomic'') if there exist polynomials <math>a_r(n), a_{r-1}(n), \ldots, a_0(n) \in \mathbb{K}[n]</math> such that
| |
| | |
| :<math>a_r(n) c_{n+r} + a_{r-1}(n) c_{n+r-1} + \ldots + a_0(n) c_n = 0</math>
| |
| | |
| holds for all ''n''. This can also be written as <math>A c = 0</math> where
| |
| | |
| :<math>A = \sum_{k=0}^r a_k S_n</math>
| |
| | |
| and <math>S_n</math> the [[shift operator]] that maps <math>c_0, c_1, \ldots</math> to <math>c_1, c_2, \ldots</math>. <math>A</math> is called an ''annihilating operator'' of ''c'' (the annihilating operators of <math>c</math> form an ideal in the ring <math>\mathbb{K}[n][S_n]</math>, called the ''annihilator'' of <math>c</math>). The quantity ''r'' is called the ''order'' of the annihilating operator (by extension, the sequence ''c'' is said to have order ''r'' when an annihilating operator of such order exists).
| |
| | |
| Holonomic functions are precisely the [[generating function]]s of holonomic sequences: if <math>f(x)</math> is holonomic, then the coefficients <math>c_n</math> in the power series expansion
| |
| | |
| :<math>f(x) = \sum_{n=0}^{\infty} c_n x^n</math>
| |
| | |
| form a holonomic sequence. Conversely, for a given holonomic sequence <math>c_n</math>, the function defined by the above sum is holonomic (this is true in the sense of [[formal power series]], even if the sum has a zero radius of convergence).
| |
| | |
| ===Closure properties===
| |
| | |
| Holonomic functions (or sequences) satisfy several [[closure property|closure properties]]. In particular, holonomic functions (or sequences) form a [[ring (mathematics)|ring]]. They are not closed under division, however, and therefore do not form a [[field (mathematics)|field]].
| |
| | |
| If <math>f(x) = \sum_{n=0}^{\infty} f_n x^n</math> and <math>g(x) = \sum_{n=0}^{\infty} g_n x^n</math> are holonomic functions, then the following functions are also holonomic:
| |
| | |
| * <math>h(x) = \alpha f(x) + \beta g(x)</math>, where <math>\alpha</math> and <math>\beta</math> are constants
| |
| * <math>h(x) = f(x) g(x)</math> (the [[Cauchy product]] of the sequences)
| |
| * <math>h(x) = \sum_{n=0}^{\infty} f_n g_n x^n</math> (the Hadamard product of the sequences)
| |
| * <math>h(x) = \int_0^x f(t) dt</math>
| |
| * <math>h(x) = \sum_{n=0}^{\infty} (\sum_{k=0}^n f_k) x^n</math>
| |
| * <math>h(x) = f(a(x))</math>, where <math>a(x)</math> is any algebraic function. However, <math>a(f(x))</math> is not generally holonomic.
| |
| | |
| A crucial property of holonomic functions is that the closure properties are effective: given annihilating operators for <math>f</math> and <math>g</math>, an annihilating operator for <math>h</math> as defined using any of the above operations can be computed explicitly.
| |
| | |
| ===Examples===
| |
| | |
| Examples of holonomic functions include all [[algebraic function]]s and some [[transcendental function]]s (<math>\sin(x)</math>, <math>\cos(x)</math>, <math>e^x</math>, <math>\log(x)</math> among them).<ref>{{cite thesis |type= |chapter= |title=Algorithmic Manipulations and Transformations of Univariate Holonomic Functions and Sequences |url=http://www.risc.jku.at/publications/download/risc_2244/DIPLFORM.pdf |author= |last=Mallinger |first=Christian |year=1996 |publisher= |accessdate=4 June 2013 |docket= |oclc= |page=3}}</ref> More generally, the [[generalized hypergeometric function]] <math>{}_pF_q(a_1,\ldots,a_p, b_1,\ldots,b_q, x)</math> is holonomic, considered as a function of <math>x</math> with all the parameters <math>a_i</math>, <math>b_i</math> held fixed. As a conseqence, the following [[special function]]s are all holonomic with respect to <math>x</math>:
| |
| | |
| * The [[error function]] <math>\operatorname{erf}(x)</math>
| |
| * The [[Bessel function]]s <math>J_n(x)</math>, <math>Y_n(x)</math>, <math>I_n(x)</math>, <math>K_n(x)</math>
| |
| * The [[Airy function]]s <math>\operatorname{Ai}(x)</math>, <math>\operatorname{Bi}(x)</math>
| |
| * The classical [[orthogonal polynomial]]s (including [[Legendre polynomial]]s <math>P_n(x)</math>, [[Chebyshev polynomial]]s <math>T_n(x)</math> and <math>U_n(x)</math>, etc.)
| |
| | |
| The class of holonomic functions is a strict superset of the class of hypergeometric functions. Examples of special functions that are holonomic but not hypergeometric include the [[Heun function]]s.
| |
| | |
| Examples of holonomic sequences include:
| |
| * The sequence of [[Fibonacci number]]s <math>F_n</math>
| |
| * The sequence of [[factorial]]s <math>n!</math>
| |
| * The [[binomial coefficient]]s <math>{n \choose k}</math> (as functions of either ''n'' or ''k'')
| |
| * The [[harmonic number]]s <math>H_n = \sum_{k=1}^n \frac{1}{k}</math>, or more generally <math>H_{n,m} = \sum_{k=1}^n \frac{1}{k^m}</math> for any integer ''m''
| |
| * The [[Motzkin number]]s
| |
| | |
| The following are examples of functions that are ''not'' holonomic:
| |
| | |
| * The function <math>\frac{x}{e^x-1}</math> is not holonomic, and therefore the [[Bernoulli number]]s are not a holonomic sequence. This follows from the fact that the function has infinitely many singularities, and therefore cannot satisfy a linear differential equation with polynomial coefficients, which necessarily has only finitely many singular points. More generally, the quotient of two holonomic functions is not necessarily holonomic (but can be, in special cases).
| |
| * The sequence <math>\log(n)</math>, the sequence <math>n^{\alpha}</math> where <math>\alpha \not\in \mathbb{Z}</math>, and the sequence of [[prime number]]s are not holonomic.<ref name="flajolet">{{Citation | last1 = Flajolet | first1 = Philippe | last2 = Gerhold | first2 = Stefan | last3 = Salvy | first3 = Bruno | title = On the non-holonomic character of logarithms, powers, and the n-th prime function | year = 2005 | url = http://arxiv.org/abs/math/0501379 }}</ref>
| |
| | |
| ==Holonomic functions in several variables==
| |
| | |
| {{Empty section|date=June 2013}}
| |
| | |
| ==Algorithms and software==
| |
| | |
| Holonomic functions are a powerful tool in [[computer algebra]]. A holonomic function or sequence can be represented by a finite amount of data, namely an annihilating operator and a finite set of initial values, and the closure properties allow carrying out operations such as equality testing, summation and integration in an algorithmic fashion. In recent years, these techniques have allowed giving automated proofs of a large number of special function and combinatorial identities.
| |
| | |
| Moreover, there exist fast algorithms for evaluating holonomic functions to arbitrary precision at any point in the complex plane, and for numerically computing any entry in a holonomic sequence.
| |
| | |
| Software for working with holonomic functions includes:
| |
| * The ''HolonomicFunctions'' [http://www.risc.jku.at/research/combinat/software/HolonomicFunctions/] package for [[Mathematica]], developed by Christoph Koutschan, which supports computing closure properties and proving identities for univariate and multivariate holonomic functions
| |
| * The ''algolib'' [http://algo.inria.fr/libraries/] library for [[Maple (software)|Maple]], which includes the following packages:
| |
| ** ''gfun'', developed by Bruno Salvy, Paul Zimmermann and Eithne Murray, for univariate closure properties and proving [http://perso.ens-lyon.fr/bruno.salvy/?page_id=48]
| |
| ** ''mgfun'', developed by Frédéric Chyzak, for multivariate closure properties and proving [http://algo.inria.fr/chyzak/mgfun.html]
| |
| ** ''numgfun'', developed by Marc Mezzarobba, for numerical evaluation
| |
| | |
| ==Further reading== | |
| | |
| * {{cite book |last1=Flajolet |first1=Philippe |last2=Sedgewick |first2=Robert |title=Analytic Combinatorics |publisher=Cambridge University Press |isbn=0521898064}}
| |
| * {{cite book |last1=Kauers |first1=Manuel |last2=Paule |first2=Peter |title=The Concrete Tetrahedron| series=Text and Monographs in Symbolic Computation |publisher=Springer |isbn=978-3-7091-0444-6}}
| |
| * {{cite book|last=Stanley|first=Richard P. |year=1999|title=Enumerative Combinatorics, Volume 2|publisher=Cambridge University Press|isbn=0-521-56069-1}}
| |
| | |
| ==References==
| |
| {{reflist}}
| |
| | |
| [[Category:Ordinary differential equations]]
| |
| [[Category:Special functions]]
| |