Differentially definable functions: a survey

Most widely used special functions, such as orthogonal polynomials, Bessel functions, Airy functions, etc., are defined as solutions to differential equations with polynomial coefficients. This class of functions is referred to as D‐finite functions. There are many symbolic algorithms (and implementations thereof) to operate with these objects exactly. Recently, we have extended this notion to a more general class that also allows for good symbolic handling: differentially definable functions. In this paper, we give an overview on what is currently known about this new class.


Introduction
Studying solutions of differential equations is a central topic in various areas of Mathematics. Oftentimes, it is not possible to determine an explicit, closed form solution to a given equation. Still, it is necessary to compute with these functions or to evaluate them. Apart from numerical methods to approximate solutions, for many important classes of differential equations, there exist symbolic methods to carry out these operations.
D-finite or holonomic functions, i.e., functions that satisfy a linear differential equation with polynomial coefficients, play an important role as many special functions [4] can be represented that way. From a symbolic point of view, they are interesting as they can be represented exactly with a finite amount of data -the coefficients of the differential equation and initial values [10]. Furthermore, they satisfy several closure properties that can be executed algorithmically [9]. A typical application of these methods is proving of identities in an automated fashion.
In our recent work [7], we have introduced a larger class of functions that is built on the same principles and for which many of the results for D-finite functions carry over. We consider formal power series that satisfy linear differential equations with coefficients that are D-finite (or more generally, are from a fixed differential ring), and call them DD-finite (or differentially definable). Elementary examples for D-finite functions are sin(x), cos(x). Their quotient tan(x) = sin(x)/ cos(x) is not Dfinite, but DD-finite. Another example are the solutions to the Mathiéu differential equation [4, Chapter 28]. All computational results that we obtained are implemented in the package dd_functions [5] in the open source computer algebra system SageMath [13].
In this note, we want to summarize the main results on differentially definable functions that are currently known. This paper is organized as follows: in Section 2, we give the basic definitions and closure properties. In Section 3, we discuss the relation of differentially definable functions with differentially algebraic functions. Finally, in Section 4, we present the recently obtained result on when singularities of a given differential equation can be controlled when executing closure properties.

Differentially definable functions
Throughout, K denotes a computable field of characteristic zero, i.e., K ⊃ Q and operations can be performed algorithmically. K[x] denotes its ring of polynomials and K[[x]] its ring of formal power series.
The set of all differentially definable functions over R is denoted by D(R).
With this notation, we have the following special cases for R: • R = K: the elements of D(K) are known as C-finite functions (e.g., e x , sin(x)); Defined this way, differentially definable functions are easily represented exactly on a computer in terms of a finite list of coefficients for the linear differential equation and a finite amount of initial values (i.e., the first terms in the power series expansion). It has been shown in [7], how to compute the number of initial values needed from the coefficient list. Note, that this number may, but need not, correspond to the order of the differential equation. Summarizing, for f (x) ∈ D(R), we use the following data structure The main property of differentially definable functions is that the set D(R) is closed under several operations. These closure properties are computable, i.e., if the operands are given in the data structure (2), the result in terms of the same data structure can be determined algorithmically. We list some of the basic closure properties in the following theorem.
. Then: The set of differentially definable functions can be characterized by the property that f (x) ∈ D(R) if and only if the vector space generated by f (x), f ′ (x), . . . over the field of fractions of R is finite dimensional. With this argument, Theorem 2.2 can be proven constructively and consequently closure properties can be implemented using linear algebra.
An interesting consequence of this theorem is that, ]. This allows to iterate the construction and to build a chain of rings is called the ring of D n -finite functions. It was shown in [8] that these inclusions are proper The key example of a non-trivial addition are the iterated exponentials.
The package dd_functions [5] provides a full implementation of differentially definable functions in SageMath [13]. It allows the user to define the rings D(R) for a given differential ring R, to build functions using the data structure (2), and it provides a user friendly interface for computing closure properties.
One of the major applications of closure properties is to automatically prove identities between compound expressions.

Differentially algebraic functions
In this section, we discuss the relation of D n -finite functions to differentially algebraic functions and start by recalling their definition.

Definition 3.1 Let R ⊂ K[[x]] be a differential ring and f (x) ∈ K[[x]].
We say that f (x) is differentially algebraic over R if there is an n > 0 and a polynomial P Clearly, any differentially definable function f (x) ∈ D(R) is differentially algebraic over R, since it satisfies a linear differential equation with coefficients in R. But even more is true: if f (x) is D n -finite for some n ∈ N, then it is differentially algebraic over the ground field K.
). Then f (x) is differentially algebraic over K. Example 3.3 Consider f (x) = tan(x) and g(x) = cos(x) 2 as in Example 2.4. Repeated differentiation of the defining equation for tan(x) yields the system  This equation shows that the matrix has a non-trivial vector in its right kernel, implying that its determinant (which is a polynomial in f (x), f ′ (x), f ′′ (x), f ′′′ (x) and f (4) (x) with constant coefficients) vanishes. In other words, f (x) = tan(x) is differentially algebraic: This equation is not minimal for tan(x), but it has been obtained automatically. We saw in Example 2.4 that the tangent also satisfies the non-linear differential equation In some special cases, it is possible to do the reverse direction and show that a differentially algebraic function is D n -finite for some n [1]. For example, if consider the Riccati differential equation: The natural question arises, whether all differentially algebraic functions are D n -finite for some n ∈ N. The answer to this question is no. A simple counter example has been given by Noordman, van der Put, and Top [12]: the solutions to the non-linear differential equation y ′ = y 3 − y 2 are not D n -finite for any n. A combinatorial example that can be reduced to this case has been investigated in [2].

Singularities of D-finite functions
For D-finite functions, there are algorithms for certified arbitrary precision numerical evaluation [11] at any regular point only using the defining differential equation, i.e., the data structure (2). These algorithms require a pre-processing step: the computation of the singularities of the differential equation (1).
Since for holonomic functions, the coefficients are simply polynomials, this is very easy: one only needs to compute the zeros of the leading coefficient. For DD-finite functions, however, this is not so easy anymore. The singularities of all coefficients need to be computed (easy) together with the zeros of the leading coefficient (difficult). In fact, the computation of the zeros of a D-finite function is an open problem. Moreover, we know (as it happens, e.g., with sin(x) and cos(x)) that D-finite functions may have infinitely many zeros.
To complicate matters, the computation of closure properties may introduce more zeros in the leading coefficient than expected. In Example 2.3, we started with two differential equations whose leading coefficients only vanish at x = −1. This means that after adding, multiplying or differentiating those two functions, this can only lead to a singularity at x = −1.
This is not what we observe in the differential equation for the resulting function. The leading coefficient vanishes at x = 1, x = −1, and at the zeros of x 3 + 3x 2 + 4x + 1. This is a very common effect when computing closure properties: the resulting differential equations have more singularities than the original differential equations, when the operations themselves do not add those singularities (in fact, if anything happens, singularities may even be removed).
Usually, users would compute differential equations using the standard closure properties and then apply desingularization algorithms to remove the extra singularities [3]. Instead of keeping this two-step procedure, we keep an algebraic and algorithmic control of these singularities by extending the concept of differentially definable functions.
Definition 4.1 Let R ⊂ K[[x]] be a differential ring and S ⊂ R be a multiplicatively closed set (i.e., 1 ∈ S and x, y ∈ S ⇒ xy ∈ S). We define the S-simple differentially definable functions over R as the elements f (x) ∈ D(R) that satisfy a linear differential equation of type (1) with a leading coefficient r d (x) ∈ S. The set of all S-simple differentially definable functions over R is denoted by D S (R).
All closure properties mentioned in Theorem 2.2 carry over to the S-simple differentially definable functions, if the underlying ring is well-behaved.
Theorem 4.2 (Simple closure properties [6]) Let S be a multiplicatively closed set and R be a Noetherian ring. Then the set D S (R) is closed under addition, multiplication, derivation and integration. In particular D S (R) is a differential subring www.gamm-proceedings.com This theorem applies directly to the case of D-finite functions (since K[x] is a Noetherian ring). Moreover, this result can be extended (as it was done in [6]) to D n -finite functions. Also the computation of these closure properties is algorithmic and can still be done using linear algebra, but one has to operate over modules instead of vector spaces. For the D-finite case, this method is already included in dd_functions.
Example 4.3 Let S = {(x + 1) n : n ∈ N}. Then the functions f (x) and g(x) from Example 2.3 are S-simple. Using Theorem 4.2, we know that h(x) = f (x) + g(x) is also S-simple. However, in Example 2.3 we did not obtain the corresponding differential equation. Using the implementation of the method for simple D-finite functions in dd_functions we obtain instead the following linear differential equation for h(x): where the polynomials q 1 (x), q 2 (x), q 3 (x), q 4 (x) have degree at most 12 and q 5 (x) = 5022(x + 1) 2 . Although the new equation for h(x) has bigger coefficients, the only singularity of this differential equation is the expected singularity at x = −1.

Conclusions and outlook
We have given the basic definition of differentially definable functions and in particular the D n -finite functions and summarized some of the basic properties. All known algorithmic features are implemented and it may be read off between the lines that the computations are heavier than in the usual D-finite case. This is already true in the D 2 -finite case and becomes more apparent in every further iteration. Hence, there is a continuing effort in making the algorithms more efficient (and the package dd_functions is continuously updated accordingly). The numerical evaluation to arbitrary high precision for D 2 -finite functions, as mentioned in the previous section, is one of the next goals. Another work in progress is the efficient computation of the coefficients in the power series expansion of D 2 -finite functions.