来自China-pub的计算机程序设计艺术 第2卷 前言
O dear Ophelia!
I am ill at these numbers:
I have not art to reckon my groans.
亲爱的奥菲利娅;
这些数真让人烦恼:
我可没有计算我的愁怀的技巧。
——Hamlet(Act ll,Scene 2,Line l20)
本书所讨论的算法直接地涉及数。但我相信把它们叫做半数值算法是适当的,因为它们处于数值和符号计算的边界线上;每个算法不仅计算数值问题所要求的答案,而且它也应与一台数字计算机的内部操作很好地融合。在许多情况下,人们都不可能充分品味某个算法的美,除非他也懂计算机机器语言;相应的机器程序的有效性是不能同算法本身分开的一个重要因素。问题是寻找出计算机处理数的最佳方法,这既要考虑数值,又要研究策略。因此本书的主题显然既是数值数学的一个部分,也是计算机科学的一个部分。
在数值分析的“高层次”上工作的某些人将把这里处理的课题当做是系统程序员的领域,而工作在系统程序设计“高层次”上的其他人将把这里处理的课题当做数值分析的领域。但我相信,还会剩下一些人,他们将愿意仔细地考察这些基本方法。尽管这些方法或许处于低层次上,但是它们却奠定了计算机在数值问题上的所有更强大应用的基础,因此了解它们就很重要了。在这里我们最关心的是数值数学和计算机程序设计之间的界面。
本书比起本丛书的其他卷来,其数学内容所占比例要显著地高得多。这是由于所处理的课题所致。大多数情况下,在这里所展开的必要的数学课题几乎都是从很皮毛的内容开始的(或者从第1卷证明的结果开始的)。但是在若干部分,显然仍需要读者具有一定的微积分学知识。
本卷是由整套丛书的第3章和第4章组成的。第3章涉及“随机数”:它不单单是对生成随机序列的各种方法的研究,它还研究随机性的统计检验,以及一致随机数与其它类型随机晕间的转换;后一课题说明在实践中如何使用随机数。本章还有一节包括了随机数本身的性质。第4章的意图是讲述经历了数百年的进步之后,人类对算术运算的有趣发现;它论述了表示数的各种系统,以及在这些系统之间如何进行转换;而且它还处理关于浮点数、高精度整数、有理数、多项式及幂级数的算术运算,也包括因子分解和求最大公因子等问题在内。
第3章和第4章均可作为从大学三年级到研究生层次的一学期课程的基础。尽管“随机数”和“算术”的程现在都不是许多大学课程表的一部分,但我相信,读者会发现这两章的学科内容本身是有实际教育价值的,非常适合于统一论述。我本人的经验是,这些课程是向大学生们介绍初等概率论和数论的很好的手段。通常,在这样的入门性课程中讨论的几乎所有课题都很自然地在同应用相关联中出现,而这些应用可以成为促进学生学习和鉴赏理论的重要因素。其次,每一章都给出一些更深入课题的提示,它们将激发许多学生进行进一步研究的兴趣。
本书的大部分内容都是自成体系的,除了偶尔涉及在第1卷中说明的MIX计算机的讨论外。附录B列出了本书所用的数学符号,其中一些符号与传统数学书中略有差别。
本文地址:http://com.8s8s.com/it/it2469.htm