Введение

Формальные степенные ряды; коэффициенты кодируют информацию о последовательности, индексированной натуральными числами, генерирующие функции в математике.

В математике генерирующая функция представляет собой представление бесконечной последовательности чисел в виде коэффициентов формального степенного ряда. В отличие от обычного ряда, формальный степенной ряд не обязательно должен сходиться: фактически, генерирующая функция не рассматривается как функция, а "переменная" остается неопределённой. Генерирующие функции впервые были введены Авраамом де Муавром в 1730 году для решения общей линейной задачи рекуррентного соотношения. Можно обобщить на формальные степенные ряды от нескольких неопределённых, чтобы кодировать информацию о бесконечномерных многомерных массивах чисел. Существуют различные типы генерирующих функций, включая обыкновенные генерирующие функции, экспоненциальные генерирующие функции, ряды Ламбера, ряды Белла и ряды Дирихле; определения и примеры приведены ниже. В принципе, любая последовательность имеет генерирующую функцию каждого типа (за исключением того, что ряды Ламбера и Дирихле требуют, чтобы индексы начинались с 1, а не с 0), но простота их обработки может существенно различаться. Конкретная генерирующая функция, если таковая имеется, наиболее полезная в данном контексте, будет зависеть от природы последовательности и деталей рассматриваемой задачи. Генерирующие функции часто выражаются в замкнутой форме (а не в виде ряда) с помощью выражения, включающего операции, определённые для формальных рядов. Эти выражения относительно неопределённой x могут включать арифметические операции, дифференцирование по x и композицию с (то есть подстановку в) другие генерирующие функции; поскольку эти операции также определены для функций, результат выглядит как функция от x. Действительно, выражение в замкнутой форме часто можно интерпретировать как функцию, которую можно вычислить при (достаточно малых) конкретных значениях x, и которая имеет формальный ряд в качестве своего разложения в ряд; это объясняет обозначение "генерирующие функции". Однако такая интерпретация не обязательна, поскольку формальные ряды не обязаны давать сходящийся ряд при подстановке ненулевого числового значения вместо x. Кроме того, не все выражения, имеющие смысл как функции от x, имеют смысл как выражения, обозначающие формальные ряды; например, отрицательные и дробные степени x являются примерами функций, не имеющих соответствующего формального степенного ряда. Генерирующие функции не являются функциями в формальном смысле отображения из области определения в область значений. Генерирующие функции иногда называют генерирующими рядами, поскольку ряд членов можно назвать генератором последовательности коэффициентов.

Функции, генерирующие последовательности полиномов

Идея генерирующих функций может быть расширена на последовательности других объектов. Таким образом, например, полиномиальные последовательности биномиального типа генерируются выражением

где pn(x) — последовательность полиномов, а f(t) — функция определенного вида. Последовательности Шеффера генерируются аналогичным образом. Подробнее см. основную статью «Обобщенные полиномы Апелля».

Программное обеспечение для работы с рекурсивными последовательностями и голономическими генерирующими функциями

Инструменты для обработки и работы с P-рекурсивными последовательностями в Mathematica включают программные пакеты, предоставляемые для некоммерческого использования на сайте RISC Combinatorics Group, посвященном алгоритмической комбинаторике. Несмотря на то, что большая часть кода закрыта, особенно мощные инструменты в этом наборе программ предоставляет пакет Guess для угадывания P-рекурренций для произвольных входных последовательностей (что полезно для экспериментальной математики и исследований) и пакет Sigma, способный находить P-рекурренции для многих сумм и решать P-рекурренции в замкнутой форме, включающие обобщенные гармонические числа. Другие пакеты, перечисленные на этом сайте RISC, ориентированы на работу с голономическими производящими функциями.