Polynomial solutions of P-recursive equations

From HandWiki

In mathematics a P-recursive equation can be solved for polynomial solutions. Sergei A. Abramov in 1989 and Marko Petkovšek in 1992 described an algorithm which finds all polynomial solutions of those recurrence equations with polynomial coefficients.[1][2] The algorithm computes a degree bound for the solution in a first step. In a second step an ansatz for a polynomial of this degree is used and the unknown coefficients are computed by a system of linear equations. This article describes this algorithm. In 1995 Abramov, Bronstein and Petkovšek showed that the polynomial case can be solved more efficiently by considering power series solution of the recurrence equation in a specific power basis (i.e. not the ordinary basis [math]\displaystyle{ (x^n)_{n \in \N} }[/math]).[3]

Other algorithms which compute rational or hypergeometric solutions of a linear recurrence equation with polynomial coefficients also use algorithms which compute polynomial solutions.

Degree bound

Let [math]\displaystyle{ \mathbb{K} }[/math] be a field of characteristic zero and [math]\displaystyle{ \sum_{k=0}^r p_k(n) \, y (n+k) = f(n) }[/math] a recurrence equation of order [math]\displaystyle{ r }[/math] with polynomial coefficients [math]\displaystyle{ p_k \in \mathbb{K} [n] }[/math], polynomial right-hand side [math]\displaystyle{ f \in \mathbb{K}[n] }[/math] and unknown polynomial sequence [math]\displaystyle{ y(n) \in \mathbb{K}[n] }[/math]. Furthermore [math]\displaystyle{ \deg (p) }[/math] denotes the degree of a polynomial [math]\displaystyle{ p \in \mathbb{K}[n] }[/math] (with [math]\displaystyle{ \deg (0) = - \infty }[/math] for the zero polynomial) and [math]\displaystyle{ \text{lc}(p) }[/math] denotes the leading coefficient of the polynomial. Moreover let[math]\displaystyle{ \begin{align} q_i &= \sum_{k=i}^r \binom{k}{i} p_k, & b &= \max_{i=0,\dots,r}(\deg (q_i)-i), \\ \alpha(n) &= \sum_{i=0,\dots,r \atop \deg (q_i) - i = b} \text{lc} (q_i) n^{\underline{i}}, & d_\alpha &= \max \{n \in \N \, : \, \alpha(n) = 0 \} \cup \{ - \infty\} \end{align} }[/math]for [math]\displaystyle{ i=0,\dots,r }[/math] where [math]\displaystyle{ n^{\underline{i}} = n (n-1) \cdots (n-i+1) }[/math] denotes the falling factorial and [math]\displaystyle{ \N }[/math] the set of nonnegative integers. Then [math]\displaystyle{ \deg (y) \leq \max \{ \deg(f) - b, -b-1, d_\alpha \} }[/math]. This is called a degree bound for the polynomial solution [math]\displaystyle{ y }[/math]. This bound was shown by Abramov and Petkovšek.[1][2][3][4]

Algorithm

The algorithm consists of two steps. In a first step the degree bound is computed. In a second step an ansatz with a polynomial [math]\displaystyle{ y }[/math] of that degree with arbitrary coefficients in [math]\displaystyle{ \mathbb{K} }[/math] is made and plugged into the recurrence equation. Then the different powers are compared and a system of linear equations for the coefficients of [math]\displaystyle{ y }[/math] is set up and solved. This is called the method undetermined coefficients.[5] The algorithm returns the general polynomial solution of a recurrence equation.

algorithm polynomial_solutions is
    input: Linear recurrence equation [math]\displaystyle{ \sum_{k=0}^r p_k(n) \, y (n+k) = f(n), p_k, f \in \mathbb{K}[n], p_0, p_r \neq 0 }[/math].
    output: The general polynomial solution [math]\displaystyle{ y }[/math] if there are any solutions, otherwise false.

    for [math]\displaystyle{ i=0,\dots,r }[/math] do
        [math]\displaystyle{ q_i = \sum_{k=i}^r \binom{k}{i} p_k }[/math]
    repeat
    [math]\displaystyle{ b=\max_{i=0,\dots,r} (\deg (q_i) - i) }[/math]
    [math]\displaystyle{ \alpha(n) = \sum_{i=0,\dots,r \atop \deg (q_i) - i = b} \text{lc} (q_i) n^{\underline{i}} }[/math]
    [math]\displaystyle{ d_\alpha = \max \{n \in \N \, : \, \alpha(n) = 0 \} \cup \{ - \infty\} }[/math]
    [math]\displaystyle{ d = \max \{ \deg (f) - b, -b-1, d_\alpha\} }[/math]
    [math]\displaystyle{ y(n) = \sum_{j=0}^d y_j n^j }[/math] with unknown coefficients [math]\displaystyle{ y_j \in \mathbb{K} }[/math] for [math]\displaystyle{ j=0,\dots,d }[/math]
    Compare coefficients of polynomials [math]\displaystyle{ \sum_{k=0}^r p_k(n) \, y (n+k) }[/math] and [math]\displaystyle{ f(n) }[/math] to get possible values for [math]\displaystyle{ y_j, j=0,\dots,d }[/math]
    if there are possible values for [math]\displaystyle{ y_j }[/math] then
        return general solution [math]\displaystyle{ y }[/math]
    else
        return false
    end if

Example

Applying the formula for the degree bound on the recurrence equation[math]\displaystyle{ (n^2-2) \, y (n) + (-n^2+2n) \, y (n+1)=2n, }[/math]over [math]\displaystyle{ \Q }[/math] yields [math]\displaystyle{ \deg (y) \leq 2 }[/math]. Hence one can use an ansatz with a quadratic polynomial [math]\displaystyle{ y(n) =y_2 n^2 + y_1 n + y_0 }[/math] with [math]\displaystyle{ y_0, y_1, y_2 \in \Q }[/math]. Plugging this ansatz into the original recurrence equation leads to[math]\displaystyle{ 2n = (n^2-2) \, y(n) + (-n^2+2n) \, y (n+1) = (y_1 + y_2) \, n^2 + (2 y_0 + 2 y_2 ) \, n - 2 y_0. }[/math]This is equivalent to the following system of linear equations[math]\displaystyle{ \begin{align} \begin{pmatrix} 0 & 1 & 1 \\ 2 & 0 & 2 \\ -2 & 0 & 0 \end{pmatrix} \begin{pmatrix} y_0 \\ y_1 \\ y_2 \end{pmatrix} = \begin{pmatrix} 0 \\ 2 \\ 0 \end{pmatrix} \end{align} }[/math]with the solution [math]\displaystyle{ y_0 = 0, y_1 = -1, y_2 = 1 }[/math]. Therefore the only polynomial solution is [math]\displaystyle{ y (n) = n^2-n }[/math].

References

  1. 1.0 1.1 Abramov, Sergei A. (1989). "Problems in computer algebra that are connected with a search for polynomial solutions of linear differential and difference equations". Moscow University Computational Mathematics and Cybernetics 3. 
  2. 2.0 2.1 Petkovšek, Marko (1992). "Hypergeometric solutions of linear recurrences with polynomial coefficients". Journal of Symbolic Computation 14 (2–3): 243–264. doi:10.1016/0747-7171(92)90038-6. ISSN 0747-7171. 
  3. 3.0 3.1 Abramov, Sergei A.; Bronstein, Manuel; Petkovšek, Marko (1995). "On polynomial solutions of linear operator equations". Proceedings of the 1995 international symposium on Symbolic and algebraic computation - ISSAC '95. ACM. pp. 290–296. doi:10.1145/220346.220384. ISBN 978-0897916998. 
  4. Weixlbaumer, Christian (2001). Solutions of difference equations with polynomial coefficients. Diploma Thesis, Johannes Kepler Universität Linz
  5. Petkovšek, Marko; Wilf, Herbert S.; Zeilberger, Doron (1996). A=B. A K Peters. ISBN 978-1568810638. OCLC 33898705. https://www.math.upenn.edu/~wilf/Downld.html.