Abramov's algorithm


In mathematics, particularly in computer algebra, Abramov's algorithm computes all rational solutions of a linear recurrence equation with polynomial coefficients. The algorithm was published by Sergei A. Abramov in 1989.

Universal denominator

The main concept in Abramov's algorithm is a universal denominator. Let be a field of characteristic zero. The dispersion of two polynomials is defined aswhere denotes the set of non-negative integers. Therefore the dispersion is the maximum such that the polynomial and the -times shifted polynomial have a common factor. It is if such a does not exist. The dispersion can be computed as the largest non-negative integer root of the resultant. Let be a recurrence equation of order with polynomial coefficients, polynomial right-hand side and rational sequence solution . It is possible to write for two relatively prime polynomials. Let andwhere denotes the falling factorial of a function. Then divides. So the polynomial can be used as a denominator for all rational solutions and hence it is called a universal denominator.

Algorithm

Let again be a recurrence equation with polynomial coefficients and a universal denominator. After substituting for an unknown polynomial and setting the recurrence equation is equivalent toAs the cancel this is a linear recurrence equation with polynomial coefficients which can be solved for an unknown polynomial solution. There are algorithms to find polynomial solutions. The solutions for can then be used again to compute the rational solutions.
algorithm rational_solutions is
input: Linear recurrence equation.
output: The general rational solution if there are any solutions, otherwise false.



Solve for general polynomial solution
if solution exists then
return general solution
else
return false
end if

Example

The homogeneous recurrence equation of order over has a rational solution. It can be computed by considering the dispersionThis yields the following universal denominator:andMultiplying the original recurrence equation with and substituting leads toThis equation has the polynomial solution for an arbitrary constant. Using the general rational solution isfor arbitrary.