• 数学杂谈 #6


    这篇杂谈主要讨论一下 $\bmod $ 和多项式之间的关系,来源于《具体数学》的一道习题:

    对于 \(n\bmod 3\) 求出并证明形如 \(a+b\omega^n+c\omega^{2n}\) 的表达式,其中 \(\omega=-\frac{1}{2}+\frac{\sqrt 3}{2}i\),且满足 \(\omega^3=1\)

    原题可以直接使用待定系数法求解:

    根据 \(\omega\) 的性质有 \(\omega^n=\omega^n\cdot \omega^{-3\lfloor\frac{n}{3}\rfloor}=\omega^{n\bmod 3}\)

    接着分别代入 \(n=3k,3k+1,3k+2,k\in \mathbb Z\) 后可以得到:

    \[\begin{cases} a\omega^0+b\omega^0+c\omega^0=0\\ a\omega^0+b\omega^1+c\omega^2=1\\ a\omega^0+c\omega^1+b\omega^2=2 \end{cases} \]

    可以解得:

    \[\begin{cases} a=1\\ b=\frac{1}{3}(\omega-1)\\ c=-\frac{1}{3}(\omega+2) \end{cases} \]

    拓展

    这么一点东西,写博客的咕咕咕了 10 个月

    自然,我们尝试考虑 \(p\in \mathbb N_+\) 的情况。

    直接去解这个方程组不失为一种“方法”,但是怎么才能更快呢?注意到,如果我们将待求的若干系数直接看成多项式的系数,也就是有多项式:

    \[f(x)=\sum_{k=0}^{p-1}a_kx^k \]

    满足 \(f(\omega_p^n)=n\bmod p\),其中 \(\omega_p\)\(p\) 次单位根,且 \(n\in \mathbb Z\)。我们要求的,就是知道了它的若干个点值,想要反解系数。

    首先,根据 \(p\) 次单位根的性质,我们知道其实只有 \(0\le n<p\) 的点值是有效的,而其它的则是无效的。现在我们既然要求多项式的系数,插值可能是一种可行的方法。不过,根据代入点的性质,这其实就是说 \(\operatorname{DFT}(f)[n]=n\bmod p\),反过来求 \(f\) 的系数,所以对序列 \(\{0,1,2\dots,p-1\}\) 做 IDFT 即可。这样的结果是:

    \[a_n=p^{-1}\sum_{k=0}^{p-1}k\omega_p^{-nk} \]

    前缀和有其闭形式 \(\sum_{k=0}^{p-1}kx^k=\frac{(p-1)x^{p+1}-px^p+x}{(1-x)^2},x\neq 0,1\)。所以,对于 \(0<n<p\),可以得到:

    \[\begin{aligned} a_n&=p^{-1}\frac{(p-1)\omega_p^{-n(p+1)}-p\omega_p^{-np}+\omega_p^{-n}}{(1-\omega_p^{-n})^2}\\ &=p^{-1}\frac{p(\omega_p^{-n}-1)}{(\omega_p^{-n}-1)^2}\\ &=\frac{1}{\omega_p^{-n}-1} \end{aligned} \]

    这个形式还是蛮简洁的。另一方面,我们有 \(a_0=\sum_{k=0}^{p-1}k=\frac{p(p-1)}{2}\),所以最后的结果是:

    \[f(x)=\frac{p(p-1)}{2}+\sum_{n=1}^{p-1}\frac{x^n}{\omega_p^{-n}-1} \]

  • 相关阅读:
    功能强大的T4文本模版
    C#中.snk文件的作用
    ASP.NET MVC中实现多个按钮提交的几种方法
    asp.net mvc强大的分页控件MvcPager
    设计模式—观察者模式
    Http响应码

    编码习惯
    vim 快捷键 转
    makefilevvhttp://www.tudou.com/programs/view/e3Z8RbxFIZE/
  • 原文地址:https://www.cnblogs.com/crashed/p/14778866.html
Copyright © 2020-2023  润新知