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

page 1

page 2

page 3

page 4

research
06/09/2018

A fast algorithm for solving linearly recurrent sequences

We present an algorithm which computes the D^th term of a sequence satis...
research
12/15/2020

Fast Computation of the N-th Term of a q-Holonomic Sequence and Applications

In 1977, Strassen invented a famous baby-step/giant-step algorithm that ...
research
09/14/2016

A Fast Algorithm for Computing the Truncated Resultant

Let P and Q be two polynomials in K[x, y] with degree at most d, where K...
research
11/21/2022

The Berlekamp-Massey Algorithm revisited

We propose a slight modification of the Berlekamp-Massey Algorithm for o...
research
07/06/2021

Polynomial-Division-Based Algorithms for Computing Linear Recurrence Relations

Sparse polynomial interpolation, sparse linear system solving or modular...
research
02/27/2023

In-place fast polynomial modular remainder

We consider the fast in-place computation of the Euclidean polynomial mo...
research
11/11/2022

Faster Walsh-Hadamard and Discrete Fourier Transforms From Matrix Non-Rigidity

We give algorithms with lower arithmetic operation counts for both the W...

Please sign up or login with your details

Forgot password? Click here to reset