Hypergeometric Solutions of Linear Difference Systems
We extend Petkovšek's algorithm for computing hypergeometric solutions of scalar difference equations to the case of difference systems $τ(Y) = M Y$, with $M \in {\rm GL}_n(C(x))$, where $τ$ is the shift operator. Hypergeometric solutions are solutions of the form $γP$ where $P \in C(x)^n$ and $γ$ is a hypergeometric term over $C(x)$, i.e. ${τ(γ)}/γ \in C(x)$. Our contributions concern efficient computation of a set of candidates for ${τ(γ)}/γ$ which we write as $λ= c\frac{A}{B}$ with monic $A, B \in C[x]$, $c \in C^*$. Factors of the denominators of $M^{-1}$ and $M$ give candidates for $A$ and $B$, while another algorithm is needed for $c$. We use the super-reduction algorithm to compute candidates for $c$, as well as other ingredients to reduce the list of candidates for $A/B$. To further reduce the number of candidates $A/B$, we bound the so-called type of $A/B$ by bounding local types. Our algorithm has been implemented in Maple and experiments show that our implementation can handle systems of high dimension, which is useful for factoring operators.