计算机程序设计艺术 · 卷3:排序与查找(第2版)》第 120 页(第 5.2.3 节 选择排序):

第 122 页(第 5.2.3 节的习题):

现在,我们使用这个恒等式来计算 α 值,下面就是对应的 PARI/GP 程序:

\p 41
u=v=x=0.5;a=0;for(n=1,11,a+=v*(1+u)/(1-u);u*=x;v*=u*u*2;print(a));quit()

其中,u = xn, v = xn2,并利用: xn = xn-1x, xn2 = x(n-1)2xnxnx-1。 运行结果是(耗时 0.012 秒):

$ gp -q 5.2.3-27.gp
    realprecision = 57 significant digits (41 digits displayed)
1.5000000000000000000000000000000000000000
1.6041666666666666666666666666666666666667
1.6066778273809523809523809523809523809524
1.6066951206752232142857142857142857142857
1.6066951524002760786065308179723502304147
1.6066951524152899593977029666617413514465
1.6066951524152917637286658220342605911124
1.6066951524152917637833011079810791478850
1.6066951524152917637833015231901341769488
1.6066951524152917637833015231909245801041
1.6066951524152917637833015231909245804806

可以看出,只需迭代 11 次就达到 41 位有效数字的精度,的确是非常快速收敛的级数。

有关 PARI/GP,请参阅:图灵社区:PARI/GP 简介

图灵社区:《计算机程序设计艺术》读书笔记