zoukankan      html  css  js  c++  java
  • 差分序列(学习中……持续更新)

    差分序列

    差分序列

    定义:

    (f(x) = h_1, h_2, h_3...h_n...)是一个序列,那么定义一阶差分序列为:

    [Delta h_0, Delta h_1...Delta h_n... ]

    其中$$Delta h_n = h_{n + 1} - h_n$$
    我们递归的定义$$Delta^ph_0, Delta^ph_1, Delta^ph_2...Delta^ph_n...(p ge 1)$$为(f(x))(p)阶差分序列,其中(Delta^ph_n = Delta(Delta^{p - 1}h_n))
    特别的,一个序列的(0)阶差分序列是它自己。

    性质与相关定理

    定理1 设序列的通项是n的p次多项式,即:

    [h_n = a_pn^p + a_{p - 1}n^{p - 1}... + a_1n + a_0(n ge 0) ]

    则对所有的(n ge 0,Delta^{p + 1}h_n = 0)

    可以用归纳法证明:

    差分的线性性 :定义序列:(h_n = f_n + g_n)
    那么显然有(Delta h_n = Delta g_n + Delta f_n)
    进一步归纳可以得到:

    [Delta^p(cg_n + df_n) = cDelta^p g_n + dDelta^p f_n ]

    利用差分的线性性和差分表第0条对角线(最左边那个右下方向的),可以确定整个序列,因此可以引申出如下定理:

    定理2 假设差分表第0条对角线为:(c_0, c_1, c_2, c_3...c_p,0,0,0...),其中(c_p != 0)
    那么我们有:

    [h_n = c_0 inom{n}{0} + c_1 inom{n}{1} + ... + c_p inom{n}{p} ]

    所以:

    [sum_{k = 1}^n h_k = c_0 sum_{k = 0}^n inom{k}{0} + c_2 sum_{k = 0}^n inom{k}{1} + ... + c_p sum_{k = 0}^n inom{k}{p} ]

    因为组合数性质:(大概可以用杨辉三角理解一下)

    [sum_{k = 1}^{n} inom{k}{p} = inom{n + 1}{p + 1} ]

    可以得到:

    [sum_{k = 0}^{n}h_k = c_0 inom{n + 1}{1} + c_1 inom{n + 1}{2} + ... + c_p inom{n + 1}{p + 1} ]

    (Delta) 一个复杂度(O(次数))的求部分和的公式

    组合意义

    出现在差分表第0条对角线上的那些数具有其组合意义。

    讨论(未完成,瞎写的,不要看)

    [h_n = n^p ]

    那么差分表的第0条对角线有如下形式:

    [c(p, 0), c(p, 1), c(p, 2)...c(p, p), 0, 0... ]

    因此有

    [n^p = c(p, 0) inom{n}{0} + c(p, 1) inom{n}{1} + ... + c(p, p) inom{n}{p} ]

    记为1式。
    如果p = 0, 则h_n = 1,它是一个常数,因此上式变为:

    [n^0 = 1 = 1 inom{n}{0} = 1 ]

    特别的,

    [c(0, 0) = 1 ]

    因为若(p geq 1),则作为(n)的多项式,(n^p)有一个等于0的常数项,所以:

    [c(p, 0) = 0 (q geq 1) ]

    为了方便表示,我们用更加简洁的符号来表示排列数,即([n]_k = P(n, k)),表示(n)个不同对象的(k)排列数。
    我们通过引入新的表达式来改写1式。则1式可以被表示为:

    [[n]_k = begin{cases} n(n - 1)...(n - k + 1) quad (k geq 1) \ 1 quad (k = 0) end{cases}]

    同时注意到:

    [[n]_{k + 1} = (n - k)[n]_k ]

    因为

    [inom{n}{k} = frac{n(n - 1)...(n - k + 1)}{k!} = frac{[n]_k}{k!} ]

    由此得到:

    [[n]_k = k! inom{n}{k} ]

    因此,我们可以将1式进一步的改写为:

    [n^p = c(p, 0)frac{[n]_0}{0!} + c(p, 1)frac{[n]_1}{1!} + ... +c(p, p)frac{[n]_p}{p!} ]

    [= sum_{k = 0}^p c(p, k)frac{[n]_k}{k!} = sum_{k = 0}^pfrac{c(p, k)}{k!}[n]_k ]

    我们引入第二类斯特林数。记:

    [S(p, k) = frac{c(p, k)}{k!} quad (0 le k le p) ]

    因此改写后的1式可以更进一步变为:

    [n^p = S(p, 0)[n]_0 + S(p, 1)[n]_1 + ... + S(p, p)[n]_p = sum_{k = 0}^{p}S(p, k)[n]_k ]

    因为

    [S(p, 0) = frac{c(p, 0)}{0!} = c(p, 0)$$. 因此: $$S(p, 0) = egin{cases} 1 quad (p = 0)\ 0 quad (p geq 1) end{cases}]

    (没写完……)

  • 相关阅读:
    14.挂载硬件设备
    13.Linux文件存储系统
    12.su 命令与sudo 服务
    11.文件访问控制列表
    10. 文件权限与归属
    9. Linux用户身份和能力
    8. Linux重要的环境变量
    7. Linux命令行的通配符、转义字符
    6. Linux输入输出重定向
    5. Linux文件目录管理和打包压缩与搜索命令
  • 原文地址:https://www.cnblogs.com/ww3113306/p/10232278.html
Copyright © 2011-2022 走看看