离散数学/组合数学:序列与其对应的生成函数;多项式函数的系数与序列的联系;重复组合数的理解方法即----全1序列对应的生成函数做n重卷积(不严谨说法)之后得到的序列的x的k次方项的系数;莫比乌斯反演。
继我所写的文章
“迭代、递归、栈、差分方程之间的本质联系以及由推广的迭代法解决“变态青蛙跳台阶”问题”
结束之后,自然的引出一个问题,就是关于如果真的给定k项之间的关系难道我们也要用k重迭代的代码实现问题的求解吗?这显然很不现实。所以我通过继续学习,得到了生成函数与序列之间的关系,即可以通过多项式函数的和函数即生成函数来对序列进行一系列的操作,如求和、移位、多个数列对应位置相加后的序列...生成函数是无限离散序列和多项式函数的桥梁!
还有关于我前两周研究的内容我昨天才发现都是“具体数学”领域的理论体系,这是一个让人兴奋的事儿,不过我没有这本书的中文版,我只有英文版的pdf,请看英文版假装给到的中文目录...:
今天这篇文章我就来给出生成函数的概念以及由生成函数如何得到序列的方法,以及关于重复组合数从卷积角度的理解,我的讲解顺序是:
①首先讲什么是生成函数,它是如何定义的,多项式函数的和函数是如何得到的;
②什么样的生成函数生成了斐波那契数列?;
③对生成函数的常见操作;
④什么是卷积,如何用卷积去操纵序列;
⑤用生成函数的观点求的通项公式;
⑥用斐波那契的生成函数验证斐波那契数列f(0)+f(1)+f(2)+...+f(n-2)=f(n)-1;
⑦二项式定理由n取全体自然数推广到n取全体实数;
⑧卷积后的多项式函数中某一项的系数的结构是什么,怎么形成的,有重复组合的组合数的实质是什么。;
//⑨如何由斐波那契数列的生成函数求斐波那契数列;//C可能暂时无法实现,需要借助python
⑩生成函数的变换,卷积的初等数论表达方式,提出莫比乌斯反演过程的问题。
目录
一、生成函数的定义
二、什么样的生成函数生成了斐波那契数列?
三、对生成函数的常见操作对序列的影响与卷积的概念
四、从生成函数角度来得到立方的和的通项公式,以及二项式定理在负整数域也成立的推广的推 导,以及对重复组合数从生成函数对应的序列的理解
五、小于1的序列的生成函数,与指数生成函数考察它们的卷积之后的生成函数中某一项的系数得到的结论,以及提出的莫比乌斯反演与狄利克雷Dirichlet级数生成函数与初等数论中积性函数的讨论。
一、生成函数的定义
举例说明:
二、什么样的生成函数生成了斐波那契数列?
我们可以用WolframAlpha 软件来帮助我们验证该生成函数是不是斐波那契数列所对应的生成函数:
WolframAlpha网址:Wolfram|Alpha: Computational Intelligence
验证:(我的文章由递推关系式用差分方程的方法得到通项公式实现求斐波那契数列的第n项提到)
到这里,我们现在应该有一种意识,就是考察展开式中某一项的系数是我们需要研究的一个核心焦点问题,一种看问题的角度,也是我们的研究方法,就包括我在我之前的文章由二项式定理(n取自然数)推广到多项式定理这篇文章中我看问题的角度也是从考察展开式中某一项的系数得到的一系列结论,展开式中某一项的系数是我们研究的核心焦点问题,我们接下来的讨论中一直沿着这个思路讨论!
三、对生成函数的常见操作对序列的影响与卷积的概念
卷积的概念:
再次强调,展开式中某一项的系数将一直是我们研究序列和生成函数的焦点问题和方向!
求F(x)对应数列的前缀和的生成函数方法
以上也让我们对两个生成函数做卷积的过程更加清晰。
最后补一个小的性质,这不是我这篇文章的重点,只是显然的告诉大家:
那么下面我们紧接着就来考察用斐波那契的生成函数验证斐波那契数列前n-2项的和等于第n项-1
即f(0)+f(1)+f(2)+...+f(n-2)=f(n)-1
那么我们首先需要左边的序列的生成函数,我现在需要做的事是将原来的斐波那契数列先右移2位,再对这个右移的序列求和,前缀和生成函数的展开式的项的系数就是f(0)+f(1)+f(2)+...+f(n-2):
右边的生成函数我们对它的操作是,在原来斐波那契数列的生成函数对应的序列各项进行减一操作,减一,回想一下我们的全一序列对应的生成函数是什么,得到f(n)-1序列就很容易了,最后得到的生成函数的项的系数就是序列中的f(n)-1:
对比这两个生成函数对应的多项式展开的项:
左边的和序列:
series ((x^3/(1-x-x^2))*(1/(1-x))) to 20 - Wolfram|Alpha//WolframAlpha此生成函数链接
右边的f(n)-1序列:
series (x/(1-x-x^2)-1/(1-x)) to 20 - Wolfram|Alpha//WolframAlpha此生成函数链接
可见,从生成函数的角度来看,可以验证f(0)+f(1)+f(2)+...+f(n-2)=f(n)-1!
四、从生成函数角度来得到立方的和的通项公式,以及二项式定理在负整数域也成立的推广的推导,以及对重复组合数从生成函数对应的序列的理解
先来看二项式定理的负整数域推广:
‘
那么下面我们从生成函数角度求n个自然数平方的和的通项公式:
先考察n个自然数平方的和的生成函数:
求该生成函数展开,展开的项的系数即为所求(原理见前文叙述):
附:指数取负整数的二项式定理
不懂什么叫前缀和的看我这篇文章离散数学/容斥原理/算法:前缀和算法;
以上就是关于n个自然数的平方的和的公式从生成函数的角度的推导。
有了相当一部分前置知识,下面我们来考察关于重复组合数与推广到负整数域二项式定理中出现的组合数之间从生成函数和卷积的角度的联系:
首先再次给出推广二项式定理的形式:
紧接着给出一个书上没有证明过程的定理:
考察两个地方同时出现的组合数,居然一致,那么这里面一定有联系!
下面给出的推导与结论请第一次接触“卷积”、“生成函数”的同志确确实实的掌握了我前文所表达的思想再来看我在说什么(以下是不严谨推导,只是阐明概念,从生成函数的观点来理解有重复组合的组合数):
是不是有点深度学习卷积神经网络的意思了?
参考资料:【官方双语】深度学习之神经网络的结构 Part 1 ver 2.0_哔哩哔哩_bilibili
我们到现在再回头来看卷积的定义与性质,我比较关心其中的差分特性和积分特性:
关于“差分”请考察我的其他文章:
迭代、递归、栈、差分方程之间的本质联系
学通信的朋友就非常熟悉了,时域上的特性转换到频域上来更加容易地解决:
至此,我们还应该再核心一些,我们应该再回归本初想求的“通项公式”,我们更加核心关心的是生成函数展开式中的项的系数。
五、小于1的序列的生成函数,与指数生成函数考察它们的卷积之后的生成函数中某一项的系数得到的结论,以及提出的莫比乌斯反演与狄利克雷Dirichlet级数生成函数与初等数论中积性函数的讨论。
首先考察一个序列里全是大于0小于1的数的序列的生成函数表示的方法,我们以对应的序列为参照对象从而给出指数生成函数的相关概念:
若F、G是两个指数生成函数,F和G作卷积,我们考察卷积后的生成函数的多项式函数的某一项系数,其实是“带组合数的系数”:
我们再来考察一个与指数生成函数形式类似的生成函数狄利克雷Dirichlet级数生成函数:
当狄利克雷Dirichlet级数生成函数的系数均取1时,就是所谓的黎曼Zeta生成函数:
将两个黎曼Zeta生成函数作卷积,我们的结论是,卷积后的生成函数的多项式函数每一项的系数,是n的约数的个数,这就将我们的研究领域不断地引向初等数论:
自然数域内的整除理论是初等数论的基础,算术基本定理贯穿初等数论的始终,关于算术基本定理可以考察我的其他文章“离散数学/初等数论:用“质因子分解法”和“欧几里得算法”求最大公约数gcd”
以下是初等数论中积性函数的概念,也就是上文所给出的两个狄利克雷生成函数卷积的“好理解的、没有学过初等数论的定义”,以下给出初等数论节选内容,重点看最后两张节选内容,与前文的论述进行对比,你会有更加深刻的理解,我相信也会激发你对初等数论的兴趣:
以下两张图和本文提到的较为紧密:
至此,我们专门讨论了“卷积”的表达方式的两种,一种是标准卷积,一种是狄利克雷卷积。
最后引出一个问题,就是莫比乌斯反演在初等数论中的意义是什么,有待我下一步的学习与研究。
结语:
本篇文章以理论为主,这篇文章我们的希望是:让大家理解生成函数与序列的联系、卷积的两种过程、从生成函数的观点来求n个自然数的平方的和、从生成函数的观点来理解有重复组合的组合数,生成函数的应用我会在我的其他文章当中给出实现,届时附上超链接。
参考资料:
离散数学教材
初等数论潘承洞教材
百度:卷积
百度:二项式定理
南京大学蒋炎岩----生成函数选讲
3Blue1Brown----深度学习之神经网络
如果有小伙伴有《具体数学》翻译版的pdf,觉得我的文章有用的话可以不吝与我分享这个pdf,我只有英文版。
如有问题欢迎随时与我沟通!
离散数学/组合数学:序列与其对应的生成函数;多项式函数的系数与序列的联系;重复组合数的理解方法即----全1序列对应的生成函数做n重卷积(不严谨说法)之后得到的序列的x的k次方项的系数;莫比乌斯反演。相关推荐
- (每日一题)P4841 [集训队作业2013]城市规划 (无向连通图计数)(普通生成函数 + 多项式求逆)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 每日一题(莫反 / 多项式 / 母函数 / 群论) 2021.4.14 生成函数 + 多项式求逆 Pr ...
- P4389 付公主的背包(生成函数/多项式)
P4389 付公主的背包 https://www.luogu.com.cn/problem/solution/P4389 经典生成函数问题 求解无限背包问题,我们可以将每个物品看作一个多项式,那么最后 ...
- 「Luogu4233」射命丸文的笔记-生成函数+多项式求逆
Description 链接 Solution 考虑所有竞赛图的哈密顿回路条数n!n2Cn2−n\frac {n!} {n} 2^{C_{n}^{2}-n}nn!2Cn2−n,即选出一条哈密顿回路 ...
- 论文解读:基于迁移移学习的深卷积神经网络,用于从蛋白质主要序列预测与白血病相关的磷酸化位点
A Transfer-Learning-Based Deep Convolutional Neural Network for Predicting Leukemia-Related Phosphor ...
- matlab全域基函数,多项式函数插值:全域多项式插值(一)单项式基插值、拉格朗日插值、牛顿插值 [MATLAB]...
全域多项式插值指的是在整个插值区域内形成一个多项式函数作为插值函数.关于多项式插值的基本知识,见"计算基本理论". 在单项式基插值和牛顿插值形成的表达式中,求该表达式在某一点处的值 ...
- 欠拟合和过拟合,多项式函数实验
多项式函数拟合实验 为了理解模型复杂度和训练数据集大小对欠拟合和过拟合的影响,下面我们以多项式函数拟合为例来实验.首先导入实验需要的包或模块. 我们将生成一个人工数据集.在训练数据集和测试数据集中,给 ...
- 从多项式函数拟合实验出发浅谈“模型选择、欠拟合和过拟合”问题
在本笔记中,我们将从简单易懂的多项式函数拟合实验出发,谈一谈如今做机器学习绕不开的三个重要概念:模型选择.欠拟合和过拟合,并且进一步挖掘如何选择模型.如何避免欠拟合和过拟合问题.本笔记主要从下面五个方 ...
- JavaScript实现多项式函数在某个点的评估算法(附完整源码)
JavaScript实现多项式函数在某个点的评估算法(附完整源码) classicPolynome.js完整源代码 classicPolynome.js完整源代码 /** @param {number ...
- Python对自定义离散点进行指定多项式函数拟合
自定义离散点进行指定多项式函数拟合 用户自己自己输入坐标点,拟合函数可根据用户输入的多项式的最高次方进行自动拟合函数,拟合方法采用最小二乘法进行函数拟合. (1,2),(2,5),(3,10),(4, ...
最新文章
- python dpkt解析ssl流
- Vue.js实现tab切换效果
- java监听器用法(二):窗口监听器
- ASP.NET多语言网页设计
- php 图片印章_PHP实现中文圆形印章特效_PHP
- 四年,如何从前端小白蜕变为前端技术专家?
- OC Foundation框架—字符串
- break后面的语句还执行吗_12.python之配合循环的四种语句
- python写入mysql乱码_python MYsql中文乱码
- Updating Homebrew... ...长时间卡住的问题
- 使用thead,tbody,tfoot来实现表格的分页打印
- 怎么样用计算机才能让电量增多,如何让你的笔记本更省电 这几招你学会能管大用...
- Hive 窗口函数如何设置窗口大小
- C语言2019软件,c语言模拟编程学习软件v2019 最新版
- CV面试题(持续更新!!!)
- linux局域网ip查询软件,局域网IP查询
- 2023计算机考研408参考答案
- 防止前端重复提交表单
- 空洞卷积(Atrous/Dilated Convolution)
- 黑盒测试用例设计方法-等价类划分法
热门文章
- Excel中逻辑函数和时间日期函数
- MySQL修改字段类型之modify
- 《解忧杂货店》- 解答心中已经有结论的疑问
- 素数一套:Miller-Rabin 素性检验算法Pollard-Rho算法线性筛——Upside down primesDivisions
- Spring Security 实现动态权限菜单方案(附源码)
- 关于pycharm每次新建项目都要重新引入第三库的问题
- 精选300款卡通儿童字体
- 夏天的味道,是有laundress的味道
- java pointcut_Aspectj @Around pointcut Java中的所有方法
- 查看elasticserc版本_如何查看elasticsearch版本