我们一直在不自觉地使用着十进制小数(decimal fraction)表示实数,小数运算方便、容易理解,让实数使用起来更加自如。但小数却不能提供更多关于实数本身的性质,尤其是对无理数、超越数的研究,小数表示完全无法胜任。有人会感到困惑,什么叫实数本身的性质?实数本身还有什么需要进一步研究的?比如说吧,无理数周边的有理数是如何分布的?超越数和其它无理数有什么本质区别?这些问题的回答都超出了本篇的范围,但我觉得可以从一个简单的入口来洞悉里面的世界,为今后的学习提供工具和精神上的准备。
1. 一般连分数
在正式给出定义之前,先来欣赏一下下面漂亮的表达式:
这里要介绍的就是连分数(Continued Fractions),它是实数的另一种表示方法,在数论等学科中有着很惊奇的应用。简单说连分数就是具有以下左边形式的表达式,其中可以是任何数(甚至复数),省略号可以是有限或无穷的。右边的表达式叫一般连分数,如果为整数、为正整数,它又叫简单连分数,本篇只介绍一般连分数和简单连分数。
这种书写方式虽然直观,但稍显繁琐,我们可以把一般连分数写成。值得一提的是,有限连分数显然都是一个数,但无限连分数却还只是个记号,它能不能表示数还需要进一步的结论。另外,称为连分数的节,称为连分数的余式,显然有下式成立:
显然连分数的每个节都可以展开为一般的分数形式,它称为连分数的渐进分数(convergents),由数学归纳法可以推得如下公式。其中是补充进来的,它们可以使公式统一。这个公式非常漂亮,居然独立地只与相关,它是连分数理论的基本公式。
直觉可能已经告诉你,渐进分数可能是实数的一种逼近序列,研究渐进分数之间的关系就能知道这个逼近的趋势。将上式分别乘上并相减得到,迭代计算得到公式(3),并进而有公式(4),用类似的方法和已有结论容易有公式(5)(6)。它们都表示了渐进分数的逼近情况,以后会经常用到。
你可能注意到,余式完全可以当做看待,所以可以有表达式(7)。这个表达式将余式和连分数的值联系了起来,对研究逼近很有用处。另外,结合公式(2)很容易得到以下有趣的表达式(8)。它们不仅漂亮,对今后的证明也都很有用。
2. 简单连分数
以上的讨论都是针对一般连分数进行的,得出的结论也都是关于表达式形式的。如果想得到关于值的性质,看来必须限制的值,现在就假设为正数(比简单连分数条件弱一些)。由公式(4)可知偶(奇)数项渐进分数是递增(减)的,而且奇数项皆大于偶数项。从图像上看感觉就是两条逐渐靠近的曲线,我们自然会问:它们会收敛于同一个值吗?对于有限连分数,答案是显然的,最后一项会等于分数值。但对于无限连分数,极限的知识告诉我们它们不一定相遇,所以还需要研究它们相遇的条件。
首先,渐进分数序列收敛时称连分数是收敛的,它本质上是说两条曲线收敛于同一值,该值称为连分数的值。容易看出连分数收敛和它的余式收敛是等价的,那么无穷连分数收敛的条件是什么呢?由公式(4)可知收敛的等价条件是,下面来证它的充要条件是发散。先证必要性,即由极限为无穷证明级数发散。首先容易有,从而有一个成立,结合公式(2)可有或。如果级数收敛,由级数理论可知有非零值,从而有限,与极限为无穷矛盾,所以级数必收敛。再证充分性,即由级数发散可证极限为无穷。现由分别对奇偶项进行估值,合并有,然后很容易有。证明完成。
可以猜想,不同的连分数可能收敛到同一个实数,这样实数的连分数表示就没有唯一性。为达到唯一性,并获得更多的结论,从现在开始我们仅讨论简单连分数,并简称为连分数。连分数的称为局部商(partial quotient),可为负数,为保持结论的处处成立,我们再限定它必须非负,这并不影响结论对所有连分数的适用性。另外,对有限连分数有,连分数表示仍然不唯一,但容易证明,如果限制,则实数有唯一的连分数表示(十进制小数表示也要剔除掉才有唯一表示)。
比较自然地可以想到,实数的唯一连分数表示可以用类似辗转相除的方法逐步得到。每次取余式的整数部分,余式的小数部分取倒数得到新的余式,依次类推,比如由下表可得到。显然有理数在有限步后余式为0,结束流程得到有限连分数,而无理数则会一直进行下去,得到无限连分数。
由公式(7)可知,其中,从而得到渐进分数的误差估计公式(9)。该误差公式可以继续得到误差比较式(10)(11),即渐进分数越来越接近连分数的值。
3. 逼近的度量
实数的连分数表示不依赖于进制,的大小一定程度上表示了逼近的程度,它是研究无理数的有力工具。连分数的渐进分数可以由公式(2)递推得到,都是整数,由公式(3)得到又是互质的,所以公式(2)推导出的渐进分数都是既约分数。
关于用有理数逼近无理数,我们有这样一个基本问题:怎样用尽量小分母的分数来逼近已知无理数?这个问题不仅有实际应用价值,还能考察一个无理数的性质。首先我们可以有这样的粗略感觉,对选定的分母可有一个最逼近的分数,随着分母的递增,必然有某个分数更加逼近,然而这些分母之间可能是有间隔的。先对这样的逼近作一个明确的定义,对任意实数,若既约分数比任何分母不大于的分数都更逼近,称为的最佳逼近。即若,任意,则有表达式(12)。一个实数可能有很多的最佳逼近,它们分母递增,且值逐渐逼近直至收敛。
由前面的分析知道,渐进分数逐步靠近收敛值,而且它们的分母也逐渐增大,那它们是不是就是我们要找的最佳逼近呢?答案让人惊喜,但也有点让人失望,渐进分数都是最佳逼近,但不是所有最佳逼近都是渐进分数。在得到更细致的结论之前,我们需要引入中位数的概念。分数称为和的中位数,容易证明它的值介于和之间(中位数定理)。
考察如下序列,它们和之间都是中位数关系,所以这是一个单调序列,且位于收敛值的同一侧。这个序列如果再前进一步,就是和的中位数,同样推理,它必和在同一侧。这个有趣的过程可以启发我们如何计算,已知前两个渐进分数和收敛值时,可以在中位数跨越时确定。
继续回到前面的问题,现在知道渐进分数和中位数分布在收敛值的两侧,且每侧都是单调的。每侧相邻两个分数可以表示为和,它们的差为,分子为1表明它们之间不可能有分母大于的分数,否则该分数与的差必然大于。所以最佳逼近必然只能取渐进分数及其中位数,显然渐进分数必然是最佳逼近,但中位数就不一定是了,它甚至都不一定是既约分数。
仔细比较公式(10)和(11),(11)明显比(10)更严格,如果把公式(12)也换成较严格的条件,会发生什么呢?为区别这两种逼近,满足公式(12)的称为第一类型最佳逼近,而满足公式(13)的称为第二类型最佳逼近。第二类型的最佳逼近当然肯定也是第一类型的,反之则不一定成立,第二类型将剔除掉所有中位数,得到让我们心怡的结论。
证明的重点都在于对公式(4)(9)的深度理解,相邻连分数之间再也插不进比它们分母小的分数。如果第二类型最佳逼近在和之间,它必然在和之间,所以且。而另一方面,矛盾,所以第二类型逼近只能是渐进分数。反之如果,则利用误差估计(9)有,也就是说所有渐进分数都是第二类型逼近。所以除了特殊情况外,第二类型渐进逼近和渐进分数是等价的。
渐进分数可以寻找最佳的有理逼近,它可以被用于齿轮制造、日历编撰等,另外还可以求对数的近似值(想想怎么算?)。
渐进分数是实数的逼近表示,那么局部商的大小能否说明什么呢?笼统地说,它表示渐进分数离实数究竟有多近,即可以用来度量逼近。如何度量一个有理数对实数的逼近程度?研究误差和分母的关系是一个比较可行的方法,根据公式(9)有关系式(14)。这个关系式是对所有渐进分数都成立的,欲构造单个无限接近该误差的连分数是很容易的,所以该式不能被加强。该结论有两个扩展结论:(1)相邻两个渐进分数必有一个满足(15)式;(2)相邻三个渐进分数必有一个满足(16)式。而且考察可知,该结论已经不能再扩展。
利用公式(9)容易得到以下估计式(17),该式说明了越大,它所对应的渐进分数就“更好地”逼近连分数的值,而则是最坏的数。关于逼近的度量还有很多结论,这里只是抛砖引玉,让大家有个概念,具体内容请参考相关资料。
现在来看一个逼近度量的应用,由此窥见连分数理论在高等理论中的作用。考察次代数数,设它满足有理系数多项式。易证,取使的区间,并设。在区间上讨论,容易有。进一步讨论既有刘维尔(Liouville)定理:对次代数数,存在正数使得(18)式总成立。该定理指出了代数数的有理逼近性质,可以用它来轻松构造超越数(取适当),刘维尔用它构造了第一个超越数。
4. 循环连分数
十进制循环小数是有理数,你可能好奇循环(periodic)连分数会有什么性质呢?首先,模仿循环小数,我们把循环连分数记作。对于循环连分数,在进入循环节后总有,容易由归纳式得到一个二次方程,并进而知道该连分数是2次代数数。反过来,2次代数数的连分数,也必然是循环的,这个定理最初由拉格朗日证明。大概思路是考察余式的二次方程,发现它的系数有界,从而余式的个数有限,所以必然会出现循环。这里打算从另一个角度来证明这个定理,因为我们可以得到更多有趣的东西。
我们先从最简单的情况开始考虑,连分数称为纯循环连分数,并记。考察由归纳公式形成的二次方程,并使用公式(8),容易证明和是同一整系数二次方程的根,它们互为共轭且满足条件(19)。容易知道二次代数数都有形式,满足(19)的二次代数数称为既约的。可以证明的余式也是即约的,也容易知道对某个即约二次代数数是有限的,故必有某个余式满足,这就证明了即约二次代数数必是纯循环连分数。综合得到纯循环连分数和即约二次代数数是等价的。对于一般的二次代数数,用的表达式来表示,可以证明它迟早会成为即约的,所以循环节必将出现,故循环连分数和二次代数数也是等价的。
容易证明是即约的(为的首项),记。由以上结论可有,而,所以对称。故有,进而有表达式(20)。
【全篇完】
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架