P-recursive equation

From testwiki
Jump to navigation Jump to search

Template:Short description Template:Expert needed Template:Further

In mathematics a P-recursive equation is a linear equation of sequences where the coefficient sequences can be represented as polynomials. P-recursive equations are linear recurrence equations (or linear recurrence relations or linear difference equations) with polynomial coefficients. These equations play an important role in different areas of mathematics, specifically in combinatorics. The sequences which are solutions of these equations are called holonomic, P-recursive, or D-finite.

From the late 1980s, the first algorithms were developed to find solutions for these equations. Sergei A. Abramov, Marko Petkovšek and Mark van Hoeij described algorithms to find polynomial, rational, hypergeometric and d'Alembertian solutions.

Definition

Let 𝔽 be a field of characteristic zero, meaning there is no m∈ℕ such that 0=∑k=1m1, and n∈ℕ.

A sequence (xk)k∈ℕ0∈𝔽ℕ0 is called P-recursive if it satisfies a linear recursive equation with coefficients in 𝔽[n] meaning there exists a sequence (pk(n))k∈ℕ0∈(𝔽[n])ℕ0 a polynomial y(n)∈𝔽[n] such that ∑k=0∞pk(n)⋅xn+k=y(n).Linear equations of this form are called P-recursive equations. Solutions to this equation are generally in xn∈𝔽[n]‾ meaning the completion of 𝔽[n], More specifically a equation∑k=0mpk(n)⋅xn+k=y(n) for a m∈ℕ is said to be of order m if and only if p0,pm are non-zero.[1]

Some authors further more require the equation to be homogenous, meaning y to be zero, for it to be called P-recursive. Further more a power series is called D-finite if it's coefficients are P-recursive.[2][3]

Closed form solutions

Let ∑k=0rpk(n)⋅yn+k=f(n) or equivalently L⋅y=f, where y=(yk)k∈ℕ0, f=(fk)k∈ℕ0 and L=(pk(g))(k,g)∈{0,1,…,r}×ℕ0acts as a linear operator, be a P-recurrence equation. There exist several algorithms which compute solutions of this equation. These algorithms can compute polynomial, rational, hypergeometric and d'Alembertian solutions. The solution of a homogeneous equation is given by the kernel of the linear recurrence operator: ker⁡(L)={y∈𝔽ℕ0∣L⋅y=0}. As a subspace of the space of sequences this kernel has a basis.[4] Let {y(k)∣k∈ℕ≤m} be a basis of ker⁡(L), then the formal sum yh=∑k=1mck⋅y(k) for arbitrary constants (ck)k∈ℕ≤m∈𝔽m is called a homogeneous solutiion to L⋅y=f, meaning L⋅y=0. If yp is a particular solution of L⋅y=f, meaning L⋅yp=f, then yh+yp is also a solution of the inhomogeneous problem. This means a general solution is gven by y=yh+yp.

Polynomial solutions

Template:MainIn the late 1980s Sergei A. Abramov described an algorithm which finds the general polynomial solution of a recurrence equation, i.e. y(n)∈𝔽[n], with a polynomial right-hand sidef(n)∈𝕂[n]. He (and a few years later Marko Petkovšek) gave a degree bound for polynomial solutions. This way the problem can simply be solved by considering a system of linear equations.[5][6][7] 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 (xn)n∈ℕ).[8]

The other algorithms for finding more general solutions (e.g. rational or hypergeometric solutions) also rely on algorithms which compute polynomial solutions.

Rational solutions

Template:MainIn 1989 Sergei A. Abramov showed that a general rational solution, i.e. y(n)∈𝕂(n), with polynomial right-hand side f(n)∈𝕂[n], can be found by using the notion of a universal denominator. A universal denominator is a polynomial u such that the denominator of every rational solution divides u. Abramov showed how this universal denominator can be computed by only using the first and the last coefficient polynomial p0 and pr. Substituting this universal denominator for the unknown denominator of y all rational solutions can be found by computing all polynomial solutions of a transformed equation.[9]

Hypergeometric solution

Template:MainA sequence y(n) is called hypergeometric if the ratio of two consecutive terms is a rational function in n, i.e. y(n+1)/y(n)∈𝔽(n) where 𝔽(n)=Quot(𝔽[n]) is the quotient of the polynomial ring 𝔽[n]. This is the case if and only if the sequence is the solution of a first-order recurrence equation with polynomial coefficients. The set of hypergeometric sequences is not a subspace of the space of sequences as it is not closed under addition.

In 1992 Marko Petkovšek gave an algorithm to get the general hypergeometric solution of a recurrence equation where the right-hand side f is the sum of hypergeometric sequences. The algorithm makes use of the Gosper-Petkovšek normal-form of a rational function. With this specific representation it is again sufficient to consider polynomial solutions of a transformed equation.[6]

A different and more efficient approach is due to Mark van Hoeij. Considering the roots of the first and the last coefficient polynomial p0 and pr – called singularities – one can build a solution step by step making use of the fact that every hypergeometric sequence y(n) has a representation of the form y(n)=c⋅r(n)⋅zn⋅∏k=1sΓ(n−ξk)ek for some c∈𝔽,z∈𝔽‾,s∈ℕ,r(n)∈𝔽(n)‾,(ξk)k∈ℕ≤s∈𝔽‾s with ξi−ξj∉ℤ for i≠j and e1,…,es∈ℤ. Here Γ(n) denotes the Gamma function. Then the ξ1,…,ξs have to be singularities of the equation (i.e. roots of p0 or pr). Furthermore one can compute bounds for the exponents ei. For fixed values ξ1,…,ξs,e1,…,es it is possible to make an ansatz which gives candidates for z. For a specific z one can again make an ansatz to get the rational function r(n) by Abramov's algorithm. Considering all possibilities one gets the general solution of the recurrence equation.[10][11]

D'Alembertian solutions

A sequence y is called d'Alembertian if y=h1∑h2∑⋯∑hk for some hypergeometric sequences h1,…,hk and y=∑x means that Δy=x where Δ denotes the forward fininite difference operator, i.e. (Δy):n↦y(n+1)−y(n). This is the case if and only if there are first-order linear recurrence operators (Lk)k∈ℕ≤m with rational coefficients such that (∏k=1mLk)⋅y=0.[7]

1994 Abramov and Petkovšek described an algorithm which computes the general d'Alembertian solution of a recurrence equation. This algorithm computes hypergeometric solutions and reduces the order of the recurrence equation recursively.[12]

Examples

Signed permutation matrices

The number of signed permutation matrices of size n×n can be described by the function y:ℕ0→ℚ. A signed permutation matrix is a square matrix which has exactly one nonzero entry in every row and in every column. The nonzero entries can be ±1. The sequence is determined by the linear recurrence equation with polynomial coefficients y(n)=4⋅(n−1)2⋅y(n−2)+2⋅y(n−1) and the initial values y(0)=1,y(1)=2. Applying an algorithm to find hypergeometric solutions one can find the general hypergeometric solution y(n)=c⋅2n⋅n! for some constant c. Also considering the initial values, the sequence y(n)=2n⋅n! describes the number of signed permutation matrices.[13]

Applications

Hypergeometric functions

A sequence (xk)k∈ℕ0 is called hypergeometric if xn+1xn∈𝔽(n) meaning a quotient that reduces to the quotient of two polynomials. A hypergeometric function f is a function in the broad class of analytc functions that can be represented as a power series with hypergeometric coefficients (fk)k∈ℕ0 such that f:𝔽→𝔽,x↦∑k=0∞fk⋅xk.[14] This means that that there exists a pair p(n),q(n)∈𝔽[n] such that xn+1xn=pnqn∈𝔽(n) giving us qn⋅xn+1−pn⋅xn=0, a P-recurrence equation to recursively calculate the coefficients of that function.

References

  1. ↑ Template:Cite journal
  2. ↑ Template:Cite web
  3. ↑ Template:Cite journal
  4. ↑ If sequences are considered equal if they are equal in almost all terms, then this basis is finite. More on this can be found in the book A=B by Petkovšek, Wilf and Zeilberger.
  5. ↑ Template:Cite journal
  6. ↑ 6.0 6.1 Template:Cite journal
  7. ↑ 7.0 7.1 Template:Cite book
  8. ↑ Template:Cite book
  9. ↑ Template:Cite journal
  10. ↑ Template:Cite journal
  11. ↑ Template:Cite journal
  12. ↑ Template:Cite book
  13. ↑ Template:Cite web
  14. ↑ Template:Cite web