Рекуррентным уравнением называется уравнение, связывающее несколько подряд идущих членов некоторой числовой последовательности. Последовательность, удовлетворяющая такому уравнению, называется рекуррентной последовательностью.
Предположим, что последовательность чисел удовлетворяет однородному линейному рекуррентному уравнению , где — неотрицательные целые числа, — заданные постоянные числа и .
Обозначим через производящую функцию последовательности . Построим многочлен . Этот многочлен можно рассматривать как производящую функцию последовательности . Рассмотрим произведение производящих функций . Коэффициент при и определяется соотношением и равен нулю. Это означает, что многочлен имеет степень самое большее , следовательно степень числителя рациональной функции меньше степени знаменателя.
Характеристическим многочленом линейного рекуррентного уравнения называется многочлен . Корни этого многочлена называются характеристическими. Характеристический многочлен можно представить в виде , где — различные характеристические корни, — кратности характеристических корней, .
Характеристический многочлен и многочлен связаны между собой соотношением . Таким образом,
Рациональную функцию можно представить в виде суммы дробей:
Каждая дробь в этом выражении имеет вид , поэтому её можно разложить в степенной ряд следующего вида
.
Коэффициент при в этом ряду равен
Следовательно, производящая функция и является общим решением линейного рекуррентного уравнения, где — многочлен от степени самое большее .
Пример
Пусть требуется найти решение уравнения c граничными условиями и .
Данное уравнение имеет характеристический многочлен , где , . Общее решение имеет вид . Подставляя , получаем , . Получаем значения , . Таким образом .
Существует формула, выражающая общий член линейной рекуррентной последовательности через корни её характеристического многочлена. Например, для последовательности Фибоначчи такой формулой является формула Бине.
Рекуррентные формулы используются для описания времени работы алгоритма, рекурсивно обращающегося к самому себе. В такой формуле время, требуемое для решения задачи объемом ввода , выражается через время решения вспомогательных подзадач.[1]
↑Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн. Алгоритмы. Построение и анализ = Introduction To Algorithms / И. Красиков. — Издательский дом "Вильямс", 2005. — С. 79. — 1296 с.