关于一类无穷乘积
Jomo1203
·
·
算法·理论
最近发现一个好玩的无穷乘积,它长这样
\prod^\infin_{n=2}\Big(1-\frac1{n^2}\Big)
据说欧拉当年求过这个式子,他用不严谨的因式分解,先从直觉上得到了这个三角函数的式子(我也只是道听途说)
\frac{\sin x}x=\prod^\infin_{n=1}\Big(1-\frac{x^2}{n^2\pi^2}\Big)
很明显,将乘积第一项除过来,然后取 x\to\pi 的极限再洛一下即可
\prod^\infin_{n=2}\Big(1-\frac1{n^2}\Big)=\lim\limits_{x\to\pi}\frac{\sin x}{x(1-\frac{x^2}{\pi^2})}=\frac12
既然已经求出了这个无穷乘积,我们就改思考一下如何求更大的 n 所对应的无穷乘积了,那么...
正片开始
由于我们的注意力没有欧拉那么强,所以就要找到其他方法无穷乘积的通解。
先简单介绍和推导一遍 Gamma 函数的无穷乘积展开,以及余元公式(过程粗糙不要嫌弃)。
Gamma函数
先回归阶乘,Gamma 函数的本质是这个递推关系
\Gamma(z+1)=z\Gamma(z)
不断利用这个递推公式,我们可以让自变量跑到很远的地方
\Gamma(z+n+1)=z(z+1)...(z+n)\Gamma(z)\\
\Gamma(z)=\frac{\Gamma(z+n+1)}{z(z+1)...(z+n)}
当 n 很大时,我们期望有
\Gamma(z+n+1)\sim1\times2...n(n+1)...(n+z)\\
\Gamma(z)\sim\frac{1\times2...n}{z(z+1)...(z+n)}(n+1)...(n+z)
如果 n 相比 z 很大,那么
n+1\approx n\\
n+2\approx n\\
...\\
n+z\approx n\\
(n+1)(n+2)...(n+z)\approx n^z\\
\Gamma(z)\approx \frac{1\times2...n}{z(z+1)...(z+n)}n^z
更严谨地来说
\lim\limits_{n\to\infin}\frac{(n+1)(n+2)...(n+z)}{n^z}=1\\
\Gamma(z)=\lim\limits_{n\to\infin}\frac{1\times2...n}{z(z+1)...(z+n)}n^z
这样我们就绕开了 Gamma 函数那坨复杂的积分定义,这时再在式子上做些变形,就能得到 Gamma 函数常见的 Weierstrass 乘积展开
n^z=e^{z\ln n}=e^{\raisebox{1ex}{$z\big(\ln n-\sum\limits^n_{m=1}\frac1{m}\big)$}}e^{\raisebox{1ex}{ $\sum\limits^n_{m=1}\frac1{m}$}}\to e^{-\gamma z}\prod\limits^\infin_{n=1}e^{\raisebox{1ex}{$\frac z n$}}\\
\gamma=\lim\limits_{n\to\infin}\Big(\sum^n_{k=1}\frac1{k}-\ln n\Big)\approx0.577
(这个 gamma 是欧拉常数,在这里用于“正则化”无穷乘积)
\frac1{\Gamma(z)}=z e^{\gamma z}\prod^\infin_{n=1}\Big(\big(1+\frac zn\big)e^{\raisebox{1ex}{$-\frac zn$}}\Big)\\
\Gamma(z)=\frac{e^{-\gamma z}}z\prod^\infin_{n=1}\Big(\big(1+\frac zn\big)^{-1}e^{\raisebox{1ex}{$\frac zn$}}\Big)\\
\Gamma(-z)=-\frac{e^{\gamma z}}z\prod^\infin_{n=1}\Big(\big(1-\frac zn\big)^{-1}e^{\raisebox{1ex}{$-\frac zn$}}\Big)
然后有
\Gamma(z)\Gamma(1-z)=-z\Gamma(z)\Gamma(-z)
=\frac1z\prod^\infin_{n=1}\Big(1-\frac{z^2}{n^2}\Big)^{-1}
后面那个无穷乘积是不是很眼熟?没错,现在只需要在分子和分母上同时乘以 \pi^2,它就是开头那个三角函数的式子的倒数
\prod^\infin_{n=1}\Big(1-\frac{z^2}{n^2}\Big)^{-1}=\prod^\infin_{n=1}\Big(1-\frac{z^2\pi^2}{n^2\pi^2}\Big)^{-1}=\frac{\pi z}{\sin\pi z}
所以
\Gamma(z)\Gamma(1-z)=\frac\pi{\sin\pi z}
这样我们就证明完了余元公式,接下来...
无穷乘积
之所以介绍 Gamma 函数,为的就是这一刻将它与无穷乘积结合起来,先将 Gamma 函数变形
\Gamma(1+z)=z\Gamma(z)=e^{-\gamma z}\prod^\infin_{n=1}\Big(\frac n{n+z}e^{\raisebox{1ex}{$\frac zn$}}\Big)
所以
\prod^\infin_{n=1}\Big(\frac n{n+z}e^{\raisebox{1ex}{$\frac zn$}}\Big)=\Gamma(1+z)e^{\gamma z}
现在有两个数列 \{a_k\} 和 \{b_k\},将它俩代入 z 后把两个无穷乘积相除便有
\prod^\infin_{n=1}\Big(\frac {n+a_k}{n+b_k}e^{\raisebox{1ex}{$\frac {a_k-b_k}n$}}\Big)=\frac{\Gamma(1+b_k)}{\Gamma(1+a_k)}e^{\gamma(b_k-a_k)}
所以将数列的每项分别代入后相乘,就有
\prod^\infin_{n=1}\Big(\frac {(n+a_1)(n+a_2)...(n+a_k)}{(n+b_1)(n+b_2)...(n+b_k)}e^{\raisebox{1ex}{$\frac {a-b}n$}}\Big)=\frac{\Gamma(1+b_1)\Gamma(1+b_2)...\Gamma(1+b_k)}{\Gamma(1+a_1)\Gamma(1+a_2)...\Gamma(1+a_k)}e^{\gamma(b-a)}\\
a=\sum^k_{n=1}a_k\ ,\ b=\sum^k_{n=1}b_k
当满足 a=b 时,式子就变成了下面的样子
\prod^\infin_{n=1}\frac{(n+a_1)(n+a_2)...(n+a_k)}{(n+b_1)(n+b_2)...(n+b_k)}=\frac{\Gamma(1+b_1)\Gamma(1+b_2)...\Gamma(1+b_k)}{\Gamma(1+a_1)\Gamma(1+a_2)...\Gamma(1+a_k)}
这样我们就把求无穷乘积的问题转成了更好算的关于 Gamma 函数的问题,毕竟它在自变量为正整数时等于 (z-1)!。
回收开头
有了上面的式子,我们便可以尝试再次求解开头那个式子
\prod^\infin_{n=2}\Big(1-\frac1{n^2}\Big)
为了对应式子,我们将下标改为从一开始,然后通分并因式分解,利用 Gamma 函数解决
\prod^\infin_{n=1}\Big(1-\frac1{(n+1)^2}\Big)=\prod^\infin_{n=1}\frac{(n+0)(n+2)}{(n+1)(n+1)}=\frac{\Gamma(1+1)\Gamma(1+1)}{\Gamma(1+0)\Gamma(1+2)}=\frac12
超级简单,是不是?或许有人会问,如果 a\ne b 那怎么办?
a=b 的必要性
众所周知,无穷乘积 \prod(1+s_i) 收敛的充要条件是 \sum\ln(1+s_i) 收敛,那么问题就变成了一个无穷求和是否收敛
\prod^\infin_{n=1}\prod^k_{i=1}\frac{n+a_i}{n+b_i}\iff\sum^\infin_{n=1}\sum^k_{i=1}\Big(\ln(1+\frac{a_i}n)-\ln(1+\frac{b_i}n)\Big)
当 n\to\infin 时,利用泰勒展开对对数函数进行线性近似
\ln(1+\frac{s_i}n)=\frac{s_i}n-\frac{s^2_i}{2n^2}+O(\frac1{n^3})
因此
\sum^k_{i=1}\Big(\ln(1+\frac{a_i}n)-\ln(1+\frac{b_i}n\Big)=\frac{a-b}n-\frac1{2n^2}\sum^k_{i=1}\Big(a^2_i-b^2_i\Big)+O(\frac1{n^3})
因为当 n\to\infin 时,高阶项 O(\frac1{n^2}) 比 \frac{a-b}n 更快趋近于 0,所以我们可以只保留主导项 \frac{a-b}n
\sum^k_{i=1}\Big(\ln(1+\frac{a_i}n)-\ln(1+\frac{b_i}n\Big)=\frac{a-b}n+O(\frac1{n^2})
此时求和变成了这样
\sum^\infin_{n=1}\Big(\frac{a-b}n+O(\frac1{n^2})\Big)
很明显,这不就是调和级数吗,主导项的级数是发散的,当 a>b 时,总和发散到 +\infin,无穷乘积也发散到 +\infin,而 a<b 时,总和发散到 -\infin,无穷乘积收敛到 0。
所以,除非它在乘积里套了个 e^{\frac{a-b}n},否则当 a\ne b 时,这个无穷乘积没有什么意义,出题人肯定不会无聊到出这种题。
小练笔
那我们再来求一个无穷乘积
\prod^\infin_{n=1}\Big(1+\frac1{n^2}\Big)
先进行因式分解再套 Gamma 函数
\prod^\infin_{n=1}\Big(1+\frac1{n^2}\Big)=\prod^\infin_{n=1}\frac{(n+i)(n-i)}{(n+0)(n+0)}=\frac{\Gamma(1+0)\Gamma(1+0)}{\Gamma(1+i)\Gamma(1-i)}=\frac1{i\Gamma(i)\Gamma(1-i)}
由于 Gamma 函数可以解析延拓到除非正整数外的整个复平面,所以我们这么做是没问题的,接下来用上面得到的余元公式再进行转化
\prod^\infin_{n=1}\Big(1+\frac1{n^2}\Big)=\frac1{i\Gamma(i)\Gamma(1-i)}=\frac{\sin\pi i}{\pi i}=\frac{\sinh\pi}\pi
再看下一题
\prod^\infin_{n=1}\Big(1+\frac1{n^3}\Big)
利用单位根进行因式分解
\prod^\infin_{n=1}\Big(1+\frac1{n^3}\Big)=\prod^\infin_{n=1}\frac{(n+1)(n-\omega)(n-\omega^{-1})}{n^3}=\frac1{\Gamma(1-\omega)\Gamma(1-\omega^{-1})}\\
\omega=e^{\raisebox{}{$\frac{\pi i}3$}}=\frac12+\frac{i\sqrt3}2
我们先将余元公式变形
\Gamma(z)\Gamma(1-z)=\frac\pi{\sin\pi z}\implies \Gamma(\frac12+z)\Gamma(\frac12-z)=\frac\pi{sin(\frac\pi2+\pi z)}=\frac\pi{\cos\pi z}
这样我们就能更快的解决掉 Gamma 函数
\Gamma(1-\omega)\Gamma(1-\omega^{-1})=\Gamma(\frac12-\frac{i\sqrt3}2)\Gamma(\frac12+\frac{i\sqrt3}2)=\frac\pi{\cos(\pi\frac{i\sqrt3}2)}=\frac\pi{\cosh(\frac{\sqrt3}2\pi)}
所以
\prod^\infin_{n=1}\Big(1+\frac1{n^3}\Big)=\frac{\cosh(\frac{\sqrt3}2\pi)}\pi
现在练笔结束,开始推广一般形式。
通解
我们上面的无穷乘积的一般形式可以写成
\prod^\infin_{n=1}\Big(1-\frac x{n^k}\Big)
首先,利用单位根的性质,可以将括号内的式子分解
1-\frac x{n^k}=\prod^{k-1}_{m=0}\Big(1-\frac{\omega^mx^{\raisebox{}{$\frac1k$}}}n\Big)\\
\omega=e^{\raisebox{}{$\frac{2\pi i}k$}}=\cos(\frac{2\pi}k)+i\sin(\frac{2\pi}k)
那么原来的无穷乘积可以重新写为
\prod^\infin_{n=1}\Big(1-\frac x{n^k}\Big)=\prod^\infin_{n=1}\prod^{k-1}_{m=0}\Big(1-\frac{\omega^mx^{\raisebox{}{$\frac1k$}}}n\Big)
回看之前将 Gamma 函数和无穷乘积联系起来的式子,因为单位根之和等于 0,就有
\prod^\infin_{n=1}\prod^{k-1}_{m=0}\Big(1-\frac{\omega^mx^{\raisebox{}{$\frac1k$}}}n\Big)=\prod^{k-1}_{n=0}\Big(\Gamma(1-\omega^nx^{\raisebox{}{$\frac1k$}})\Big)^{-1}=\prod^{k-1}_{n=0}\Big(-\omega^nx^{\raisebox{}{$\frac1k$}}\Gamma(-\omega^nx^{\raisebox{}{$\frac1k$}})\Big)^{-1}=\prod^{k-1}_{n=0}(-\omega^nx^{\raisebox{}{$\frac1k$}})^{-1}\prod^{k-1}_{n=0}\Big(\Gamma(-\omega^nx^{\raisebox{}{$\frac1k$}})\Big)^{-1}
此时式子仍能化简,可以先计算出常数项
\prod^{k-1}_{n=0}-\omega^nx^{\raisebox{}{$\frac1k$}}=(-1)^k\omega^{\frac{k(k-1)}2}x=(-1)^k(-1)^{k-1}x=-x
所以,我们就得到了最终形式
\prod^\infin_{n=1}\Big(1-\frac x{n^k}\Big)=-\frac1x\prod^{k-1}_{n=0}\Big(\Gamma(-\omega^nx^{\raisebox{}{$\frac1k$}})\Big)^{-1}
小结
这篇文章小小 7k 字,主要带大家简单了解了这类无穷乘积的计算方法及其相关证明,我自认讲得很明白了,计算过程也十分详细,内容相比其他大佬的文章也简单的多,实际上非常容易理解。
本想用一些帅气的话来升华一下主题,想了想还是不献丑了吧。作为复习,就请你用上述内容华丽地证明开头欧拉的那个式子吧(虽然很明显是在循坏论证,但作为课后练习还是可以的吧)!
\frac{\sin x}x=\prod^\infin_{n=1}\Big(1-\frac{x^2}{n^2\pi^2}\Big)
补充
为了防止没来头地甩出欧拉地那个式子却不解释而被制裁,在这里先给出简单证明(也就是上文提到的因式分解),首先我们都知道,只要一个函数足够光滑,它就可以被多项式一致逼近,所以正弦函数能被因式分解,而且我们又知道正弦函数 \sin x 的零点为 x=n\pi,n\in\Z,所以是这样吗?
\sin x\stackrel{?}{=}x\prod^\infin_{n=1}\Big(x^2-n^2\pi^2\Big)
随便带个不是零点的值它就会炸掉,所以明显不是,那么我们就尝试在右式中乘上一个系数 k 使其收敛
\sin x=kx\prod^\infin_{n=1}\Big(x^2-n^2\pi^2\Big)
然后变形再取极限
\lim_{x\to0}\frac{\sin x}x=\lim_{x\to0}k\prod^\infin_{n=1}\Big(x^2-n^2\pi^2\Big)\implies k\prod^\infin_{n=1}\Big(-n^2\pi^2\Big)=1
所以
k=\prod^\infin_{n=1}\Big(-n^2\pi^2\Big)^{-1}
这样我们就证明了欧拉的这个等式
\frac{\sin x}x=\prod^\infin_{n=1}\Big(1-\frac{x^2}{n^2\pi^2}\Big)
现在是真的结束了。