第一次数学危机发生在大约公元前400年左右的古希腊时期。
当希腊的大哥们突然发现直角三角形两边长为1时,其斜边好像是个算不出具体结果的东西。突然感叹:卧槽,天塌了,算不出来啊!
然后后面数学领域的研究主要围绕着无理数的发现而展开。
当时无理数好像很吓人
由于无理数的存在,毕达哥拉斯学派的数学体系出现了漏洞,许多原本被认为是不证自明的真理开始受到质疑。所以书贤想说:
真理是禁得起检验的,经不起检验的那只是局部适应。
那么对于无理数我们要从历史上去研究分析,当时没有实数集,最广的数系是有理数系,那么根据有理数的定义:
有理数是形如a/b(其中a和b属于N,且b不为0)的数。
首先我们要先证明出根号二不属于有理数:
假设根号二是有理数,那么它可以表示为两个整数的商,即存在整数p和q(q ≠ 0),使得√2 = p/q。
第一步,基于上述假设,我们可以得到方程:p^2 = 2q^2。这意味着p^2是偶数,因为2q^2一定是偶数。
第二步,由于p是整数,那么p也是偶数(因为偶数的平方是偶数)。因此,我们可以设p = 2k,其中k是整数。
第三步,将p = 2k代入p^2 = 2q^2,我们得到(2k)^2 = 2q^2,即4k^2 = 2q^2。进一步化简,得到q^2 = 2k^2。
第四步,与第一步类似,由于q是整数,那么q^2也是偶数,这意味着q也是偶数。因此,我们可以设q = 2m,其中m是整数。
第五步,将q = 2m代入q^2 = 2k^2,我们得到(2m)^2 = 2k^2,即4m^2 = 2k^2。进一步化简,得到k^2 = 2m^2。
很明显了,现在我们得到的是两个偶数,而我们定义的是两个不全为偶数的最简分式,所以和题意不符。
使用Python简单证明√2不是有理数系的方法:
本代码并不严谨,由于计算机系统的离散性,我们只能简单列举N数系的几个数字来表示。
def prove_sqrt2_irrational():
# 假设存在一个有理数p/q使得p/q = sqrt(2)
# 我们可以遍历一定范围内的整数p和q来检查这个假设是否成立
for q in range(1, 100): # 遍历q的值
for p in range(1, 100): # 遍历p的值
if p**2 == 2*q**2: # 检查是否满足2q^2 = p^2
print(f"找到了一个有理数 {p}/{q} 使得 {p}/{q} = sqrt(2)!")
return
print("在我们遍历的范围内,没有找到满足条件的有理数p/q。")
print("因此,我们可以合理怀疑根号二不是有理数。")
prove_sqrt2_irrational()
存在即合理,实数系越来越严谨了
存在决定意识,数学体系的发展必须要适应现实生产环境,所以我们只能将有理数系进行扩充,扩充到实数集,所以将无理数纳入到数系中,以此经验,后面将复数系也这样纳入到数系中。随着拓扑学的发展,实数系也越来越完善和严谨,那个洞也在慢慢被堵上。
这样,数学跟随时代和生产的需要将会越来越强大。
原文始发于微信公众号(代码小铺):如何用Python优雅证明并解决第一次数学危机
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论