首页 | 主题 | 图库 | 问答 | 文摘 | 原创 | 百科

历史 | 地理 | 人物 | 艺术 | 体育 | 科学 | 音乐 | 电影 | 信息技术 | 世界遗产

 开放、中立,源自维基百科

个人工具


连分数

维库,知识与思想的自由文库

跳转到: 导航, 搜索

数学中,分数繁分数即如下表达式︰

x = a_0 + \cfrac{1}{a_1 + \cfrac{1}{a_2 + \cfrac{1}{a_3 + \cfrac{1}{\ddots\,}}}}

这里的 a0 是某个整数而所有其他的数 an 都是正整数。可依樣定义出更长的表达式。如果部分分子(partial numerator)和部分分母(partial denominator)允许假定任意的值,在某些上下文中可以包含函数,则最終的表达式是广义连分数。在需要把上述标准形式與广义连分数相區別的时候,可稱它為简单正规连分数,或称为是规范形式的。

目录

[编辑] 例子

连分数常用于无理数的逼近,例如:

\sqrt{2} = 1 + \frac{1}{2 + \frac{1}{2 + \frac{1}{2 + \frac{1}{2 + \frac{1}{2 + \frac{1}{2 + ...}}}}}} 由此得到\sqrt{2}渐近分数 \frac{1}{1}\frac{3}{2}\frac{7}{5}\frac{11}{7}、……

\frac{\sqrt{5} -1}{2} = \frac{1}{1 + \frac{1}{1 + \frac{1}{1 + \frac{1}{1 + \frac{1}{1 + \frac{1}{1 + ...}}}}}} 由此得到黄金分割的渐近分数 \frac{1}{1}\frac{1}{2}\frac{2}{3}\frac{3}{5}\frac{5}{8}\frac{8}{13}、……

注意将上述系列的分子分母依序排列均可得到斐波那契数列

\pi = 3 + \frac{1}{7 + \frac{1}{15 + \frac{1}{1 + \frac{1}{292 + \frac{1}{1 + \frac{1}{1 + ...}}}}}} 由此得到圆周率的渐近分数 \frac{3}{1}\frac{22}{7}約率)、\frac{333}{106}\frac{355}{113}密率)、\frac{103993}{33102}、……

数学上可以证明,由(狭义)连分数得到的渐近分数,在分子或分母小于下一个渐进分数的分数中,其值是最接近精确值的近似值。

[编辑] 动机

研究连分数的动机源于想要有实数在“数学上纯粹”的表示。

多数人熟悉实数的小数表示︰

r = \sum_{i=0}^\infty a_i 10^{-i}

这里的 a0 可以是任意整数,其它 ai 都是 {0, 1, 2, ..., 9} 的一个元素。在这种表示中,例如数 π 被表示为整数序列 {3, 1, 4, 1, 5, 9, 2, ...}。

这种小数表示有些问题。例如,在这种情况下使用常数 10 是因为我们使用了 10 进制系统。我们还可以使用 8 进制或 2 进制系统。另一个问题是很多有理数在这个系统内缺乏有限表示。例如,数 1/3 被表示为无限序列 {0, 3, 3, 3, 3, ....}。

连分数表示法是避免了实数表示的这两个问题。让我们考虑如何描述一个数如 415/93,约为 4.4624。近似为 4,而实际上比 4 多一点,约为 4 + 1/2。但是在分母中的 2 是不准确的;更准确的分母是比 2 多一点,约为 2 + 1/6,所以 415/93 近似为 4 + 1/(2 + 1/6)。但是在分母中的 6 是不准确的;更准确分母是比 6 多一点,实际是 6+1/7。所以 415/93 实际上是 4+1/(2+1/(6+1/7))。這樣才准确。

去掉表达式 4 + 1/(2 + 1/(6 + 1/7)) 中的冗余部分可得到简略记号 [4; 2, 6, 7]。

实数的连分数表示可以用这种方式定义。它有一些可取的性质︰

  • 一个数的连分数表示是有限的,当且仅当这个数是有理数
  • “简单”有理数的连分数表示是简短的。
  • 任何有理数的连分数表示是唯一的,如果它没有尾随的 1。(但是 [a0; a1, ... an, 1] = [a0; a1, ... an + 1]。)
  • 无理数的连分数表示是唯一的。
  • 连分数的项将会重复,当且仅当它是一个二次无理数(即整数系数的二次方程的实数解)的连分数表示 [1]
  • x 的截断连分数表示很早产生 x 的在特定意义上“最佳可能”的有理数逼近(参閱下述定理 5 推论 1)。

最後一个性质非常重要,且傳統的小數點表示就不能如此。数的截断小数表示产生这个数的有理数逼近,但通常不是非常好的逼近。例如,截断 1/7 = 0.142857... 在各种位置上产生逼近比,如 142/1000、14/100 和 1/10。但是明显的最佳有理数逼近是「1/7」自身。π 的截断小数表示产生逼近比,如 31415/10000 和 314/100。π 的连分数表示开始于 [3; 7, 15, 1, 292, ...]。截断这个表示产生極佳的有理数逼近 3、22/7、333/106、355/113、103993/33102、...。 314/100 和 333/106 的分母相當接近,但近似值 314/100 的误差是遠高於 333/106 的 19 倍。作为对π的逼近,[3; 7, 15, 1] 比 3.1416 精确 100 倍。

[编辑] 連分數表示的算法

考虑实数 r。设 ir 的整数部分,而 f 是它的小数部分。则 r 的连分数表示是 [i; …],这里的「…」是 1/f 的连分数表示。習慣上用分號取代第一個逗號。

要计算实数 r 的连分数表示,写下 r 的整数部分(技术上 floor)。从 r 减去这个整数部分。如果差为 0 则停止;否则找到这个差的倒数并重复。这个过程将终止,当且仅当 r 是有理数。

找出 3.245 的连分数
3\, 3.245 - 3\, = 0.245\, 1 / 0.245\, = 4.082\,
4\, 4.082 - 4\, = 0.082\, 1 / 0.082\, = 12.250\,
12\, 12.250 - 12\, = 0.250\, 1 / 0.250\, = 4.000\,
4\, 4.000 - 4\, = 0.000\, STOP
3.245 的连分数是 [3; 4, 12, 4]
3.245 = 3 + \cfrac{1}{4 + \cfrac{1}{12 + \cfrac{1}{4}}}

数 3.245 还可以表示为连分数展开 [3; 4, 12, 3, 1];参见下面的有限连分数。

这个算法适合於实数,但如果用浮点数实现的话,可能导致数值灾难。作为替代,任何浮点数是一个精确的有理数(在现代计算机上分母通常是 2 的幂,在电子计算器上通常是 10 的幂),所以欧几里德GCD算法的变体可以用来给出精确的结果。

[编辑] 连分数的表示法

可以把连分数简写作︰

x = [a_0; a_1, a_2, a_3] \;

或者,用 Pringsheim 的记法写作︰

x = a_0 + \frac{1 \mid}{\mid a_1} + \frac{1 \mid}{\mid a_2} + \frac{1 \mid}{\mid a_3}

还有一个有关的记法:

x = a_0 + {1 \over a_1 + } {1 \over a_2 +} {1 \over a_3 +}

有时使用尖括号,如:

x = \left \langle a_0; a_1, a_2, a_3 \right \rangle \;

在使用尖括号的时候,分号是可选的。

还可以定义无限简单连分数极限

[a_{0}; a_{1}, a_{2}, a_{3}, \,\ldots ] = \lim_{n \to \infty} [a_{0}; a_{1}, a_{2}, \,\ldots, a_{n}]

对于正整数 a1, a2, a3 ... 的任意选择,皆存在此一极限。

[编辑] 有限连分数

所有有限连分数都表示一个有理数,而所有有理数都可以按两种不同的方式表示为有限连分数。这两种表示除了最终项之外都是一致的。在較長的连分数表示,其最终项是 1;較短的表示去掉了最後的 1,而向新的终项加 1。在短表示中的最终项因此大於 1,如果短表示至少有两项的话。其符号表示:

[a_{0}; a_{1}, a_{2}, a_{3}, \,\ldots ,a_{n}, 1]=[a_{0}; a_{1}, a_{2}, a_{3}, \,\ldots, a_{n} + 1] \;

例如︰

2.25 = 9/4 = [2; 3, 1] = [2; 4] \;
-4.2 = -21/5 = [-5; 1, 3, 1] = [-5; 1, 4] \;

[编辑] 连分数的倒数

有理数的连分数表示和它的倒数除了依据这个数小於或大於 1 而分别左移或右移一位以外是相同的。换句话说,[a_0;a_1,a_2,a_3,\ldots,a_n][0;a_0,a_1,a_2,\ldots,a_n] 互为倒数。这是因为如果 a\ 是整数,接著如果 x<1\,则 x = 0+1/(a+1/b)\1/x = a+1/b\,而且如果 x>1\,则 x = a+1/b\1/x = 0+1/(a+1/b)\ 带有最後的数生成对 x\ 和它的倒数是同样的的连分数的餘数。

例如︰

2.25 = \frac{9}{4} = [2; 4] \;
\frac{1}{2.25} = \frac{4}{9} = [0; 2, 4] \;

[编辑] 无限连分数

所有无限连分数都是无理数,而所有无理数可用一种精确的方式表示为无限连分数。

无理数的无限连分数表示是非常有用的,因为它的初始段提供了对这个数的优异的有理数逼近。这些有理数可以叫做这个连分数的收敛(convergent,也译为“渐进”)。所有偶数编号的收敛都小於最初的数,而奇数编号的收敛都大於它。

对於连分数 [a_0;a_1,a_2,\ldots],前四个收敛(编号 03)是

\frac{a_0}{1},\qquad \frac{a_1a_0+1}{a_1},\qquad \frac{    a_2(a_1a_0+1)+a_0}{a_2a_1+1},\qquad \frac{a_3(a_2(a_1a_0+1)+a_0)+(a_1a_0+1)}{a_3(a_2a_1+1)+a_1}

用普通語言來说,第 3 个收敛的分子是藉由第 3 个商(a_2 \;)乘上第 2 个收敛的分子,並加上第 1 个收敛的分子而成。分母的形成也很类似。

如果找到连续的收敛,带有分子 h_1,h_2,\ldots 和分母 k_1,k_2,\ldots,则相关的递归关系是:

h_n=a_nh_{n-1}+h_{n-2},\qquad k_n=a_nk_{n-1}+k_{n-2}

连续的收敛由如下公式给出

\frac{h_n}{k_n}= \frac{a_nh_{n-1}+h_{n-2}}{a_nk_{n-1}+k_{n-2}}

[编辑] 一些有用的定理

如果 a0, a1, a2, ... 是正整数的无限序列,递归的定义序列 hnkn

h_{n}=a_nh_{n-1}+h_{n-2}\, h_{-1}=1\, h_{-2}=0\,
k_{n}=a_nk_{n-1}+k_{n-2}\, k_{-1}=0\, k_{-2}=1\,

[编辑] 定理 1

对於任何正数 x\in\mathbb{R}

\left[a_0; a_1, \,\dots, a_{n-1}, x \right]= \frac{x h_{n-1}+h_{n-2}}      {x k_{n-1}+k_{n-2}}

[编辑] 定理 2

[a0; a1, a2, ...] 的收敛以

\left[a_0; a_1, \,\dots, a_n\right]= \frac{h_n}      {k_n}

給出。

[编辑] 定理 3

如果对连分数的第 n 个收敛是 hn / kn,则

k_nh_{n-1k_{n-1}h_n=(-1)^n \,}-

推论 1:每个收敛都在它的最低的那些项中(如果 hnkn 有不尋常的公约数,则它可除 knhn − 1kn − 1hn,這當然是不可能的)。

推论 2:在连续的收敛之间的差是单位分数

\left|\frac{h_n}{k_n\frac{h_{n-1}}{k_{n-1}} \right|= \left|\frac{h_nk_{n-1}-k_nh_{n-1}}{k_nk_{n-1}}\right|= \frac{1}{k_nk_{n-1}}}-

推论 3:连分数等价於交替(alternating)项的级数:

a_0 + \sum_{n=0}^\infty \frac{(-1)^{n}}{k_{n+1}k_{n}}

推论 4:矩阵

\begin{bmatrix} h_n & h_{n-1} \\ k_n & k_{n-1} \end{bmatrix}

有确定的正 1 或负 1,因此属於 2x2 幺模矩阵 S^*L(2,\mathbb{Z}) 的群。

[编辑] 定理 4

每个(第 s 个)都比任何前面(第 r 个)收敛更接近於後续的(第 n 个)收敛。用符号来说,如果第 n 个收敛是 [a_0;a_1,a_2,\ldots a_n]=x_n,则

\left| x_r - x_n \right| > \left| x_s - x_n \right|

对於所有 r < s < n

推论 1:奇数收敛(在第 n 个之前)持续递增而总是小於 xn

推论 2:偶数收敛(在第 n 个之前)持续递减而总是大於 xn

[编辑] 定理 5

\frac{1}{k_n(k_{n+1}+k_n)}< \left|x-\frac{h_n}{k_n}\right|< \frac{1}{k_nk_{n+1}}

推论 1:任何收敛都比其分母小於这个收敛的分母的任何其他分数更接近於这个连分数。

推论 2:立即前导於一个大商的任何收敛都是对这个连分数的接近逼近。

[编辑] 半收敛

如果 \frac{h_{n-1}}{k_{n-1}}\frac{h_n}{k_n} 是连续的收敛,则如下形式的任何分数

\frac{h_{n-1} + ah_n}{k_{n-1}+ak_n}

这里的 a 是非负整数,而分子和分母在 nn + 1 项(包含它们)之间,叫做“半收敛”、次收敛或中间分数。这个术语经常意味着排除了是收敛的可能性,而不是收敛是一种半收敛。

对实数 x 的连分数展开的半收敛包括了所有比有更小分母的任何逼近都好的有理数逼近。另一个有用的性质是连续的半收敛 a/b 和 c/d 有着 ad-bc = \pm 1

[编辑] 最佳有理数逼近

对实数 x 的最佳有理数逼近是有理数 ndd > 0),它比带有更小分母的任何逼近都接近於 x。依据如下三个规则,从 x 的简单连分数生成所有对 x 的最佳有理数逼近:

  1. 截断连分数,並尽可能减小它的最後项。
  2. 减小的项不能小於它最初的值的一半。
  3. 如果最终项是偶数,则用特殊规则确定它的值是否可接受。(见後)

例如,0.84375 有连分数 [0;1,5,2,2]。下面是它的所有最佳有理数逼近。

 [0;1]   [0;1,3]   [0;1,4]   [0;1,5]   [0;1,5,2]   [0;1,5,2,1]   [0;1,5,2,2] 
1 34 45 56 1113 1619 2732

包含了分母严格单调递增的增补项允许在算法上施加限制,要么在分母的大小上,要么在逼近的接近性上。

要向有理数逼近併入新项,只需要两个前面的收敛。如果 ak+1 是新项,则新分子和分母是

nk+1 = nk−1 + ak+1 nk
dk+1 = dk−1 + ak+1 dk

初始的收敛(要求前两项)是 0110。例如,以下是对 [0;1,5,2,2] 的收敛。

k −2 −1 0 1 2 3 4
ak 0 1 5 2 2
nk 0 1 0 1 5 11 27
dk 1 0 1 1 6 13 32

减半规则的形式描述是减半的项 12 ak 是可接受的,当且仅当

[ak; ak−1, …, a1] > [ak; ak+1, …]

在实践中,经常使用类似欧几里德 GCD 的算法依序生成这些项,且它提供的辅助值可更方便的测试。例如,以下是为 0.84375 = 2732 生成的项。

a0 = ⌊2732⌋  = 0,  f0 = 27 − 32a0 = 27
a1 = ⌊3227⌋  = 1,  f1 = 32 − 27a1 = 5
a2 = ⌊275⌋  = 5,  f2 = 27 − 5a2 = 2
a3 = ⌊52⌋  = 2,  f3 = 5 − 2a3 = 1
a4 = ⌊21⌋  = 2,  f4 = 2 − 1a4 = 0

使用以此生成的 f 值,12 ak 的可接受性测试是 dk−2  dk−1 > fk  fk−1。对於例中的 a3d1  d2 = 16f3  f2 = 12,所以 12 a3 是不可接受的;在对 a4 的时候,d2  d3 = 613f4  f3 = 01,所以 12 a4 是可接受的。

x 的收敛在更强的意义上是最佳逼近:ndx 的逼近,当且仅当 |dxn| 是在所有逼近 mc 带有 c ≤ d 中是最小的相对误差的;就是说,我们有 |dxn| < |cxm| 只要 c < d。(注意还有 |dkxnk| → 0 当 k→∞。)

[编辑] 连分数历史

  • 300 BC 欧几里德, 《Elements》 - 最大公约数的算法生成一个连分数作为副产品
  • 1579 Rafael Bombelli, 《L'Algebra Opera》 - 与连分数有关的提取平方根的方法
  • 1613 Pietro Cataldi, 《Trattato del modo brevissimo di trovar la radice quadra delli numeri》 - 第一种连分数的记号
Cataldi 表示连分数为 a_0.\, &n_1 \over d_1. &n_2 \over d_2. &{n_3 \over d_3} 带有指示随后连分数要去的地方的点

[编辑] 参见

[编辑] 外部链接

[编辑] 引用

其它语言
AD Links