下一节:目标读者群 上一级:引言 上一节:引言

为什么是特征值模板?

在很多大规模科学或工程计算中,包括从计算电路频率响应到建筑的地震响应,再到分子的能级,都需要求解矩阵的特征值和特征向量。特征值问题有多种数学表述方式,且有非常多的数值求解方法。本书旨在指导读者为特征值问题找到最合适的数值方法。

目前,针对许多特征值问题,尤其是中小规模稠密矩阵,已存在优秀的方法。这些算法已在MATLAB[319] 1、LAPACK[12]等编程环境和库以及其他商业和公共软件包中得到应用。然而,对于超大规模特别是稀疏矩阵的特征值问题,目前并没有单一的最佳方法。众多方法及其对矩阵数学特性的复杂依赖,还有在效率和精度间的权衡,使得专家乃至普通用户都难以找到最适合特定问题的方法。虽然GAMS(可用数学软件指南)2 和NETLIB 3 等优秀在线搜索设施和软件库存在,允许基于库名、子程序名、关键词及数值计算主题分类进行搜索,但它们无法针对特定问题给出最佳方法的建议。因此,本书作者和其他专家常被咨询如何选择算法。这一现状促使我们将知识提炼成书,尽可能广泛传播。

本书结构如下:首先,我们构建了一个决策树,能够引导用户找到最佳方法。树的每个节点针对问题的数学结构、待计算量及矩阵运算成本提出问题。其次,在决策树的叶节点,我们展示了推荐的算法模板,并提供相关软件指引。模板是对算法的高层次描述,便于理解其工作原理、用户可调整的参数以控制效率和精度,以及如何解读输出。我们将在下文详细讨论这一结构。

本书源于《线性系统求解模板:迭代方法构建模块》(Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods)[41]。该早期书籍(部分作者与本书相同)为线性系统这一更简单问题提供了决策树和迭代方法模板。特征值问题本质上比线性系统更复杂,这意味着我们的理解程度因具体问题而异。此外,算法也更为复杂。因此,与早期的《模板》书不同,我们未尝试以统一风格和编程语言提供每个模板的完整实现,而是提供高层次模板,并指向可用语言中的优秀公共域实现。所有这些实现均可通过我们称为ETHOME的网站访问,指向http://www.netlib.org/etemplates/。该网站将随新算法的发展而更新。(译者注:然而并没有?)

本书涵盖的特征值问题种类繁多。一些算法广为人知且经过充分研究,而其他领域仍处于加强研究中。这使得对于不同的问题,我们的叙述风格有所不同。对于有良好“黑盒”解决方案的已知领域,我们会保持简洁,主要面向非专家读者;而另一边,我们会综述一些当前的研究成果。

在大多数章节中,我们明确列出了贡献作者。这不仅是为了表彰,也体现了对文本的个人责任。所有章节都提供了足够的参考资料,作为通往特征值问题更丰富细节和专业知识的窗口。


  1. MATLAB是MathWorks公司的商标。
  2. http://gams.nist.gov/,由NIST (National Institute of Standards and Technology)开发。
  3. http://www.netlib.org/,由Oak Ridge National Laboratory维护。


下一节:目标读者群 上一级:引言 上一节:引言
Susan Blackford 2000-11-20