Power Series Representations of Hypergeometric Type Functions

Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 1414)


In 1992, Koepf proposed a symbolic approach to compute power series. This algorithm was extended for a larger family of expressions thanks to Petkovsek’s and van Hoeij’s algorithms (1993 and 1998) which compute hypergeometric term solutions of any given holonomic recurrence equation (RE). Mark van Hoeij’s algorithm whose outputs are bases is available in Maple through the command LREtools[hypergeomsols], and Koepf’s algorithm through convert and the built-in module FormalPowerSeries. LREtools[hypergeomsols] is internally used by convert/FormalPowerSeries.

However, using van Hoeij’s algorithm one cannot compute m-fold hypergeometric term solutions of holonomic REs, for integers \(m>1\). Given a field K of characteristic zero, a term a(n) is said to be m-fold hypergeometric if the term ratio \(a(n+m)/a(n)\) is rational over K. Note that the hypergeometric term case corresponds to \(m=1\). If one adds for example an odd hypergeometric function, like \(\arcsin (z)\), and an even hypergeometric function, like \(\cos (z)\) (which both are two-fold hypergeometric), then van Hoeij’s algorithm cannot find those by solving the resulting recurrence equation. Due to this limitation, the computation of many power series is missed by Maple, in particular, linear combinations of power series having m-fold hypergeometric term coefficients are generally not detected.

We overcome these issues by using a new algorithm called mfoldHyper, proposed in the first author’s Ph.D. thesis to compute bases of the subspace of m-fold hypergeometric term solutions of holonomic REs. It turns out that mfoldHyper linearizes the computation of hypergeometric type power series, i.e. every linear combination of hypergeometric type power series is detected. This paper describes our Maple implementation of an algorithm that conclusively extends Maple’s capabilities regarding the computation of hypergeometric type power series.


Hypergeometric type power series m-fold hypergeometric term Holonomic recurrence equation 

1 Introduction

By connection to the generalized hypergeometric series, the term “hypergeometric type” had been introduced in [5] to denote expressions whose power series coefficients lead to a two-term recurrence relation with polynomial coefficients. The type of such series is defined as the positive difference of the indeterminate sequence indices in the equation. However, despite the fact that we keep this terminology, we are considering a much larger family of expressions, mostly linear combinations of holonomic meromorphic functions. Indeed, the original definition does not consider arbitrary holonomic recurrence equations1, and therefore neglects the possibility to have finitely many different types for the same power series. Specifically, we have the following definition.

Definition 1

(Hypergeometric type power series). Let \(\mathbb {K}\) be a field of characteristic zero. For an expansion around \(z_0\in \mathbb {K}\), a series s(z) is said to be of hypergeometric type if it can be written as
$$\begin{aligned} s(z) := T(z) + \sum _{j=1}^{J} s_j(z),~ s_j=\sum _{n=n_{j,0}}^{\infty } a_{j,n}(z-z_0)^{n/p_j} \end{aligned}$$
where n is the summation variable, \(T(z)\in \mathbb {K}[z,1/z,\ln (z)]\), \(n_{j,0}\in \mathbb {Z}\), \(J, p_j\in \mathbb {N}\), and \(a_{j,n}\) is such that there exists a positive integer \(m_j\) so that \(a_{j,n+m_j}/a_{j,n}\in \mathbb {K}(n)\).

Thus a hypergeometric type power series is a linear combination of Laurent-Puiseux series whose coefficients are m-fold hypergeometric terms2. A hypergeometric function is a function that can be expanded as a hypergeometric type power series. T is called the Laurent polynomial part of the expansion, and the \(p_j\)’s are its Puiseux numbers.

The presence of \(\ln (z)\) in a hypergeometric type expansion is justified by the solution of the underlying holonomic differential equation (see [4]). The definition in [5] reduces to the case \(T=0\) and \(J\leqslant m\), where m is the unique type (\(m_1=\cdots =m_J=m\)) encountered in Definition 1.

Algorithmic attempts were proposed [1] to determine the Puiseux numbers in expression (1), but this was limited and could not be taken into account in the general case. This is why commonly used approaches to Puiseux number calculation are based on heuristic tests on the input function. But this generally only works in the case where one deals with a single Puiseux number (all the \(p_j\)’s are identical in (1)). Based on a symbolic approach, our algorithm offers a clear procedure to determine all different Puiseux numbers involved in a power series expansion. Note that the scope here is more general than what could be done using the Frobenius method (see [7]) which rather forces Puiseux numbers to appear additively (\(z^{n+r}, r\in \mathbb {Q}\)) in the power of the indeterminate.

Likewise, instead of checking expressions, our algorithm also proposes a symbolic approach to determine the Laurent polynomial part in (1).

Remark 1

  • An m-fold hypergeometric term \(a_n\) encodes m linearly independent hypergeometric terms. These can be enumerated by the m different representations of the corresponding ratios as
    $$\begin{aligned} \frac{a_{n+m+l}}{a_{n+l}}\in \mathbb {K}(n),~ 0\leqslant l\leqslant m-1 . \end{aligned}$$
  • Without loss of generality, we assume \(z_0=0\) since the non-zero case easily reduces to it. This is also implemented.

A generic representation of hypergeometric type functions for which we compute power series is
$$\begin{aligned} f(z) = T_0(z) + \sum _{i=1}^{I}T_i(z)\cdot f_i(z), \end{aligned}$$
where \(T_0(z), T_i(z) \in \mathbb {K}[z,1/z,\ln (z)]\), and the \(f_i\)’s are of hypergeometric type. The linear combination of hypergeometric type power series found by our algorithm is what stops the recursive aspect3 of representation (3). Therefore having an expression f(z) of the form (3) does not guarantee that its power series representation has I hypergeometric type power series, and \(T_0(z)\) is not necessarily equal to T(z) in (1). For a better view of this fact, let us first recall the steps (with ramifications in the last step) of the method described in [5]. Given an expression f(z), the algorithm proceeds as follows.
  • (Step 1) Compute a holonomic differential equation satisfied by f(z).

  • (Step 2) Convert the obtained differential equation into a recurrence equation for the power series coefficients of f(z).

  • (Step 3) Find all m-fold hypergeometric term solutions of the resulting recurrence equation, and use some initial values to find a linear combination corresponding to the power series of f(z).

Although we have implementations that can be used to improve the efficiency (the function HolonomicDE in our Maple package FPS is generally faster than Maple’s DEtools[FindODE] for expressions of the form (3)) for (Step 1), this article puts emphasis on (Step 3), given that (Step 2) is straightforward.

Let f(z) be as in (3). One may think of using Koepf’s algorithm on every summand of f(z), but this will not always work as some \(f_i\) in (3) could lead to a recurrence equation with more than two terms in (Step 2). In such a situation, the current Maple implementation internally uses van Hoeij’s algorithm. The issue with the latter algorithm is the fact that it only looks for hypergeometric term solutions (\(m=1\)) which is just a particular case of what should be considered; also, it may find hypergeometric terms that are equivalent to all the needed m-fold hypergeometric terms but by using unnecessary extension fields. Usually when this happens, the current Maple implementation fails to find a linear combination for the power series representation sought.

We give some details explaining why Maple fails to find the power series of \({z}^{2}\sin \left( z \right) +{z}^{4}\ln \left( 1+z+{z}^{2}+{z}^{3} \right) \).

Hence no representation is found. Sometimes this could happen if the holonomic differential equation to be used has an order larger than 4, but this is not the case since a holonomic recurrence equation can be found without such a specification.

Example 2

The resulting differential equation is converted into the following recurrence equation:

Since (4) has more than two terms, LREtools[hypergeomsols] is internally used.

It is not difficult to prove that the above basis of hypergeometric terms can be used to represent the power series sought, but this is missed by convert/FormalPowerSeries. Moreover, using this built-in command on individual summands does not give much improvement on the result because the same issue occurs for \(z^4\cdot \ln (1+z+z^2+z^3)\) whose recurrence equation also has more than two terms. Example 7 shows by using our implementation that ‘simpler’ (no extension field used) coefficients exist over the rationals.

It may happen, moreover, that the power series coefficients of two distinct hypergeometric type functions reduce to a single m-fold hypergeometric term computed in (Step 3). This is another reason why calling convert/FormalPowerSeries for individual summands does not always give the best possible representation.

Example 4

Applying convert/FormalPowerSeries to each summand of \(\sin (z)^3-\cos (z)^3\) yields
which is much more simplified avoiding algebraic extensions using our implementation as follows:
Note that the latter output is not the same as what is obtained using the internal command directly.
Many more examples of this kind can be provided.

As one can see, our algorithm is implemented in our Maple package FPS under the name FPS, presented as the main function of the package4.

The main ingredient of our approach is algorithm mfoldHyper from [8, Chapter 7] that we implemented with the same name. This algorithm computes a basis of the subspace of all m-fold hypergeometric term solutions of any given holonomic recurrence equation.

Example 5

We come back to the power series sought in Example 1. A basis of m-fold hypergeometric term solutions of (4) can be represented as

Note that each 2-fold solution above corresponds to two hypergeometric terms. By default, the algorithm computes terms corresponding to \(l=0\) in (2). Once we know that 2-fold hypergeometric term solutions exist, we can call the algorithm again to get the other representations.

Finally with all these m-fold hypergeometric terms we look for a linear combination using appropriate initial values and get the representation

Observe that some shifts may be applied to the coefficients according to the starting point obtained from the Laurent polynomial part of the series. This is always used even when the corresponding Laurent polynomial part is zero, because it leads to appropriate starting points.

Note that (Step 3) can be divided into two important sub-steps. Indeed, finding a linear combination after obtaining m-fold hypergeometric terms requires a certain number of initial values and evaluations that can be determined from the obtained basis of m-fold hypergeometric terms. If a precise matching between evaluations and initial values is not correctly made then the representation sought might be missed. Therefore the algorithm (see [10], [8]) behind our method could work as a decision procedure to decide whether a given holonomic meromorphic function is of hypergeometric type.

On the other hand, it is proved in [8, Theorem 7.2, 7.3] that the exp-like and the rational function series types considered in [5] are both of hypergeometric type. Therefore it is not necessary to split our development into these particular cases.

In the following sections we give an overview of algorithm mfoldHyper and some details about the steps of our algorithm. Many examples where the current Maple convert/FormalPowerSeries misses results will be presented.

2 An Overview of Algorithm mfoldHyper

m-fold hypergeometric terms have sometimes been referred to as m-hypergeometric sequences in [6], m-interlacings of hypergeometric sequences (see the conclusion of [11]) that are also considered as a particular case of Liouvillian sequences in [2]. We use the phrase m-fold hypergeometric term from the most recent paper about this notion in [3]. However, none of the approaches described in these previous works corresponds to the method used by mfoldHyper. Indeed, most of the effort on finding m-fold hypergeometric term solutions of holonomic recurrence equations has been focused on extending Petkovšek’s or van Hoeij’s algorithm. Specifically, the aim is usually to compute right factors of the form \(\tau ^m - r(n)\), where \(\tau \) denotes the shift operator, and r(n) is a rational function over a field of characteristic zero, of the given recurrence operator, and adapt the steps of Petkovšek’s or van Hoeij’s algorithm to the m-fold case. As mentioned in [6], these approaches usually increase the complexity dramatically, which may explain the lack of implementations. mfoldHyper uses a completely different strategy, the algorithm in [9], Petkovšek’s or van Hoeij’s algorithm, can be used as a black box. The method results from a study of holonomic recurrence equations. In the sequel, we give the theorem upon which mfoldHyper is based and present its steps towards computing m-fold hypergeometric term solutions of holonomic recurrence equations.

Definition 2

(m -fold holonomic recurrence equation). Let m be a positive integer. A holonomic recurrence equation is said to be m-fold holonomic if it has at least two non-zero terms, and the difference between every pair of indices in the equation is a multiple of m.

Example 8

  • Hypergeometric type power series considered in [5] lead to an m-fold holonomic recurrence equation with two terms.

  • One can always write an m-fold holonomic recurrence equation as
    $$\begin{aligned} P_{md}(n)a_{n+md} + P_{m(d-1)}a_{n+m(d-1)}+\cdots + P_0(n)a_n = 0 \end{aligned}$$

An important point to notice is that representation (6) is just a particular notation. We may have many different representations of m-fold holonomic recurrence equations in the equation of study, and these have to be considered separately. The following definition is used to identify these differences.

Definition 3

(m -fold distinct holonomic recurrence equations). Let m be a positive integer. Two m-fold holonomic recurrence equations are said to be m-fold distinct, if the difference between any index taken from one and another taken from the second is not a multiple of m.

Example 9

$$\begin{aligned}&RE_1:~{{P}_{1,3}}\cdot {{a}_{n+7}}+{{P}_{1,2}}\cdot {{a}_{n+4}}+{{P}_{1,1}}\cdot {{a}_{n+1}}=0,\nonumber \\&RE_2:~{{P}_{2,4}}\cdot {{a}_{n+11}}+{{P}_{2,3}}\cdot {{a}_{n+8}}+{{P}_{2,2}}\cdot {{a}_{n+5}}+{{P}_{2,1}}\cdot {{a}_{n+2}}=0. \end{aligned}$$
\(RE_1\) and \(RE_2\) are 3-fold holonomic distinct.

We can now state the fundamental theorem behind algorithm mfoldHyper (see [8, Theorem 7.1]).

Theorem 1

(Structure of holonomic recurrence equations having m -fold hypergeometric term solutions). Let \(m\in \mathbb {N}\), \(\mathbb {K}\) a field of characteristic zero, and \(h_n\) be an m-fold hypergeometric term which is not u-fold hypergeometric over \(\mathbb {K}\) for all positive integers \(u<m\). Then \(h_n\) is a solution of a given holonomic recurrence equation, if that equation can be written as a linear combination of m-fold holonomic recurrence equations; such that \(h_n\) is solution of each of the m-fold distinct holonomic recurrence equations of that linear combination.

Remark 2

In Theorem 1 the aim of the assumption that the recurrence equation should be written as a linear combination of m-fold holonomic recurrences is to eliminate those with only one (non-zero) term which are not taken into account by Definition 2.

Combined with the fact that the given recurrence equation order plays the role of a bound for the value of m (see [2, 8]), Theorem 1 leads to the following main steps to determine a basis of the subspace of all m-fold hypergeometric term solutions.

Example 10

Consider the recurrence equation
$$\begin{aligned} \left( 2+n\right) \cdot \left( 4+n\right) \cdot \left( 6+n\right) \cdot {{a}_{n+6}}-2\cdot \left( 2+n\right) \cdot \left( 4+n\right) \cdot {{a}_{n+4}}+4\cdot \left( 2+n\right) \cdot {{a}_{n+2}}-8\cdot {{a}_{n}}=0. \end{aligned}$$
  • For \(m=2\), we find that (8) is 2-fold, we then apply the substitution
    $$\begin{aligned} {\left\{ \begin{array}{ll} 2\cdot k = n \\ s_{k} = a_{2\cdot k} \end{array}\right. }, \end{aligned}$$
    that transforms (8) into the recurrence equation We solve (10) using the algorithm in [9] and substitute the initial variable back to get the following basis of 2-fold hypergeometric terms solutions
    $$\begin{aligned} \left\{ \frac{1}{n!}\right\} . \end{aligned}$$
  • For \(m=4\), we find a combination of two 4-fold holonomic REs, namely,
    $$\begin{aligned} -2\cdot \left( 2+n\right) \cdot \left( 4+n\right) \cdot {{a}_{n+4}}-8\cdot {{a}_{n}}=0, \end{aligned}$$
    $$\begin{aligned} \left( 2+n\right) \cdot \left( 4+n\right) \cdot \left( 6+n\right) \cdot {{a}_{n+6}}+4\cdot \left( 2+n\right) \cdot {{a}_{n+2}}=0. \end{aligned}$$
    These lead to the same basis of 4-fold hypergeometric term solutions, which is
    $$\begin{aligned} \left\{ \frac{{{\left( -1\right) }^{n}}}{\left( 2\cdot n\right) !}\right\} . \end{aligned}$$
  • No more linear combination is found. Therefore the final output is
    $$\begin{aligned} \left[ \left[ 2,\left\{ \frac{1}{n!}\right\} \right] ,\left[ 4,\left\{ \frac{{{\left( -1\right) }^{n}}}{\left( 2\cdot n\right) !}\right\} \right] \right] . \end{aligned}$$

Our Maple package has an implementation of Algorithm 1 under the name mfoldHyper.

Example 11

(8) is obtained by computing the recurrence equation for the power series of \(\exp (z^2)+\cos (z^2)\). Let us recover the solution as in (13).
Of course, such a solution cannot be detected by van Hoeij’s algorithm.

3 Computing Hypergeometric Type Power Series

Having presented how mfoldHyper works, we can now give some details about how our procedure builds a hypergeometric type power series from a given expression. Remember, as mentioned in the introduction, we consider a much larger family of expressions than what is described in [5] or currently internally used by Maple. The decision property of the algorithm in [10] could not be reached by previous approaches since m-fold hypergeometric terms were barely accessible. However, we highlight a possible gap between the algorithm and its implementation since limitations can be encountered due to unavailability of computer algebra tools to deal with hypergeometric terms over larger algebraic extension fields; an example will be presented. Nevertheless, as our Maxima implementation (see [8])5, our Maple implementation demonstrates an important improvement that covers a very large family of hypergeometric type functions given as in (3), which can also be used to show equivalences between them.

Once a holonomic recurrence equation satisfied by the power series coefficients of a given expression is computed, determining the following items is the essential focus of our procedure.

  • Puiseux numbers.

  • Laurent polynomial part and starting points.

  • A basis (in its complete form6) of m-fold hypergeometric term solutions of the obtained holonomic recurrence equation.

  • A linear combination of hypergeometric type power series.

We use our Maple implementation to describe these steps for some interesting examples.

Consider \(f(z)=\arctan (z) + \ln (1+z^2) + \exp (z^3)\), we want to find the power series representation of f around \(z_0=0\). This first example is used to give some details about the way we get the complete basis of m-fold hypergeometric terms and how to find the needed linear combination of hypergeometric type power series. The recurrence equation found is the following.

Using mfoldHyper, we find the following basis of hypergeometric terms (incomplete form).

This reveals that we have one more 2-fold hypergeometric term, and two more 3-fold hypergeometric terms. They can be computed using mfoldHyper as follows.

Hence we obtain the basis of m-fold hypergeometric term solutions in its complete form. We emphasize on repeated use of mfoldHyper because thanks to [9], it represents all its outputs in appropriate normal forms. We recall that \((1/3)_n\) denotes the Pochhammer symbol or rising factorial.

We have 2-fold and 3-fold hypergeometric terms, therefore we expect series expansions with the following powers
$$\begin{aligned} z^{2n},~z^{2n+1},~z^{3n},~z^{3n+1},~z^{3n+2}. \end{aligned}$$
We need to know the number of evaluations to make with the obtained m-fold hypergeometric terms, and the number of initial coefficients of the Taylor expansion of f(z) that should be used. This way we will get a linear system of 5 unknowns representing the coefficients of the linear combination sought. Note that integer roots of the recurrence equation leading coefficient are automatically taken into account when computing the coefficients thanks to the appropriate integer shifts applied in [9]. We establish (see [8, Chapter 8]) that the number of initial coefficients to be used from the Taylor expansion of f(z) can be taken as
$$\begin{aligned} \left( \sum _{m\in \{m_1,\ldots ,m_{\mu }\}}^{}l_m - 1\right) \cdot {{\,\mathrm{lcm}\,}}(m_1,\ldots ,\cdot m_{\mu }) + m_{\mu } - 1 \end{aligned}$$
where the \(m_i,\) \(i=1,\ldots ,\mu \), \(\mu \in \mathbb {N}\) are the types involved in the hypergeometric type power series; \(l_{m_i}\) is the number of coefficient of type \(m_i\); and \(m_{\mu }\) is the maximum of these types. This number corresponds to the number of linear equations which might be reduced sometimes, but in general taking a lower number of equations may result in missing of the representation sought. Applied to our example one gets \((2 + 1 - 1)\cdot (2\cdot 3) + (3-1) = 14\). We finally obtain the following power series representation.

Remark 3

  • Sometimes the linear system has many solutions leading to different (but equivalent) representations of the same power series. We have observed that in certain cases our Maxima implementation yields a different representation than our Maple implementation. This could be explained by the way both CASes represent solutions of linear systems. Our Maple implementation uses Solve[Linear] and sometimes solve.

  • Although the number of initial coefficients can be computed using limit computations, in our implementation we rather use Maple’s series command. Note, however, that this command does not always give expansions of the required orders due to internal cancellations, therefore it is always important to check the degree of the obtained Taylor polynomial. That is one difference we encountered between Maple and Maxima which mostly handles Taylor polynomials as desired.

Our next example is \(f(z):=-1+(1+z^2)\cdot \exp (z) + {{\,\mathrm{arcsech}\,}}(\sqrt{z})\). In the previous case, we could neither expect shifted starting points nor Puiseux numbers. With this new example one may expect the hypergeometric type part of the expansion starting summations at 1 (or with \(z^1\) instead of \(z^0\)) since a constant term appears in f. One also observes that a possible Puiseux number is 2 as \(\sqrt{z}\) appears. However, our procedure does not make any checking on its inputs, everything is deduced from the holonomic recurrence equations which encode all this information.

Example 16

The computed recurrence equation is

Observe that 7/2 (or 1/2 after normalizing the equation) is a root of the trailing polynomial coefficient of (17). What we have established is that for hypergeometric type power series, the least common multiple of the leading and trailing polynomial coefficient root denominators should be taken as the Puiseux number of the representation sought. Thus by computing the power series of \(f(z^p)\), where p denotes that Puiseux number, and replacing z by \(z^{1/p}\) in the final representation will automatically generate all the Puiseux numbers of the representation. Hence next we compute a holonomic recurrence equation for \(f(z^2)\).

Remark that all the rational roots of the leading and trailing polynomial coefficient are now integers. This is even more advantageous since it allows mfoldHyper to get nicer formulas for m-fold hypergeometric terms.

For computing starting points, by developing a procedure to find finite sequence (coefficients of the Laurent polynomial part) solutions of holonomic recurrence equations, we established that the algorithm behind the following Maple code could generally give the starting point and the Laurent polynomial part of a hypergeometric type power series.
Normalized polynomial coefficients means that the coefficients are collected with the recurrence equation written with \(a_n\) (index n) as trailing term. For the present example we find the following Laurent polynomial part and starting point
$$\begin{aligned} \ln \left( 2 \right) -1/2\,\ln \left( z \right) ,~~ 1. \end{aligned}$$
We mention that mis-consideration of starting points may lead to wrong power series representations. This could explain why in some examples the built-in Maple approach gives an incorrect representation for \(\exp (z)+\ln (1+z)\). Some other similar examples can be found.

Finally using the other steps described in the first example, we get the representation below.

Our implementation groups coefficients with same z-powers together.

Remark 4

As we mentioned earlier, rational functions are all of hypergeometric type. However some of their power series representations need extension fields where computations cannot easily be handled. The main issue with such cases relies on the linear system to be solved to find the corresponding linear combination of hypergeometric type power series.

Example 19

Consider for example \(f(z)=1/(1+z+z^4)\). We find the recurrence equation
and the following hypergeometric term (\(m=1\) only) solutions
The argument C in mfoldHyper is used to allow computations over extension fields. This happens in the algorithm whenever no solution exists over the rationals. When looking for a linear combination by solving the underlying linear system, we get the following error message.

This is a particular issue that we should try to overcome while finalizing our implementation.

Let us now present more examples describing our algorithm.

For special functions like the generalized hypergeometric function, the approach used to compute holonomic differential equations must slightly be modified. That is why in this previous example the option fpstype=SpecialFunctions is used.

As one can observe, our implementation linearizes the computation of hypergeometric type power series. None of the above examples can directly be computed using the built-in Maple convert/FormalPowerSeries.

4 Conclusion

We have presented an algorithm and its Maple implementation to compute hypergeometric type power series as defined in Definition 1. We have shown that this extends Maple’s capabilities to consider more expressions for which power series could not be directly computed before. We believe that this is an important advancement that should be integrated into computer algebra systems.

Besides other important steps like computing Puiseux numbers, the Laurent polynomial part, or finding a linear combination of hypergeometric type power series, the main ingredient of the algorithm is mfoldHyper which computes m-fold hypergeometric term solutions of holonomic recurrence equations. The latter was the main deficiency of the algorithm in [5] on which Maple’s original implementation is based.

There are further types of series considered in [8]. The question is, what to do when it turns out that a given expression is not of hypergeometric type, or is even non-holonomic. We mention for example the case where the given expression is not of hypergeometric type but holonomic. That means a recurrence equation can be computed. Some trivial cases like \(\exp (z+z^2)\cdot \cos (z)\) are well handled as we could find a recursive representation that could be used for fast computations of larger order Taylor expansions.

On the other hand, we also look for techniques to consider more special functions. We mention Mathieu functions (see this Maple link7) for which we are able to recover differential equations that they satisfy using our code FPS[LinearDE] which does not necessarily look for polynomial coefficients inside the differential equation sought.

Further steps to consider rely on change of variables transformations (when possible) of such types of equations to holonomic equations. We are grateful to have gotten a question regarding Mathieu functions during our presentation at the 2020 Maple conference.


  1. 1.

    We recall that a recurrence equation is said to be holonomic if it is linear and homogeneous having polynomial coefficients.

  2. 2.

    An m-fold hypergeometric term is implicitly defined in Definition 1 by the property of hypergeometric type series coefficients. This is admitted in the remaining part of the paper.

  3. 3.

    Recursive because hypergeometric type functions are used in (3).

  4. 4.

    FPS contains some other results that will not be discussed in this paper.

  5. 5.

    Currently being discussed for integration into the system.

  6. 6.

    Complete form means that all representations of m-fold hypergeometric terms are given. These are m linearly independent terms.

  7. 7.


  1. 1.
    Gruntz, D., Koepf, W.: Maple package on formal power series. Maple Tech. Newsl. 2(2), 22–28 (1995)Google Scholar
  2. 2.
    Hendricks, P.A., Singer, M.F.: Solving difference equations in finite terms. J. Symb. Comput. 27(3), 239–259 (1999)MathSciNetCrossRefGoogle Scholar
  3. 3.
    Horn, P., Koepf, W., Sprenger, T.: m-fold hypergeometric solutions of linear recurrence equations revisited. Math. Comput. Sci. 6(1), 61–77 (2012). Scholar
  4. 4.
    Kauers, M., Paule, P.: The Concrete Tetrahedron. Symbolic Sums, Recurrence Equations, Generating Functions, Asymptotic Estimates. Springer, Vienna (2011). Scholar
  5. 5.
    Koepf, W.: Power series in computer algebra. J. Symb. Comput. 13(6), 581–603 (1992)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Petkovšek, M., Salvy, B.: Finding all hypergeometric solutions of linear differential equations. In: Bronstein, M. (ed.) ISSAC, pp. 27–33. Association for Computing Machinery, New York (1993)Google Scholar
  7. 7.
    Ryabenko, A.: Special formal series solutions of linear ordinary differential equations. In: Krob, D., Mikhalev, A.A., Mikhalev, A.V. (eds.) Formal Power Series and Algebraic Combinatorics, pp. 356–366. Springer, Heidelberg (2000). Scholar
  8. 8.
    Teguia Tabuguia, B.: Power series representations of hypergeometric types and non-holonomic functions in computer algebra. Ph.D. thesis, University of Kassel (2020).
  9. 9.
    Teguia Tabuguia, B.: A variant of van Hoeij’s algorithm to compute hypergeometric term solutions of holonomic recurrence equations. arXiv:2012.11513 [cs.SC] preprint (2020)
  10. 10.
    Teguia Tabuguia, B., Koepf, W.: Symbolic computation of hypergeometric type and non-holonomic power series. arXiv:2102.04157 [cs.SC] preprint (2021)
  11. 11.
    Van Hoeij, M.: Finite singularities and hypergeometric solutions of linear recurrence equations. J. Pure Appl. Algebra 139(1–3), 109–131 (1999)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2021

Authors and Affiliations

  1. 1.Kassel UniversityKasselGermany

Personalised recommendations