前言:
现在姐妹们对“gfm算法”大约比较关怀,咱们都需要了解一些“gfm算法”的相关资讯。那么小编在网络上收集了一些对于“gfm算法””的相关文章,希望看官们能喜欢,看官们一起来学习一下吧!算术的基本定理是人们在很远的古代就已经知道的。通常的证明是依靠所谓欧几里得算法(The Euclidean Algorithm)来构造出两个正整数m和n的最大公因数(以下简记为hcd),设为h。欧几里得算法在做这件事情的时候是证明了h可以写成am+bn的形式,这里a,b是一对整数(不一定为正整数,甚至可以为0)。例如,17和7的hcd是1,我们可以把1写成1=5×17-12×7。
欧几里得算法是这样执行的,设m>n,先用n去除m,得出商为q1而余数为r1,所以
方程式(1)
现在0≤r1<n,所以又可以用r1去除n,得到第二个商和余数:
方程式(2)
可以这样做下去:用r2去除r1,用r3去除r2等等,余数每一次都会变小,但是因为它不会是负数,所以到了某一步余数就会变成0,就是除尽了。例如,如果m=165,n=70,这个算法就会给出一系列除法如下:
这个过程保证了最后一个非零的余数就是m和n的hcd。现在它等于5。其理由如下:一方面,式20=4*5+0说明了5是前一个余数20的因数,再往上看式25=1*20+5,又说明5也是25的因数,因为25是表示为20和5的组合。这样一直往上看,这个算法告诉我们5同时是m=165和n=70的因数,所以5是它们的公因数。
另一方面,25=1*20+5说明5可以写成25和20的组合,而且系数是整数。再往上看70=2*25+20,20又可以写成70和25的组合,所以5也可以写成70和25的组合
仿此倒推这个算法,可以把5用165和70表示为
这就说明5是165和70的最大公因数,因为由上式可知165和70的任意的公因数都必然是3×165-7×70的因数,即5的因数。沿着这样的道路,我们已经证明了最大公因数一定可以用两个原来的数m和n来表示
用连分数表示数
在欧几里得以后的1500年间,伊斯兰和印度学派的数学家们认识到,欧几里得算法对于一对整数m和n的执行过程可以用m/n的一个公式来记。方程式(1)可以写为
这里F=n/r1。现在(2)式又把F写成
再往下一步就会给出r1/r2的一个表达式,把它表示为一个整数(就是商)和一个真分数(后一个余数与前一个余数之比)的和。仿此以往,如果这个算法在第k步停了下来,我们就把这些表达式放在一起,得到m/n的连分数表达式:
例如
连分数也可以直接从分数165/70=2.35714…做出来,而不必用到两个整数165和70。实际上,取这个数的整数部分2,这就是前面的q1,再把余下的小数部分取,其倒数1/0.35714…= 2.8,又取其整数部分2,就得到前面的q2。余下的0.8倒数为1.25,所以q3=1。最后1/0.25=4,所以q4=4。至此,余数为0,而运算停止。
17世纪的数学家沃利斯(John Wallis)似乎是第一个给出了连分数的系统讨论的数学家,而且似乎是第一个认识到,不仅是有理数,而且是所有实数都有连分数展开式存在的人,只要我们承认连分数可以有无限多层。如果从任意正数开始,都可以像对付比值2.35714….一样地构造出连分数来。
例如对于数π= 3.14159265…,先取3,再把余下的部分取倒数:1/0.14159…=7.06251….这样对于π第二个商是7。继续这样做下去,就得到连分数
方程式(3)
出现在分数里的3,7,15等就叫做π的部分商。
实数的连分数表达式可以用来求此实数的有理数近似,如果把这个连分数在有限步以后就截断,就会得到一个有限的连分数。它是一个有理数。例如,把(3)式在第一层就截断,就会得到我们熟知的π的近似值:
在第二层截断又会得到π的另一个近似值:3+1/(7+1/15)=333/106。在不同的层截断就会得出一个有理逼近序列,它的前一部分是
不论从哪一个正实数x开始,它的连分数逼近的序列当沿连分数的各层向下走的时候都将趋近x。事实上,等式(3)的形式解释就是说,它的不同层面的截断会趋近π。
很自然地,想要得到数x的更好的近似,就应该用“更复杂”的分数——就是具有更大的分子和分母的分数。x的连分数逼近在下面的意义上是最好的逼近:若p/q是这个连分数的一个截断,则不可能找到分母小于q的分数r/s与x更加接近。
进一步说,如果p/q是来自连分数的对x的逼近,则
相对于分母q不能太大。具体说来,恒有
这个误差估计说明了连分数近似是多么特别,如果想也不想地取一个分母q,然后又想也不想地取一个分子p并且希望用p/q去逼近x,那么只能保证x位于
式(4)
之间,所以误差可能达到1/2q,而当q很大时,这可比1/q^2大多了。
有时,x的连分数近似的误差比(4)式所保证的还要小,即如通过对(3)式作截断所得到的近似π≈335/113就特别精确。原因在于下一个部分商292很大,所以略去尾巴
并不会造成大的改变。在这个意义下,最难用连分数去逼近的数是部分商最小的数也就是所有部分商都等于1的数。这个数
式(5)
很容易计算,因为其部分商序列是周期的。若记此数为Φ,则
而它的倒数就是(5)式的连分数Φ。所以
也就是
这个二次方程式的两个根是(1+√5)/2 = 1.518…和(1-√5)/2=-0.618….因为我们想要找的数φ是正的,所以它就是第一个根,就是常说的黄金比。
很容易看到,正如(5)表示的是正根,其他的周期连分数也表示某个二次方程式的根。这件事,似乎在16世纪就已为人所理解了。但是要想证明其逆可就难多了,任意二次根的连分数必为周期的。直到18世纪拉格朗日才证明了它,而这与二次数域有单位元存在有密切的关系。
用连分数表示函数
数学最重要的函数中有几个用无穷和来表示最为容易。例如,指数函数就有以下的无穷级数表示:
但是也有几个有简单的连分数表示,就是用含有变量如x的连分数来表示,从历史上来说,这些可能是最重要的连分数。
例如,函数tanx就有以下的连分数表示:
它对除了π/2的奇数倍以外的x都适用,在这些点处正切函数有垂直的渐近线。
一个函数的无穷级数表示可以提供这个函数的多项式逼近,而连分数在截断后则提供了这个函数的有理函数逼近。例如,如果把正切函数的连分数表示在第一层截断,就会得到以下近似
这个连分数表示以及它在截断以后逼近tanx的速度在证明为无理上起着中心的作用。这个证明是由兰伯特 (Johann HeinrichLambert)在 1760年代给出的。他用连分数证明了若x是除0以外的有理数,则 tanx不是。但是 tanπ/4=1肯定是有理数,所以π/4不可能是有理数。
标签: #gfm算法