数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 2500|回复: 1

从欧拉的“错误”谈起

[复制链接]
发表于 2020-1-18 00:16 | 显示全部楼层 |阅读模式
从欧拉的“错误”谈起

作者 | 齐民友
来源 | 《中学数学》,2008年第1期

1 事情的起源

许多人认为,欧拉在 1770 年出版的名著《代数学的完全引论》(Vollstandige Einleitung zur Alegbra)一书中曾经认为
                 
                               √a×√b = √(ab)   ①

对于任意的 a,b(不论正负)均有效。因此产生了严重的困难:令 a = -4 ,b = -9 ,则有两个说法:一是利用上式以及算术根,会得到

                  √(-4)×√(-9) = √[(-4)×(-9)] = √36 = 6   ②

二是进入复域,而可能得到例如 √(-4) = 2i ,√(-9) = 3i ,而有

                       √(-4)×√(-9) = 2i×3i = -6  ③

当然若令 √(-4) = -2i ,√(-9) = 3i ,则又会得到 ② 式。

欧拉犯“错误”的背景是,在 18 世纪末到 19 世纪初,人们对于复数还不很了解(到了高斯证明了代数的基本定理后,人们才普遍地接受了复数),因此算术根与一般的“根号”的区别,不可能讲清楚,我们既不必为欧拉这样的“贤者”讳,更不必以此沾沾自喜,而应考虑,在我们的时代,我们自己的教学中是否仍有那个时代的遗迹。

再举一个例子:(-3)^3 = -27 似乎毫无问题,但是 3 = 6/2 ,于是又有两个说法:

一是     (-3)^3 = (-3)^(6/2) = [(-3)^6]^(1/2) = √[(-3)^6] = √(3^6) = 27   ④

二是     (-3)^3 = (-3)^(6/2) = [(-3)^(1/2)]^6 = (√3 i)^6 = 27×i^6 = -27   ⑤

为了解决这里的“矛盾”,人们时常习惯于加上一些“规定”,例如“先乘方后开方”之类(在一些很古老的三角教本里,讲棣美弗公式时就有这种情况)。但是数学中是不许可随意添加什么规定的,所有的规定都必须要保证不会产生矛盾;如果不能做到这一点,就要为此规定划定适用范围,保证在此范围内不出问题,而且要解释做出此种规定的理由。例如在很早时代的一些中学代数课程里是这样来讲 ① 式的:① 式只在 a,b 至少有一个为正时才成立。但是我没有看到任何书面的依据和解释。

我们现在的教材中仍然有类似的问题。例如说当 n 为奇数而 a<0 时,定义 a^(1/n) = -(|a|)^(1/n) 。

这个规定作为“定义”是不行的,它会产生矛盾。看一个例子(它是 ④ 和 ⑤ 的变形) :

按照上述定义有 (-27)^(1/3) = -3 ,但是

      (-27)^(1/3) = (-27)^(2/6) = [(-27)^2]^(1/6) = (3^6)^(1/6) = 3   ⑥

或者  (-27)^(1/3) = (-27)^(2/6) = [(-27)^(1/6)]^2 。 (-27)^(1/6) 有 6 个值:

    √3e^(πi/6) ,√3e^(3πi/6) ,√3e^(5πi/6) ,√3e^(7πi/6) ,√3e^(9πi/6) ,√3e^(11πi/6) 。

平方以后得到 3 个值:

    3e^(πi/3) = 3/2+3√3i/2 ,3e^(πi) = -3 ,3e^(5πi/3) = 3/2-3√3i/2   ⑦

其中就没有 3 。

对此矛盾常有两种“解释”:

(1) “先乘方后开方”,那么,6/2 写成 2×(1/6) 与 (1/6)×2 是不相同的。这样,置乘法的交换律于何地?

(2) “作为指数的分数规定必须化为既约分数”,于是,不准把作为指数的 1/3 写成 2/6 。那么,分数指数就不能做加减法了,因为分数的加减难免需要通分,就是不能用既约分数。

越解释越出毛病,这是常见的事。怎么办呢?认真地想一想算术根是怎么回事,复数又是怎么回事。

2 算术根是怎么回事

在中学数学教学中讲根式与分数指数时,第一步应该限于算术根。那么,什么是算术根?

定义 若 a>0 ,则所谓算术根 a^λ 就是方程 x^μ = a ,μ = 1/λ 的唯一正根。

注 1 这里规定 a>0 ,是为了避免 λ<0 时产生困难。其实当 λ>0 时,人们也常说 0 是 0 的算术根。这样做并无大碍,不过当 a = 0 时,方程 x^μ = 0 的根 0 与其他的根,性质很不相同。例如 μ = 2,3,… 等大于 1 的正整数时,它是重根,这与单重根很不相同(非整数时情况更复杂,远远超过了中学教学的可能性)。

注 2 这里还应限于 λ≠0 的情况。因为当 a≠0 时,已经定义了 a^0 = 1 。0^0 现在是无意义的。微积分中有时讨论这种类型的末定式是另一个问题。

注 3 通常教材里只讨论 λ = 1/n ,μ = n 的情况。对于中学生当然这就够了,但是实际上,甚至 λ 是无理数时,这个定义仍然有效。这里定义宽一点,一是为了方便,二是不会出现矛盾。

以上所述,除了三个注解可能有的老师会感到生疏外,一般不会引起困难。但是有一个关键之处可能许多人未曾注意到。那就是,这个正根是否存在?如果这里出了问题,这个定义就成了一个“空定义”。由此而来的一切推论就从根本上失去了依据;再就是,这个根必须是唯一的,否则,设有两个正根,则在讲到算术根时,指的是哪一个,可能会有歧义。这里的存在和唯一性证明如下:

暂时设 μ>0 ,令 f(x) = x^μ-a ,则它是定义在 x∈[0,+∞) 上的连续函数,而且 f(0) = -a ,f(M) = M^μ-a>0 。

所以在此区间内必存在唯一的正的 x0 使得 f(x0) = x0^μ-a 。这个 x0 是唯一的正根,即算术根 x0 = a^λ 。

μ<0 时证明类似。

我们在中学教材中讲的根号与分数指数都是指的算术根。曾经有人认为不妨规定 √﹉ 一定表示算术根,而“一般的根”(连专门的称呼都没有)则用√来表示,但是现在似乎没有人接受,这确实引起了一些记号与名词的混淆。

读者可能会问,何以不用代数的基本定理来证明算术根的存在?原因是,这个证明甚至可以适用于 μ 为一般实数 (包括无理数) 的情况。更重要的是,我们时常以为高斯本人的证明尽管很长,却是“初等的”,而现在应用了微积分里才讲的连续函数中间值定理,就算是“高等的”,因此对于中学数学教学是“超标”了。实际上高斯本人的证明正是应用了中间值定理,但他不知道这个定理是有待证明的。首先指出这件事的是波尔察诺,而他为了补起高斯的缺口使用了我们现在证明波尔察诺定理的方法,但是波尔察诺也不知道以他命名的这个定理也是有待证明的。这个缺口一直到19世纪晚年才完全地被补了起来。我们现在知道的方程的解法中,除了可以用公式写出解来的线性方程组,以及 2,3,4 次代数方程以外,还有哪一个可以不用这一类的拓扑学定理?看来多数情况下是不行的。代数的基本定理本质上是一个拓扑学定理。在这里讲了这么一大段,当然不是要给中学生去讲,而是为了破除一个迷信,以为“高等的”一定很难,而“初等的”一定容易。如果有哪位老师愿意去看一下高斯原来的证明,就会发现,其技巧性很强,其“初等的”部分很难懂,而它的真正实质的部分就是上面介绍的非常直观的拓扑学部分,虽然是“高等的”,却是很容易懂的。但是这个非常直观的拓扑学部分一直到19世纪末年,人们才懂得也是必须证明而且非常难以证明的。现在连大学数学系都不一定会讲它的证明(这样做,对还是不对,也难得说清楚),从事中学(和高校非数学专业)数学教学的老师当然不必为此去费工夫。重要的是要知道,这些 “高等的”数学就在我们身边,知道它们实际上大大地简化了数学教学,帮助我们少走弯路,稍为学一点其实是所费甚少,所得甚多的“低成本改革”。

现在回到算术根本身,而我们的结果是:若 a,b>0 ,而 λ,μ 为任意实数,则下面出现的算术根知 a^λ,a^μ 等等均存在,均为实数,而且

                                a^λ·a^μ = a^(λ+μ)  ⑧

                                 (a^λ)^μ = a^(λμ)   ⑨

                                (ab)^λ = a^λ·b^λ    ⑩

注:如果 λ 及(或) μ 为整数,则“根式”成为乘积,这时 a,b>0 的条件可以去掉,只是要防止出现零的负幂。

⑧、⑨、⑩(特别是 ⑧)称为指数定律。不知道为什么,这个很简明的又在国外很通用的名词,人们似乎很不愿意使用。它们的证明时常被认为很容易,不值得一提。事实上,如果 λ,μ 是正整数,而 ⑧、⑨、⑩ 只是连乘积公式,证明确实很容易;而如果 λ,μ 中有一个负整数,证明就不那么简单;如果是分数,我不知道有谁确实试着去证明过。问题在于,上述结果说的是 λ,μ 为任意实数,何况从道理上说我们还要讨论 λ,μ 为复数的情况。可见我们需要一种新的证明方法。这个问题下面再说。

现在回到前面讲的算术根的定义,负数有没有算术根呢?为此,我们再来看一下 a<0 时方程 f(x) = x^μ-a = 0 是否有解。很明显这个 f(x) 在 [0,+∞) 上是单调上升的,而且 f(0)=-a>0 。所以它不会有正根。所以 a<0 时不会有算术根。既然我们已经在教材中规定(有时又没有明说)用根号或分数指数来表示算术根,则当 a<0 时 a^λ 或 a^(1/μ) 这些记号应该说是没有意义的。

但是前面讲过的例子的“例子” (-27)^(1/3) = -3 实在太常见了,用起来又方便,所以大家总想“挽救”它。上面我们说了,把它作为一个“定义”问题很大,作为记号又与算术根的存在有矛盾,所以我建议,不如网开一面,仍保留它作为一个特殊情况下的权宜之计,就是作为一个方便的记号。就是说,若 n 为奇数,而 a<0 ,a = -|a| ,则 a^(1/n) 就是 -(|a|)^(1/n) ,再来进行其它的运算,这样,既得了方便,又不会出毛病。还请注意,现在的指数的分子一定是 1 ,所以不存在约分通分等问题。

3 进入复域

引入复数是数学中的一次大革命。这不仅是说,我们从此有了强有力的武器来解决原来无法解决的问题。发现复数的几何解释,大约是 19 世纪初年的事情。前后相继有三个人,一是威塞尔,他是一个挪威测量员,认为用实数难以表示有方向的量,而可以用复数;二是阿尔干,他是一个法国小会计,倒是业余喜好搞数学。他也想研究代数的基本定理,而且提出了可以把 i 看成旋转 π/2 。这样他们互相独立地得到了复数平面的概念。

所以复平面在一些书上称为威塞尔平面或阿尔干平面,原因在此。他们二人都不是专业的数学家,所以尽管他们的工作都得到有名的数学家支持,却未为广大数学界接受;第三个人来头可大了,那就是伟大的高斯。可是数学界接受高斯的复数平面却不是因为数学家们也是“追星族”,而是因为高斯正在研究一个重大问题。高斯发现代数的基本定理是当时数学里一个突出的贡献,推动高斯以及数学界接受复数的,正是这个定理。高斯称它为基本定理,满意之情溢于言表,虽然上面我们说了这个定理的一个核心思想是拓扑思想,而这是高斯没有意识到的,但是复数和复平面同样是这个发现的基础,也是关键作用,这一点高斯是完全理解的。只凭这一点就有理由称它为基本定理。

引入复数更重要的影响是,许多原来人们认为已经理解了的事情,现在才发现并未真懂。欧拉生活在复数正在登门但还没有入室的年代。他的“错误”恰好反映了这个情况。现在中学的数学教学的改革,面临的也是在引入复数以后,我们原来有哪些地方需要跟上(说来可笑)两百多年前的时代。“根式”无疑是首当其冲的一个焦点。

首先回到最基本的概念。在 a^λ 这个表达式中,如果把 a 当作变量,就会得到“幂函数”,把 λ 当作变量,就会得到“指数函数”.如果它们是复数,就会得到“复变量函数”。 ( a 和 λ 二者都是变量则更加复杂,大学课程里也不会讲。)“复变量函数”的理论是数学中的一个范围极大的领域,当然不可能纳入我们讨论的范围。我们只想把 a^λ 作为一个运算来看看它的一些与我们最为相关的性质。我们知道任意复数都有指数形式:a=re^(iθ) ,r = |a|≥0 称为其“模”,也就是绝对值,θ=arg(a) 称为其“幅角”。但是这里就已经应用了著名的欧拉公式,以及自变量取复数值的指数函数:e^(iθ) 。

怎样定义 e 以及 e^(iθ) ,又怎样证明欧拉公式?这就是数学教学(包括中学和大学)中亟待解决的问题。如果因为不可能严格地讲就完全不讲,而把这个任务推到遥远的将来,真是削足适履,会极大地妨碍学生的进步(这里有一个数学教学里的怪圈:有某个重要的结果,开始时我们告诉学生说将来有一天老师会讲的,可是将来的老师又说:你们原来的老师应该已经给你们讲过了)再者,由复数的指数形式得出 a^λ = r^λ e^(iλθ) ,这里又在复域里用到了 ⑩ 式(而在复域中此式尚待证明)。这算不算循环论证?可见必须从根本上对 e 以及复域上的幂函数 w = z^λ 和指数函数 w = e^z 下定义,再以此为基础证明 ⑧、⑨、⑩ 诸式。

这里最好的方法是用微积分的方法。作者认为,在没有找到好的适合于中学教学所需的讲法以前,形式地给以承认,而且大胆地应用它们,特别是大胆应用欧拉公式,比根本不讲或者推到遥远的未来,要好得多。因为这将极大地拓广我们(包括老师,甚至主要指老师)的视野。

有不少文献提出,公式 ⑧、⑨、⑩ 在复数情况下不成立,其根据就是上面举出的那些反例。我以为这种说法说的太急了一些,而应该说,它们在复域上需要新的解释。我们现在不来证明它们,理由是这需要对复数有系统的理解。但是在承认我们熟知的复数运算规则的前提下,不妨用这些规则,对复域中这些公式仍然有效做一个验证,但是我们限于 λ,μ 为实数的情况。

(1) 先看 ⑧ 式:

    a^λ·a^μ = [re^(iθ)]^λ·[re^(iθ)]^μ =  r^λ e^(iλθ)·r^μ e^(iμθ) = r^(λ+μ)e^[i(λ+μ)θ] = a^(λ+μ) 。

分析一下这里的运算,易见共有三步:

1° 利用“定义”;a^λ = r^λ e^(iλθ) ;

2° 利用实域中的⑧式:r^λ·r^μ = r^(λ+μ) ;注意,此式本来要求 r>0 ,而现在只有 r≥0 。不过 r = 0 时,a = 0 ,这本来是要单独处理的,所以我们实际上做的是 r>0 的情况;

3° 最重要的是 e^(iλθ)·e^(iμθ) = e^[i(λ+μ)θ] ,是否循环论证?我们暂时不来讨论,但是我们熟知这种形状的复数乘法就是幅角的旋转,所以,复域中的⑧式与复数乘法的几何意义是相通的,与三角里面的角公式(即加法定理)有异曲同工之妙。这是指数定律中最重要的一个。在整个数学中有意义深远的推广。不过,指数理论中常称它为“加法定理”。

(2) 其次来看⑨式:因为 a = re^(iθ) ,a^λ = r^λe^(iλθ) ,所以 a^λ 的模是 r^λ,幅角是 λθ ,所以

      (a^λ)^μ = (r^λ)^μ[e^(iλθ)]^μ = r^(λμ)e^(iλμθ)= a^(λμ) 。

这时的关键仍是对于模这一部分应用了关于算术根的⑧、⑨、⑩式。

(3) 关于⑩式:令 b = se^(iφ) ,则 ab = rs e^[i(θ+φ)] ,而

        (ab)^λ = (rs)^λ e^[iλ(θ+φ)] = r^λ e^(iλθ)·s^λ e^(iλφ) = a^λ·b^λ 。

由此可见,在复域中的指数定律,对于复数的模,原来的 ⑧、⑨、⑩ 式完全没有变化。可见,关键在于幅角。

复数的幅角具有多值性,不妨说,这是一切麻烦的根源。如果 a 的幅角有一个值 θ0 ,则所有的 θ0+2kπ( k 是整数)都是 a 的幅角,而且 a 的所有幅角尽在其中。所以如果 a 有两个幅角 θ1,θ2 ,则 θ1-θ2≡(mod 2π) 。在讨论幅角问题时,不能用通常的算术,而要用同余算术 (mod 2π) ,这就是问题所在。在许多书上常把重点放在 θ0 上称它为主值,于是出了问题,主值是在 [0,2π] 上还是在 (-π,π) 上,取开区间还是闭区间,还是半开半闭区间,是左开右闭还是什么。其实,主值的选取是为了例如应用三角函数的公式更方便,而不一定有原则的意义。所以我们现在就取任意的定值作为 θ0 。于是,例如在计算 (-27)^(1/3) 时,我们应该这样作:

          (-27)^(1/3) = [3^3 e^(2kπ+π)]^(1/3) = (3^3)^(1/3)e^[i(2k+1)π/3] ,(k 取整数值)。

这样我们可以令 k = 0,1,2 而得到 3 个值如下: 3e^(iπ/3) ,3e^(3iπ/3) = -3 ,3e^(5iπ/3) 。

那么我们通常的教材中说的“定义” 就是只取了第二个值,而没有根据地丢掉了其它具有同样平等权利的两个值。这个所谓“定义”碰巧又与常见的习惯一致,多少有点偶然。我们可以进一步分析一下 ⑥ 式犯错误的根源;当时的计算是

           (-27)^(1/3) = (-27)^(2/6) = [(-27)^2]^(1/6) = (3^6)^(1/6) = 3

先看第一个括号。诚然 (-27)^2 = 3^6 e^[2(2kπ+π)i] = 3^6 ,到了第二个方括号有

       [(-27)^2]^(1/6) = 3e^[(4k+2)πi/6] 。

虽然 (4k+2)π≡0(mod 2π) ,但是同余式不许可 ≡ 双方同除以一个数,我们不会得到 (4k+2)π/6≡0(mod 2π) 。而上面第二个方括号显然是错误地把 (4k+2)π≡0(mod 2π) 的双方同除以 6 ,这样就把同余关系与相等关系 (4k+2)π/6 = 0 混合为一谈了。读者不妨分析一下上面那些“怪论”,就会看到,在复数运算中,对于幅角必须应用同余算术是多么重要。

现在来看 ⑧、⑨、⑩ 式对于幅角部分应该做什么说明。

我们先把以后要用的符号统一一下:a = re^(iθ) ,θ = arg(a) = 2kπ+θ0 ;b = se^(iφ) ,φ=2lπ+φ0 。这里 θ0, φ0 是幅角的特定值,但不一定是主值,k,l 是任意整数;λ,μ 则是实数 (复数指数本文不讨论)。

在讨论 ⑧、⑨、⑩ 式之前,先看一下 a^λ 的多值性,按定义 a^λ = r^λe^[iλ(2kπ+θ0)] 。如果 λ 是整数,则 λ·2kπ≡0(mod 2π) 也就可以当作等于来处理,这里不生产任何多值性。如果 λ 是有理数,则把它写成既约分数 λ = n/m ,而 m,n 的新最大公因数 gcd(m,n) = 1(为什么前面不许可随意约去公因数,现在又要约去,后面再解释)。这时 λ(2kπ+θ0) = n/m( 2kπ+θ0) ,k = 0,1,…,m-1 恰好都是 a^λ 可能的幅角之值。如果再取其他的 k 值,则必与这 m 个值的某一个相差 2π 的整数倍,所以会给出同样的 a^λ 。

如果在这 m 个值中任取两个,例如 k = k1,k2 ,则它们给出的幅角的值相差 2π(k1-k2)n/m ,因为 |k1-k2|<m 而不可能以 m 为因子,n 又与 m 没有公因数,所以在 2π(k1-k2)n/m 中无法将分母 m 约去,而 2π(k1-k2)n/m 不会是 2π 的整数倍,从而我们会得到 a^λ 的不同的 m 个值,而且是 a^λ 的全部不同的值。

这样我们知道 a^λ 恰好有而且只有 m个不同的值。在这里我们看到假设 λ = n/m 为既约分数是不可少的,否则有可能将分母 m 约去。我们讲了许多后,是为了说明,在数学中不要没有充分根据地(甚至是想当然地)规定什么事情,例如见到分数就把分子分母的公因数约去,尽管这样做在许多情况下确实会带来方便。如果一个问题的本质需要用到既约分数,这个需要总会在讨论过程中出现。到那时,不约去公因数反而不行,这不是什么经验之谈,而是:数学就是这么回事。

现在我们对 ⑧、⑨、⑩ 诸式中涉及的幅角问题加以说明。

我们主要是讨论 ⑩ 式,式右  a^λ·b^λ = (rs)^λe^{iλ[(2k+2l)π+θ0+φ0]} 的幅角为 λ[(2k+2l)π+θ0+φ0] 而式左的 (ab)^λ = (rs)^λe^[iλ(2pπ+θ0+φ0)] 的幅角是 λ(2pπ+θ0+φ0) ,与 a^λ·b^λ 的幅角 λ[(2k+2l)π+θ0+φ0] 其实是一样的。因为 k,l,p 都是任意的整数,把 p 写成 k+l(有多种写法)不会有影响。从表面上看,a^λ,b^λ 各有 m 个值,它们的乘积似乎会有 m×m = m^2 个值,而正是因为把 p 写成 k+l 有多种写法,所以式左和式右都代表同样多个值,其个数就是 λ 的分母,其区别无非是排列次序不同而已。从这里来解释 ② 和 ③ 的矛盾就很容易了。√(-4)=±2i ,√(-9)=±3i ,一共有 4 种配对的方法,但是乘法的结果只有两个值 ±6 ,② 和 ③ 各执一词,两个答案都不完全,原因就是他们都没有下定决心是仅用算术根还是进入复域。

一个值得注意的事情是:在复域中,⑧、⑨、⑩ 的双方的式子都不一定代表一个值,而可能是若干个值——组成一个若干元的集合。说双方相等其实是表示左右两个集合相等,即由相同元素构成,而不是从左右双方取任意元素,一定会取到相同的元素。前面讲到的矛盾都来源于此。

最后,教训何在?必须注意由于数学科学的发展,我们对于一些基本的概念的理解必须相应地跟上去。不论大学中学都是一个道理,只不过程度不同,做法不同而已。欧拉的“错误”其实并不是我们通常理解的“题目做错了”,而是由于欧拉生活在这些基本概念——特别是复数概念正在征服人心的时代。从欧拉写他的《代数学的完全引论》到现在已经有二百三十多年,在欧拉和我们时代之间,至少还隔着高斯这样的巨人,我们有什么理由不按着后来的发展改变我们的教学习惯?教学内容的现代化并不只是增加许多新内容(必须增加的还要增加),更需要改变一些老的习惯。这样做并不一定有什么特别的困难,本文中有什么很高深的理论或方法吗?
发表于 2020-1-18 03:07 | 显示全部楼层
这篇文章好,我需收录一下,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2024-3-29 22:50 , Processed in 0.083985 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表