# Holonomic function

In mathematics, a holonomic function is a smooth function in several variables that is a solution of a system of 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 functions, 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.

## Holonomic functions and sequences in one variable

$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$ holds for all x. This can also be written as $Af=0$ where

$A=\sum _{k=0}^{r}a_{k}D_{x}^{k}$ $a_{r}(n)c_{n+r}+a_{r-1}(n)c_{n+r-1}+\ldots +a_{0}(n)c_{n}=0$ holds for all n. This can also be written as $Ac=0$ where

$A=\sum _{k=0}^{r}a_{k}S_{n}$ Holonomic functions are precisely the generating functions of holonomic sequences: if $f(x)$ is holonomic, then the coefficients $c_{n}$ in the power series expansion

$f(x)=\sum _{n=0}^{\infty }c_{n}x^{n}$ form a holonomic sequence. Conversely, for a given holonomic sequence $c_{n}$ , 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 properties. In particular, holonomic functions (or sequences) form a ring. They are not closed under division, however, and therefore do not form a field.

A crucial property of holonomic functions is that the closure properties are effective: given annihilating operators for $f$ and $g$ , an annihilating operator for $h$ as defined using any of the above operations can be computed explicitly.

### Examples

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

Examples of holonomic sequences include:

The following are examples of functions that are not holonomic:

## 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  package for Mathematica, developed by Christoph Koutschan, which supports computing closure properties and proving identities for univariate and multivariate holonomic functions
• The algolib  library for Maple, which includes the following packages:
• gfun, developed by Bruno Salvy, Paul Zimmermann and Eithne Murray, for univariate closure properties and proving 
• mgfun, developed by Frédéric Chyzak, for multivariate closure properties and proving 
• numgfun, developed by Marc Mezzarobba, for numerical evaluation