Интегрирование/дифференцирование производящих функций — различия между версиями
(→Пример 3) |
|||
(не показано 20 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
+ | ==Дифференцирование и интегрирование производящих функций== | ||
+ | {{Определение | ||
+ | |definition= | ||
+ | Пусть <tex>A(s) = a_0 + a_1 s + a_2 s^2 + \dots</tex> — [[Производящая функция | производящая функция]]. | ||
+ | |||
+ | ''Производной'' этой функции называется функция | ||
+ | |||
+ | :<tex>A'(s) = a_1 + 2 a_2 s + 3 a_3 s^2 + \dots + n a_n s^{n-1} + \dots</tex> | ||
+ | |||
+ | ''Интегралом'' называется функция | ||
+ | |||
+ | :<tex>\int\limits A(s) = a_0 s + a_1 \dfrac{s^2}{2} + a_2 \dfrac{s^3}{3} + \dots + a_n \dfrac{s^{n+1} }{n + 1} + \dots</tex> | ||
+ | }} | ||
+ | |||
+ | Операция дифференцирования обратна операции интегрирования: | ||
+ | |||
+ | :<tex>(\int\limits A(s))' = A(s)</tex>. | ||
+ | |||
+ | Операция же интегрирования производной приводит к функции с нулевым свободным членом, и поэтому результат, вообще говоря, отличается от исходной функции. | ||
+ | |||
+ | :<tex> \int\limits A'(s) = A(s) - a_0</tex>. | ||
+ | |||
+ | ===Замечание=== | ||
+ | |||
+ | {{Утверждение | ||
+ | |statement= | ||
+ | Для функций, представимых в виде степенных рядов, формула для производной соответствует обычной. Формула для интеграла соответствует значению интеграла с переменным верхним пределом | ||
+ | |||
+ | :<tex> \int\limits A(s) = \int\limits_{0}^{s} A(\xi) d \xi </tex>. | ||
+ | }} | ||
+ | |||
+ | ==Примеры== | ||
+ | |||
+ | ===Пример <tex>1</tex>=== | ||
+ | |||
+ | Последнее замечание позволяет подсчитывать (т. е. выражать в терминах элементарных) производящие функции для большого числа разнообразных последовательностей. Вычислим, например, производящую функцию | ||
+ | |||
+ | :<tex> f(s) = \dfrac{1}{1 \times 2} + \dfrac{1}{2 \times 3} s + \dfrac{1}{3 \times 4} s^2 + \dots + \dfrac{1}{(n + 1)(n + 2)} s^n + \dots </tex> | ||
+ | |||
+ | Умножая функцию <tex> f </tex> на <tex> s^2 </tex> и дифференцируя, получаем | ||
+ | |||
+ | :<tex>(s^2 f(s))' = s + \dfrac{1}{2} s^2 + \dfrac{1}{3} s^3 + \dots = \ln \dfrac{1}{1 - | ||
+ | s}</tex>, | ||
+ | |||
+ | откуда | ||
+ | |||
+ | :<tex> f(s) = s^{-2} \int\limits \ln \dfrac{1}{1 - s} = s^{-1} ((s - 1) \ln \dfrac{1}{1 - s} + s) </tex>. | ||
+ | |||
+ | ===Пример <tex>2</tex>=== | ||
+ | |||
+ | Используя только что полученные знания о дифференцировании и интегрировании производящих функций, попробуем решить следующее рекуррентное уравнение: | ||
+ | |||
+ | :<tex> g_0 = 1</tex> | ||
+ | :<tex> g_1 = 1</tex> | ||
+ | :<tex> g_n = g_{n - 1} + 2 g_{n - 2} + (-1)^n</tex> | ||
+ | |||
+ | Умножим обе части всех равенств на <tex>z</tex> в соответствующей степени и просуммируем: | ||
+ | |||
+ | :<tex> z^0 g_0 = 1</tex> | ||
+ | :<tex> z^1 g_1 = z</tex> | ||
+ | :<tex> z^n g_n = z^n g_{n-1} + 2 z^n g_{n-2} + (-1)^n z^n</tex> | ||
+ | |||
+ | :<tex> g_0 + g_1 z + \sum\limits_{n = 2}^{\infty} g_n z^n = 1 + z + \sum\limits_{n = 2}^{\infty} g_{n - 1} z^n + 2 \sum\limits_{n = 2}^{\infty} g_{n - 2} z^n + \sum\limits_{n = 2}^{\infty} (-1)^n z^n </tex> | ||
+ | |||
+ | Левая часть <tex> G(z) = g_0 + g_1 z + \sum\limits_{n = 2}^{\infty} g_n z^n = \sum\limits_{n = 0}^{\infty} g_n z^n </tex> представляет собой производящую функцию в бесконечном виде. | ||
+ | |||
+ | Попытаемся выразить правую часть через <tex>G(z)</tex>. Рассмотрим каждое слагаемое: | ||
+ | |||
+ | :<tex>\sum\limits_{n = 2}^{\infty} g_{n - 1} z^n = z \sum\limits_{n = 2}^{\infty} g_{n - 1} z^{n - 1} = z (G(z) - g_0) = z(G(z) - 1)</tex> | ||
+ | |||
+ | :<tex>\sum\limits_{n = 2}^{\infty} g_{n - 2} z^n = z^2 \sum\limits_{n = 2}^{\infty} g_{n - 2} z^{n - 2} = z^2 G(z)</tex> | ||
+ | |||
+ | :<tex>\sum\limits_{n = 2}^{\infty} (-1)^n z^n = z^2 - z^4 + z^6 - z^8 + \dots = 1 - z + z^2 -z^4 + z^6 -z^8 + \dots -1 + z = \sum\limits_{n = 0}^{\infty} (-1)^n z^n - 1 + z = \dfrac{1}{1 + z} - 1 + z</tex> | ||
+ | |||
+ | Составляем уравнение: | ||
+ | |||
+ | :<tex>G(z) = 1 + z + z(G(z) - 1) + 2 z^2 G(z) + \dfrac{1}{1 + z} - 1 + z</tex> | ||
+ | :<tex>G(z) (1 - z - 2 z^2) = \dfrac{1}{1 + z} + z</tex> | ||
+ | :<tex>G(z) = \dfrac{1 + z + z^2}{(1 + z) (1 - z - 2 z^2)}</tex> | ||
+ | :<tex>G(z) = \dfrac{1 + z + z^2}{(1 + z)^2 (1 - 2 z)}</tex> | ||
+ | |||
+ | Это и есть производящая функция для заданного рекуррентного уравнения. Раскладывая её на простейшие дроби (например, методом неопределенных коэффициентов или методом подстановки различных значений <tex>z</tex>), получаем: | ||
+ | |||
+ | :<tex>G(z) = \dfrac{1}{3} \times \dfrac{1}{(1 + z)^2} - \dfrac{1}{9} \times \dfrac{1}{1 + z} + \dfrac{7}{9} \times \dfrac{1}{1 - 2 z}</tex> | ||
+ | |||
+ | Второе и третье слагаемые легко раскладываются в степенной ряд, а вот с первым придётся чуть повозиться. Используя правило дифференцирования производящих функций имеем: | ||
+ | |||
+ | :<tex>\dfrac{1}{(1 + z)^2} = (- \dfrac{1}{1 + z})' = (\sum\limits_{n = 0}^{\infty} (-1)^{n + 1} z^n)' = \sum\limits_{n = 0}^{\infty} (-1)^{n + 1} n z^{n - 1} = \sum\limits_{n = 0}^{\infty} (-1)^n (n + 1) z^n</tex> | ||
+ | |||
+ | Собственно всё. Раскладываем каждое слагаемое в степенной ряд и получаем ответ: | ||
+ | |||
+ | <tex>G(z) = \dfrac{1}{3} \sum\limits_{n = 0}^{\infty} (-1)^n (n + 1) z^n - \dfrac{1}{9} \sum\limits_{n = 0}^{\infty} (-1)^n z^n + \dfrac{7}{9} \sum\limits_{n = 0}^{\infty} 2^n z^n = \sum\limits_{n = 0}^{\infty} (\dfrac{7}{9} 2^n + (-1)^n (\dfrac{1}{3} n + \dfrac{2}{9})) z^n</tex> | ||
+ | |||
+ | Мы искали <tex>G(z)</tex> в виде <tex>G(z) = \sum\limits_{n = 0}^{\infty} g_n z^n</tex>, значит | ||
+ | |||
+ | :<tex>g_n = \dfrac{7}{9} 2^n + (-1)^n (\dfrac{1}{3} n + \dfrac{2}{9})</tex> | ||
+ | |||
+ | ===Пример <tex>3</tex>=== | ||
+ | |||
+ | Вычислим обратную функцию к экспоненте. Для этого мы воспользуемся [[Производящая функция#Приложения | разложением экспоненты]]: | ||
+ | |||
+ | :<tex>e^z = \sum\limits_{z = 0}^{\infty} \dfrac{1}{n!} z^n</tex> | ||
+ | |||
+ | Разложение экспоненты начинается с <tex>1</tex>, поэтому аргумент логарифма нужно сдвинуть в <tex>1</tex>: | ||
+ | |||
+ | :<tex>\ln(1 + t) = l_1 t + l_2 t^2 + l_3 t^3 + \dots</tex> | ||
+ | |||
+ | (свободный член в разложении равен <tex>0</tex>, поскольку <tex>\ln(1) = 0</tex>). Для вычисления коэффициентов разложения логарифма воспользуемся тем, что производная функции и обратной к ней в произведении дают <tex>1</tex>. Поскольку <tex>\dfrac{d}{ds} e^s = e^s</tex>, получаем | ||
+ | |||
+ | :<tex>\dfrac{d}{dt} \ln(1 + t) = \dfrac{1}{1 + t} = 1 - t + t^2 - t^3 + t^4 - \dots</tex>, | ||
+ | |||
+ | откуда, интегрируя, | ||
+ | |||
+ | :<tex>\ln(1 + t) = t - \dfrac{1}{2}t^2 + \dfrac{1}{3}t^3 - \dfrac{1}{4}t^4 + \dots</tex> | ||
+ | |||
+ | Чаще используется следующий вариант: | ||
+ | |||
+ | :<tex>-\ln(1 - t) = \ln \dfrac{1}{1 - t} = t + \dfrac{1}{2}t^2 + \dfrac{1}{3}t^3 + \dfrac{1}{4}t^4 + \dots</tex> | ||
+ | |||
+ | ==Решение обыкновенных дифференциальных уравнений на производящие функции== | ||
+ | |||
+ | {{Теорема | ||
+ | |about= О существовании и единственности решения | ||
+ | |statement= | ||
+ | Рассмотрим обыкновенное дифференциальное уравнение | ||
+ | |||
+ | :<tex>f'(s) = F(s, f(s)) \text{ }\text{ }\text{ }\text{ }\text{ } (1)</tex> | ||
+ | |||
+ | на производящую функцию <tex>f(s)</tex>, где <tex>F = F(s, t)</tex> — [[Производящие функции нескольких переменных | производящая функция двух переменных]], являющаяся многочленом по <tex>t</tex> (т.е. степень <tex>F</tex> по <tex>t</tex> конечна). Тогда для каждого <tex>f_0</tex> уравнение <tex>(1)</tex> имеет единственное решение, удовлетворяющее условию <tex>f(0) = f_0</tex> | ||
+ | |||
+ | |proof= | ||
+ | Доказательство проводится обычным способом последовательного нахождения коэффициентов функции <tex>f</tex>. Пусть степень <tex>F</tex> по <tex>t</tex> равна <tex>n</tex> и | ||
+ | |||
+ | :<tex>F(s, t) = (F_{00} + F_{10} s + F_{20} s^2 + \dots) + (F_{01} + F_{11} s + F_{21} s^2 + \dots) t + \dots + (F_{0n} + F_{1n} s + F_{2n} s^2 + \dots) t^n, f(s) = f_0 + f_1 s + f_2 s^2 + \dots</tex> | ||
+ | |||
+ | Приравнивая коэффициенты при <tex>s^0</tex> в левой и правой частях уравнения <tex>(1)</tex> | ||
+ | |||
+ | Возьмем с первого слагаемого: | ||
+ | |||
+ | :<tex>(F_{00} + F_{10} s + F_{20} s^2 + \dots) \rightarrow F_{00}</tex> | ||
+ | |||
+ | Возьмем со второго слагаемого: | ||
+ | |||
+ | :<tex>(F_{01} + F_{11} s + F_{21} s^2 + \dots) t = (F_{01} + F_{11} s + F_{21} s^2 + \dots) (f_0 + f_1 s + f_2 s^2 + \dots) \rightarrow F_{01} f_0</tex> | ||
+ | |||
+ | Возьмем с <tex>n</tex>-го слагаемого: | ||
+ | |||
+ | :<tex>(F_{0n} + F_{1n} s + F_{2n} s^2 + \dots) t^n = (F_{0n} + F_{1n} s + F_{2n} s^2 + \dots) (f_0 + f_1 s + f_2 s^2 + \dots)^n \rightarrow F_{0n} f_0^n</tex> | ||
+ | |||
+ | Итого выходит: | ||
+ | |||
+ | :<tex>f_1 = F_{00} + F_{01} f_0 + \dots + F_{0n} f_0^n</tex> | ||
+ | |||
+ | Аналогично, равенство коэффициентов при <tex>s^1</tex> дает | ||
+ | |||
+ | :<tex>2 f_2 = F_{10} + F_{01} f_1 + F_{11} f_0 + \dots + F_{0n} f_0^{n - 1} f_1 + F_{1n} f_0^n</tex> | ||
+ | |||
+ | Вообще, <tex>f_n</tex> находится из уравнения | ||
+ | |||
+ | :<tex>n f_n = \dots \text{ }\text{ }\text{ }\text{ }\text{ } (2)</tex>, | ||
+ | |||
+ | где точками обозначен многочлен от коэффициентов функции <tex>F</tex> и коэффициентов <tex>f_0, f_1, \dots, f_{n-1}</tex> функции <tex>f</tex>. При каждом <tex>n > 0</tex> уравнение <tex>(2)</tex> имеет единственное решение. Значит уравнение <tex>(1)</tex> имеет однозначное решение для каждого <tex>f_0</tex>. | ||
+ | |||
+ | }} | ||
+ | |||
+ | ==См. также== | ||
+ | * [[Производящая функция]] | ||
+ | * [[Производящие функции нескольких переменных]] | ||
+ | * [[Арифметические действия с формальными степенными рядами]] | ||
+ | |||
+ | ==Источники информации== | ||
+ | * ''Ландо С. К.'', Лекции о производящих функциях. {{---}} 3-е изд., испр. {{---}} М.: МЦНМО, 2007. {{---}} 144с. ISBN 978-5-94057-042-4 | ||
+ | |||
+ | * [https://habrahabr.ru/post/204258/ Производящие функции — туда и обратно] (10.06.2017) | ||
+ | |||
+ | * [https://math.hse.ru/data/2011/02/18/1208528471/DiscrMath09.pdf Элементы перечислительной комбинаторики] (10.06.2017) | ||
+ | |||
+ | [[Категория: Дискретная математика и алгоритмы]] | ||
+ | [[Категория: Производящие функции]] |
Текущая версия на 19:28, 17 апреля 2018
Содержание
Дифференцирование и интегрирование производящих функций
Определение: |
Пусть производящая функция.
Производной этой функции называется функция Интегралом называется функция | —
Операция дифференцирования обратна операции интегрирования:
- .
Операция же интегрирования производной приводит к функции с нулевым свободным членом, и поэтому результат, вообще говоря, отличается от исходной функции.
- .
Замечание
Утверждение: |
Для функций, представимых в виде степенных рядов, формула для производной соответствует обычной. Формула для интеграла соответствует значению интеграла с переменным верхним пределом
|
Примеры
Пример
Последнее замечание позволяет подсчитывать (т. е. выражать в терминах элементарных) производящие функции для большого числа разнообразных последовательностей. Вычислим, например, производящую функцию
Умножая функцию
на и дифференцируя, получаем- ,
откуда
- .
Пример
Используя только что полученные знания о дифференцировании и интегрировании производящих функций, попробуем решить следующее рекуррентное уравнение:
Умножим обе части всех равенств на
в соответствующей степени и просуммируем:Левая часть
представляет собой производящую функцию в бесконечном виде.Попытаемся выразить правую часть через
. Рассмотрим каждое слагаемое:Составляем уравнение:
Это и есть производящая функция для заданного рекуррентного уравнения. Раскладывая её на простейшие дроби (например, методом неопределенных коэффициентов или методом подстановки различных значений
), получаем:Второе и третье слагаемые легко раскладываются в степенной ряд, а вот с первым придётся чуть повозиться. Используя правило дифференцирования производящих функций имеем:
Собственно всё. Раскладываем каждое слагаемое в степенной ряд и получаем ответ:
Мы искали
в виде , значитПример
Вычислим обратную функцию к экспоненте. Для этого мы воспользуемся разложением экспоненты:
Разложение экспоненты начинается с
, поэтому аргумент логарифма нужно сдвинуть в :(свободный член в разложении равен
, поскольку ). Для вычисления коэффициентов разложения логарифма воспользуемся тем, что производная функции и обратной к ней в произведении дают . Поскольку , получаем- ,
откуда, интегрируя,
Чаще используется следующий вариант:
Решение обыкновенных дифференциальных уравнений на производящие функции
Теорема (О существовании и единственности решения): |
Рассмотрим обыкновенное дифференциальное уравнение
|
Доказательство: |
Доказательство проводится обычным способом последовательного нахождения коэффициентов функции . Пусть степень по равна иПриравнивая коэффициенты при в левой и правой частях уравненияВозьмем с первого слагаемого: Возьмем со второго слагаемого: Возьмем с -го слагаемого:Итого выходит: Аналогично, равенство коэффициентов при даетВообще, находится из уравнения
|
См. также
- Производящая функция
- Производящие функции нескольких переменных
- Арифметические действия с формальными степенными рядами
Источники информации
- Ландо С. К., Лекции о производящих функциях. — 3-е изд., испр. — М.: МЦНМО, 2007. — 144с. ISBN 978-5-94057-042-4
- Производящие функции — туда и обратно (10.06.2017)
- Элементы перечислительной комбинаторики (10.06.2017)