zoukankan      html  css  js  c++  java
  • 生成函数初步

    我真是菜的真实,实在听不懂 wzy 在讲什么了,所以划了划生成函数的基础知识

    参考了一下铃悬的博客

    有好多式子 rqy 都没讲是咋证的,所以参考了一篇 blog,都是用泰勒展开证的

    所以,前置知识

    泰勒展开

    [T_n = sum_{i=0}^nfrac{f^{(n)}(x_0)}{i!}(x - x_0)^n ]

    这玩意看起来就非常难用,但是我们有麦克劳林公式

    [f(x) = sum_{i=0}^nfrac{f^{(n)}(0)}{i!}x^n ]

    斐波那契数列

    (f_0 = 0,f_1 = 1,f_i = f_{i-1} + f_{i - 2}(i > 2))

    设生成函数 (F(x) = sumlimits_{i=0}^infty f_ix^i)

    那么使用高中数学处理数列问题的经典手段——错位相减法

    (F(x) = x + xF(x) + x^2F(x)),这就是斐波那契数列的封闭形式

    化简得 (F(x) = frac{x}{1-x-x^2})

    将上式分解成 (frac{A}{1 - ax} + frac{B}{1 - bx}),等比数列求和的形式。

    可以根据 ((1-ax)(1-bx) = 1-x-x^2) 解出 (phi = frac{1 + sqrt 5}{2},hatphi=frac{1 - sqrt 5}{2})

    然后 (A)(B) 也能够解出 (A=frac{1}{sqrt 5},B=-frac{1}{sqrt 5})

    [F(x) = frac{1}{sqrt 5}(frac{1}{1-phi x} imesfrac{1}{1-hatphi x}) ]

    [ =frac{1}{sqrt 5}(sum_{i=0}^{infty}phi^ix^i - sum_{i=0}^{infty}hatphi^ix^i) ]

    [ \ =sumlimits_{i=0}^infty(frac{phi-hatphi}{sqrt 5})^ix^i ]

    然后和第一个式子联立解一下方程

    [f_i = (frac{phi-hatphi}{sqrt 5})^i ]

    就解出来了

    生成函数基本运算就过了

    微积分

    [frac{operatorname{dy}}{operatorname{dx}}sum_{i=0}^{infty}a_ix^i o sum_{i=0}^{infty}a_{i+1}(i+1)x^i ]

    [intsum_{i=0}^{infty}a_ix^i o sum_{i=0}^{infty}frac{a_i}{i+1}x^{i+1} + C ]

    一些简单的生成函数例子

    有几个我没看懂的就证了一下

    [sum_{n geq 0}[n=m]x^n = x^m ]

    [sum_{ngeq 0}x^n = frac{1}{1 - x} ]

    证明:

    (f(x) = frac{1}{1 - x}),其 n 阶导数为 (f^{(n)}(x) = frac{n!}{(1-x)^n})

    把 f(x) 在 x=0 位置上进行泰勒展开,约去阶乘,得到 f(x) 的形式幂级数。

    [f(x)=f(0) + f'(0)x + f''(0)x^2 + f^{(3)}x^3 + dots + f^{(n)}x^n ]

    因为f(0) = 1,并且对其任意导数均是如此,所以

    f(x) 形式幂级数为

    (f(x) = 1 + x + x^2 + x^3 + dots + x ^ n)

    [sum_{ngeq m}x^n=frac{x^m}{1-x} ]

    [sum_{ngeq 0} c^nx^n=frac{1}{1-cx} ]

    这个根据无限项等比数列求和也能得出结论

    [sum_{ngeq 0}dbinom{n + k -1}{n}x^n = frac{1}{(1-x)^k} ]

    证明:

    首先对 (dbinom{n + k - 1}{n}) 进行上指标反转转化为 ((-1)^ndbinom{-k}{n})

    [=sum_{ngeq 0}dbinom{n + k -1}{n}x^n ]

    [= sum_{ngeq 0}(-1)^ndbinom{-k}{n}x^n ]

    [= sum_{ngeq 0}(-1)^nfrac{(-k) imes (-k-1) imes(-k-2) imes dots imes(-k-n+1)}{n!}x^n ]

    [= ]

    同理,对上面这个式子进行反向泰勒展开等价于

    对于 (frac{1}{(1 - x)^k}) 带入麦克劳林公式。就能得到和上市等价的形式。

    [sum_{n geq 0}frac{c^nx^n}{n!} = e^{cx} ]

    [sum_{n > 0}frac{(-1)^(n-1)}{n}x^n = ln(1 + x) ]

    [sum_{n > 0}frac{1}{n}x^n=lnfrac{1}{1-x} ]

    简单数列的部分和

    求斐波那契数列的前缀和

    [S(x) = sum_{ngeq 0}s_nx^n ]

    [= sum_{ngeq 0}(sum_{i=0}^nf_i)x^n ]

    [= sum_{i=0}f_isum_{ngeq i}^{infty}x^n ]

    [= sum_{i=0}f_ifrac{x^i}{1-x} ]

    [= frac{1}{1-x}sum_{i=0}f_ix^i ]

    [= frac{1}{1-x}F(x) ]

    由此可见,求一个序列部分和的生成函数只需要把它的生成函数乘上 (frac{1}{1-x})

  • 相关阅读:
    C#中回滚TransactionScope的使用方法和原理
    CAS5.3服务器搭建与客户端整合SpringBoot以及踩坑笔记
    JSON对象、JSON字符串和Java对象互相转
    Java实体类如何映射到json数据(驼峰映射到json中的下划线)
    expected at least 1 bean which qualifies as autowire candidate
    IDEA target中没有class文件/target中有class没有yml文件/yml文件不显示叶子
    yml配置从nacos配置中心取数据(单个或多个),读读源码,寻找如何配置多个
    seata-server 1.3.0整合nacos,使用nacos做注册和配置中心
    简单读读源码
    mybatis-plus.global-config.db-config.id-type=auto 和 @TableId(value = "id", type = IdType.ASSIGN_ID)哪个优先生效
  • 原文地址:https://www.cnblogs.com/-Iris-/p/15340341.html
Copyright © 2011-2022 走看看