×

计算机代数。代数计算系统和算法。A.Davenport和J.H.Davenport.的法语翻译。 (英语) Zbl 0679.68058号

伦敦(英国):学术出版社,288-p.£16.95(1988)。
对计算机代数的良好通用文本的需求从未如此强烈。从一开始,计算机就被用于数值计算。然而,人们并不总是意识到,它们用于符号性质的数学计算的历史几乎同样悠久。直到最近,算法的改进、小型系统的开发和功能强大的工作站的出现,才使得计算机代数系统变得更为广泛可用,并成为几乎所有数学用户的一个越来越重要的工具。长期以来,计算机代数一直是一门深奥的学科,部分原因肯定是缺乏这方面的教科书。因此,本书的问世特别幸运。
作者采用的方法是首先让读者了解代数系统可以执行的计算类型。接下来,我们将讨论数据表示的问题。最后,本书的大部分内容都致力于解释该主题的经典算法。因此,读者既能感受到系统设计者需要面对的问题,如数据表示和组合爆炸,又能对底层数学有一个大致的理解。这本书并不是要提供百科全书式的报道,也不是要作为任何特定系统的手册。
这本书的作者面临的一个更困难的设计决策涉及代表读者假设的数学复杂程度。有人希望这本书能尽可能地让广大读者阅读,但对这一主题的任何超越肤浅的理解都需要对潜在的纯粹数学有一个合理的把握。本文的折衷之处在于充分解释数学问题,陈述定理和随后的算法,但并不总是证明定理。然而,许多更直接的结果都得到了证明。关于包括什么和省略什么的决定都经过了深思熟虑,结果是取得了相当大的成功。该书为工程师和科学家提供了大量内容,尤其是其早期章节最适合作为本科课程的基础。对于专业数学家来说,它为一个迷人且快速发展的领域提供了一个快速全面的介绍。
当然,在这样一本书中,并不是所有可能属于计算机代数范畴的内容都可以涵盖。因此,一些专门的主题,如计算群论,没有提到,其他领域的处理有时也必须缩写。然而,这门学科的主流表现得很好,材料的选择也很好。通常,主要的经典结果都会得到充分解释,一些更有趣的发展和变化也会被勾勒出来,读者可以参考该主题的标准文献来获得更多细节。
第一章的题目是“如何使用计算机代数系统”。在这里,读者将被引导通过与MACSYMA系统的对话,获得替代性的实践经验。初学者最好遵循作者的建议,尽可能在本地系统上复制会话。所选的例子很有趣,尽管对某些人来说可能有点“纯粹的数学”。总的来说,本章对代数系统的能力有了很好的了解。
第二章讨论代数系统处理的各种数学量的表示。人们可能认为数据重复主要是一个计算机科学问题,但事实上,出现了一些关于唯一性的相当有趣的数学问题。除其他外,本章还讨论了计算gcd的非模方法(例如子结式算法)、代数量的处理、Risch结构定理和高斯消去的Bareiss方法。
第三章在“多项式简化”标题下讨论了两个主要主题。首先,对用于多项式环计算的Buchberger的Gröbner基方法有一个简明但很好的解释。其次,还介绍了如何使用柱面分解来获得多项式方程实根的近似值。
第4章以“高级算法”为题,首先讨论模块化方法,尤其是模块化gcd。接下来对Berlekamp因式分解方法进行了简单的处理,以及Hensel引理的线性和二次变种。此外,还有一小段关于多项式在几个变量中的因式分解。总的来说,这本书保持了较高的标准,但不寻常的是,模块gcd的处理受到了一些拼写错误的影响,亨塞尔引理的解释在某些地方可能会更清楚。
最后一章的主要部分是关于符号积分和一些常微分方程形式解的相关主题。这些构成了本书的“高潮”。特别是在这里,读者被引导到当前研究的边界。第五章的最后一部分是关于微分方程解的渐近展开式。我发现这个话题的处理过于简单,不可能完全成功。那些已经熟悉渐近展开理论的人无疑会对实现的细节感兴趣,但初学者需要更全面的处理,这一重要主题当然值得一提。
这本书还包括一个附录和一个附件。前者题为“代数背景”。参考它是有用的,但对于那些背景尚未包括对其大部分内容相当熟悉的人来说,这是不够的。附件包含REDUCE系统的说明。在这里,读者能够看到本书主要部分中描述的一些算法是如何在实际系统中使用的。
书目很好,虽然我有两条小鲤鱼。正文中提到的一两篇文章没有出现在参考书目中。此外,在正文中加入一两篇“标准”数学著作,并适当引用它们,将使主要专业不是数学的人更容易接触到这本书。
我对这本书的几点小小的吹毛求疵并不重要。它很好地介绍了计算机代数。就我所知,在写作时,它仍然是关于这一主题的唯一通用教科书,真的很幸运,它是如此好的一本。
审核人:J.R.沙克尔

MSC公司:

68瓦30 符号计算和代数计算
68-01 与计算机科学相关的介绍性说明(教科书、教程论文等)
PDF格式BibTeX公司 XML格式引用