TIP本文是 关于数学的一些有趣讨论(一:圆周率) 的续篇,主要讨论数学中的反直觉现象。
关于数学中反直觉现象的探讨,同样来自于之前的这个话题。
当时我正在向其他人科普第一部分中所述的内容,当然也收到了一些反驳。对于这种需要严谨性的场合,我并不讨厌反驳。但是,很多人在反驳的时候,不是靠眼睛的推导,而是依赖于自己的直觉。直觉在日常生活中非常有效,但在数学的抽象世界里,它却有时会误导我们。例如,直觉可能会让人认为某些看似简单的命题必然成立,或者认为某些极端情况不可能发生,但严格证明往往显示结果完全相反。以下我会举几个例子(尽管未必和 有关)。
目录
1. Borwein 积分
这个相关的内容,其实 3blue1brown(Youtube、Bilibili)已经讲的很明白了,所以我写这部分主要是验证自己的学习情况,详情可以参考这个视频:
强烈推荐 3Blue1Brown,他的科普清晰明了,可视化也很好。
Borwein 积分是指:
NOTE准确来说,积分上下限带有 的反常积分上下限应该用 来表示,但为了方便,我们直接用 。这一点不严谨我们暂时忽略。
1.1. I1
首先,我们来看 :


我们先用初等方法(这里指的是不使用高级工具)来推导这个积分,用作微积分练习题。
注意到, 是一个偶函数,所以:
定义:
接下来,就是经典的分部积分,令:
同样,令:
于是有:
解得:
代入上下限:
回代:
取极限 :
所以:
这就是著名的 Dirichlet 积分。
1.2. 其他 I 的值
总而言之,Borwein 积分的前面几项是:
1.3. 规律?
看到这里,你是否认为你发现了一个伟大的规律:
然而,事实上,…
1.4. 解释
事实上,这和傅立叶变换有关。
是一个著名的函数,被称为 \sinc 函数,经常被用来做理想滤波器,它的傅立叶变换是:
由傅立叶变换的线性性质,我们有:

绘图代码见 附录 A: 绘制傅立叶变换的 Python 代码。
令被积函数 ,则 ,。
傅立叶变换的乘积性质:
这里的 表示卷积:。
令 ,于是:
用以下示意图让人更容易理解(卷积结果在 的取值和图中阴影面积成正比):

可以明显看到,卷积结果在两个方形区域充分重叠的时候始终保持不变。

对于这一次卷积,这个不变的值就是 。而这个值保持不变的区间长度(由于对称性,只考虑大于 0 的部分)就是 。


如果继续进行卷积,上一次不变的值是 ,那么下一次就是 ,而区间长度是 , 所以只要 , 就一定是 ,而 时,不存在一个保持不变的区间。
另外注意到一件事:无论这个不变区间多长, 总是在这个区间内,所以,只要 ,。
而傅立叶变换的表达式:
代入 就会发现,,也就是原函数的积分,也就是 。
也就是说,我们得到了结论:只要 ,。
下面列出 的值:
| 递推计算式 | ||
|---|---|---|
| 1 | 已知 | |
| 2 | ||
| 3 | ||
| 4 | ||
| 5 | ||
| 6 | ||
| 7 | ||
| 8 |
正好在 时,,所以 ,而 !
2. 下次再写
附录
附录 A. 绘制傅立叶变换的 Python 代码
import matplotlib.pyplot as pltimport numpy as np
# macOS 可用字体plt.rcParams["font.sans-serif"] = ["Songti SC"] # 显示中文
# Windows 可用字体# plt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文
plt.rcParams["axes.unicode_minus"] = False # 显示负号
# 参数k = 3W = 1 / (2 * k - 1)n = 40000x_max = 100x = np.linspace(-x_max, x_max, n)dx = x[1] - x[0]
# 连续函数y = np.sinc(x / np.pi / (2 * k - 1))
# 数值近似 CTFTomega = np.linspace(-1, 1, 2000)F = np.array([np.sum(y * np.exp(-1j * w * x)) * dx for w in omega])
# 理论矩形谱theory = np.zeros_like(omega)theory[np.abs(omega) < W] = (2 * k - 1) * np.pi
# 绘图plt.figure(figsize=(10, 4.5))
# 时域plt.subplot(1, 2, 1)plt.plot(x, y, "b")plt.title(rf"$f(x)=\frac{{\sin(x/({2*k-1}))}}{{x/({2*k-1})}}$")plt.xlabel("$x$")plt.ylabel("$f(x)$")plt.grid(True)
# 频域plt.subplot(1, 2, 2)plt.plot(omega, np.real(F), "r", label="数值 CTFT 结果")plt.plot(omega, theory, "k--", label="理论结果")plt.title("频谱对比")plt.xlabel("$\\omega$")plt.ylabel("$F(\\omega)$")plt.xlim(-0.5, 0.5)plt.legend()plt.grid(True)
plt.tight_layout()plt.show()部分信息可能已经过时







