Карлукова M32342 временная статья — различия между версиями
(→Теорема о связи этих понятий) |
|||
| Строка 34: | Строка 34: | ||
Заметим, что второй множитель в левой части равен в точности <tex>Q(t)</tex>, а степень правой части не превосходит <tex>k-1</tex>. Получили требуемое построение. | Заметим, что второй множитель в левой части равен в точности <tex>Q(t)</tex>, а степень правой части не превосходит <tex>k-1</tex>. Получили требуемое построение. | ||
| − | Многочлен <tex>P(t)</tex> можно найти по формуле <tex>A(t) \cdot Q(t)</tex> как числитель получившейся дроби. К результату можно применить взятие его по модулю <tex>t^k</tex>. Это действие не испортит многочлен, так как его степень строго меньше <tex>k</tex>. При этом мы сократим число операций при вычислении <tex>P(t)</tex>, поскольку достаточно найти только <tex>k</tex> первых членов результирующего ряда, а для этого можно обойтись только первыми <tex>k</tex> слагаемыми степенных рядов, соответствующих производящим функциям <tex>A(t)</tex> и <tex>Q(t)</tex>. | + | '''Замечание.''' Многочлен <tex>P(t)</tex> можно найти по формуле <tex>A(t) \cdot Q(t)</tex> как числитель получившейся дроби. К результату можно применить взятие его по модулю <tex>t^k</tex>. Это действие не испортит многочлен, так как его степень строго меньше <tex>k</tex>. При этом мы сократим число операций при вычислении <tex>P(t)</tex>, поскольку достаточно найти только <tex>k</tex> первых членов результирующего ряда, а для этого можно обойтись только первыми <tex>k</tex> слагаемыми степенных рядов, соответствующих производящим функциям <tex>A(t)</tex> и <tex>Q(t)</tex>. |
<!-------Для того чтобы сократить число операций, все действия могут быть выполнены по модулю <tex>t^k</tex>.--------> | <!-------Для того чтобы сократить число операций, все действия могут быть выполнены по модулю <tex>t^k</tex>.--------> | ||
| − | Итак, <tex>P(t) = A(t) \cdot Q(t) \mathrm{ mod } t^k</tex>. | + | |
| + | Итак, <tex>P(t) = A(t) \cdot Q(t) \mathrm{\ mod\ } t^k</tex>. | ||
<!----Значит, многочлены <tex>Q(t)</tex> и <tex>P(t)</tex> всегда могут быть найдены. Более того, многочлен в знаменателе после нашего построения всегда принимает вид <tex>Q(t)=1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k</tex-----> | <!----Значит, многочлены <tex>Q(t)</tex> и <tex>P(t)</tex> всегда могут быть найдены. Более того, многочлен в знаменателе после нашего построения всегда принимает вид <tex>Q(t)=1 - c_1 \cdot t - c_2 \cdot t^2 - \ldots - c_k \cdot t^k</tex-----> | ||
| + | |||
<tex>\Leftarrow</tex> | <tex>\Leftarrow</tex> | ||
Версия 01:40, 1 июня 2020
Примечание: в редактируемой статье указано, что достаточно рассматривать . :)
Теорема о связи этих понятий
| Теорема: |
Последовательность является линейной рекуррентной последовательностью с первыми заданными членами, определяемыми коэффициентами её производящая функция является дробно-рациональной, причём представимой в виде , где , . |
| Доказательство: |
|
Пусть — коэффициенты, задающие линейную рекуррентную последовательность , то есть первые членов заданы, а для следующих справедливо соотношение . Напишем друг под другом несколько производящих функций и соответствующих им формальных степенных рядов:
Сложим все равенства и получим
Для всех выполняется равенство , поэтому в правой части все коэффициенты при степенях, начиная с , обнулятся, а равенство будет выглядеть следующим образом: . Заметим, что второй множитель в левой части равен в точности , а степень правой части не превосходит . Получили требуемое построение. Замечание. Многочлен можно найти по формуле как числитель получившейся дроби. К результату можно применить взятие его по модулю . Это действие не испортит многочлен, так как его степень строго меньше . При этом мы сократим число операций при вычислении , поскольку достаточно найти только первых членов результирующего ряда, а для этого можно обойтись только первыми слагаемыми степенных рядов, соответствующих производящим функциям и . Итак, .
Пусть , , . Перепишем первое равенство, выразив через и : . Так как , выполнено для любого . Расписывая по определению произведения степенных рядов, получаем . Разобьём полученную сумму на две: . Так как известно, можем определить, чему равны эти суммы. Для первой выполняются равенства: , для всех за исключением нуля. Вторая же компонента равна нулю, поскольку . Тогда . Развернём выражение для : . Перенесём все слагаемые, кроме , вправо: . Видим, что — член линейной рекуррентной последовательности, заданной коэффициентами , причём это выполнено для всех , так как индекс , удовлетворяющий данному условию, выбирался произвольно. |
Примеры
Представление в виде отношения многочленов производящей функции для последовательности чисел Фибоначчи
Введём обозначения:
— производящая функция для чисел Фибоначчи, .
Последовательность задаётся следующим образом: ,
, .
Здесь и , следовательно . К числителю применим формулу . Чтобы получить ответ, требуется найти всего лишь и .
, .