В математике P-рекурсивное уравнение — это линейное уравнение последовательностей , где последовательности коэффициентов могут быть представлены в виде полиномов . P-рекурсивные уравнения — это линейные рекуррентные уравнения (или линейные рекуррентные соотношения или линейные разностные уравнения) с полиномиальными коэффициентами. Эти уравнения играют важную роль в различных областях математики, в частности в комбинаторике . Последовательности, которые являются решениями этих уравнений, называются голономными , P-рекурсивными или D-конечными.
С конца 1980-х годов были разработаны первые алгоритмы для поиска решений этих уравнений. Сергей А. Абрамов, Марко Петковшек и Марк ван Хой описали алгоритмы для поиска полиномиальных, рациональных, гипергеометрических и даламбертовых решений.
Пусть — поле нулевой характеристики (например , ), полиномы для , последовательность и неизвестная последовательность. Уравнение называется линейным рекуррентным уравнением с полиномиальными коэффициентами (все рекуррентные уравнения в этой статье имеют такой вид). Если и оба отличны от нуля, то называется порядком уравнения. Если равно нулю, уравнение называется однородным, в противном случае — неоднородным.
Это также можно записать как, где — линейный рекуррентный оператор с полиномиальными коэффициентами, а — оператор сдвига, т.е. .
Пусть или эквивалентно — рекуррентное уравнение с полиномиальными коэффициентами. Существует несколько алгоритмов, которые вычисляют решения этого уравнения. Эти алгоритмы могут вычислять полиномиальные, рациональные, гипергеометрические и даламберовские решения. Решение однородного уравнения задается ядром линейного рекуррентного оператора: . Как подпространство пространства последовательностей это ядро имеет базис . [1] Пусть — базис , тогда формальная сумма для произвольных констант называется общим решением однородной задачи . Если — частное решение , т. е . , то — также решение неоднородной задачи и называется общим решением неоднородной задачи.
В конце 1980-х годов Сергей А. Абрамов описал алгоритм, который находит общее полиномиальное решение рекуррентного уравнения, т. е . с полиномиальной правой частью . Он (и несколько лет спустя Марко Петковшек ) дал оценку степени для полиномиальных решений. Таким образом, задача может быть просто решена путем рассмотрения системы линейных уравнений . [2] [3] [4] В 1995 году Абрамов, Бронштейн и Петковшек показали, что полиномиальный случай может быть решен более эффективно путем рассмотрения решения рекуррентного уравнения в виде степенного ряда в определенном степенном базисе (т. е. не в обычном базисе ). [5]
Другие алгоритмы поиска более общих решений (например, рациональных или гипергеометрических решений) также опираются на алгоритмы, вычисляющие полиномиальные решения.
В 1989 году Сергей А. Абрамов показал, что общее рациональное решение, т. е . , с полиномиальной правой частью , может быть найдено с помощью понятия универсального знаменателя. Универсальный знаменатель — это многочлен, такой что знаменатель каждого рационального решения делит . Абрамов показал, как этот универсальный знаменатель может быть вычислен с использованием только первого и последнего коэффициента многочлена и . Подстановка этого универсального знаменателя вместо неизвестного знаменателя всех рациональных решений может быть найдена путем вычисления всех полиномиальных решений преобразованного уравнения. [6]
Последовательность называется гипергеометрической, если отношение двух последовательных членов является рациональной функцией в , т.е. . Это имеет место тогда и только тогда, когда последовательность является решением рекуррентного уравнения первого порядка с полиномиальными коэффициентами. Множество гипергеометрических последовательностей не является подпространством пространства последовательностей, поскольку оно не замкнуто относительно сложения.
В 1992 году Марко Петковшек дал алгоритм для получения общего гипергеометрического решения рекуррентного уравнения, где правая часть является суммой гипергеометрических последовательностей. Алгоритм использует нормальную форму Госпера-Петковшека рациональной функции. С этим конкретным представлением снова достаточно рассмотреть полиномиальные решения преобразованного уравнения. [3]
Другой и более эффективный подход принадлежит Марку ван Хёйю. Рассматривая корни первого и последнего коэффициента полинома и – называемые сингулярностями – можно построить решение шаг за шагом, используя тот факт, что каждая гипергеометрическая последовательность имеет представление формы для некоторых с для и . Здесь обозначает гамма-функцию и алгебраическое замыкание поля . Тогда должны быть сингулярностями уравнения (т.е. корнями или ). Кроме того, можно вычислить границы для показателей степеней . Для фиксированных значений можно сделать анзац, который дает кандидатов для . Для конкретного можно снова сделать анзац, чтобы получить рациональную функцию с помощью алгоритма Абрамова. Рассматривая все возможности, получаем общее решение рекуррентного уравнения. [7] [8]
Последовательность называется даламбертовой, если для некоторых гипергеометрических последовательностей и означает, что где обозначает оператор разности, т.е. Это имеет место тогда и только тогда, когда существуют линейные рекуррентные операторы первого порядка с рациональными коэффициентами, такие, что . [4]
1994 Абрамов и Петковшек описали алгоритм, который вычисляет общее решение Даламбера рекуррентного уравнения. Этот алгоритм вычисляет гипергеометрические решения и рекурсивно уменьшает порядок рекуррентного уравнения. [9]
Число знаковых матриц перестановки размера можно описать последовательностью . Знаковая матрица перестановки — это квадратная матрица, которая имеет ровно один ненулевой элемент в каждой строке и в каждом столбце. Ненулевыми элементами могут быть . Последовательность определяется линейным рекуррентным уравнением с полиномиальными коэффициентами и начальными значениями . Применяя алгоритм для поиска гипергеометрических решений, можно найти общее гипергеометрическое решение для некоторой константы . Также учитывая начальные значения, последовательность описывает число знаковых матриц перестановки. [10]
Число инволюций множества с элементами задается рекуррентным уравнением. Применяя, например, алгоритм Петковшека, можно увидеть, что для этого рекуррентного уравнения не существует полиномиального, рационального или гипергеометрического решения. [4]
Функция называется гипергеометрической, если где обозначает рациональные функции в и . Гипергеометрическая сумма — это конечная сумма вида, где является гипергеометрической. Творческий телескопический алгоритм Зейльбергера может преобразовать такую гипергеометрическую сумму в рекуррентное уравнение с полиномиальными коэффициентами. Затем это уравнение можно решить, чтобы получить, например, линейную комбинацию гипергеометрических решений, которая называется решением в замкнутой форме . [4]