A Simple and Fast Algorithm for Computing the N-th Term of a Linearly Recurrent Sequence

08/20/2020
by   Alin Bostan, et al.
0

We present a simple and fast algorithm for computing the N-th term of a given linearly recurrent sequence. Our new algorithm uses O(𝖬(d) log N) arithmetic operations, where d is the order of the recurrence, and 𝖬(d) denotes the number of arithmetic operations for computing the product of two polynomials of degree d. The state-of-the-art algorithm, due to Charles Fiduccia (1985), has the same arithmetic complexity up to a constant factor. Our algorithm is simpler, faster and obtained by a totally different method. We also discuss several algorithmic applications, notably to polynomial modular exponentiation, powering of matrices and high-order lifting.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset