Skolem problem
# Skolem problem

Is there an algorithm to test whether a constant-recursive sequence has a zero?

In mathematics, the Skolem problem is the problem of determining whether the values of a constant-recursive sequence include the number zero. The problem can be formulated for recurrences over different types of numbers, including integers, rational numbers, and algebraic numbers. It is not known whether there exists an algorithm that can solve this problem.

A linear recurrence relation expresses the values of a sequence of numbers as a linear combination of earlier values; for instance, the Fibonacci numbers may be defined from the recurrence relation

    F(n) = F(n − 1) + F(n − 2)

together with the initial values F(0) = 0 and F(1) = 1. The Skolem problem is named after Thoralf Skolem, because of his 1933 paper proving the Skolem–Mahler–Lech theorem on the zeros of a sequence satisfying a linear recurrence with constant coefficients. This theorem states that, if such a sequence has zeros, then with finitely many exceptions the positions of the zeros repeat regularly. Skolem proved this for recurrences over the rational numbers, and Mahler and Lech extended it to other systems of numbers. However, the proofs of the theorem do not show how to test whether there exist any zeros.

There does exist an algorithm to test whether a constant-recursive sequence has infinitely many zeros, and if so to construct a decomposition of the positions of those zeros into periodic subsequences, based on the algebraic properties of the roots of the characteristic polynomial of the given recurrence. The remaining difficult part of the Skolem problem is determining whether the finite set of non-repeating zeros is empty or not.

Partial solutions to the Skolem problem are known, covering the special case of the problem for recurrences of degree at most four. However, these solutions do not apply to recurrences of degree five or more.

For integer recurrences, the Skolem problem is known to be NP-hard.

