-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnode13.html
123 lines (114 loc) · 7.69 KB
/
node13.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<!DOCTYPE html>
<!--Converted with LaTeX2HTML 99.2beta6 (1.42)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<html>
<head>
<title>为什么是特征值模板?</title>
<meta charset="utf-8">
<meta name="description" content="为什么是特征值模板?">
<meta name="keywords" content="book, math, eigenvalue, eigenvector, linear algebra, sparse matrix">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous">
<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js" integrity="sha384-7zkQWkzuo3B5mTepMUcHkMB5jZaolc2xDwL6VFqjFALcbeS9Ggm/Yr2r3Dy4lfFg" crossorigin="anonymous"></script>
<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk" crossorigin="anonymous"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
var math_displays = document.getElementsByClassName("math-display");
for (var i = 0; i < math_displays.length; i++) {
katex.render(math_displays[i].textContent, math_displays[i], { displayMode: true, throwOnError: false });
}
var math_inlines = document.getElementsByClassName("math-inline");
for (var i = 0; i < math_inlines.length; i++) {
katex.render(math_inlines[i].textContent, math_inlines[i], { displayMode: false, throwOnError: false });
}
});
</script>
<style>
.navigate {
background-color: #ffffff;
border: 1px solid black;
color: black;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 18px;
margin: 4px 2px;
cursor: pointer;
border-radius: 4px;
}
.crossref {
width: 10pt;
height: 10pt;
border: 1px solid black;
padding: 0;
}
</style>
</head>
<body>
<!--Navigation Panel-->
<a name="tex2html854" href="node14.html">
<button class="navigate">下一节</button></a>
<a name="tex2html848" href="node12.html">
<button class="navigate">上一级</button></a>
<a name="tex2html842" href="node12.html">
<button class="navigate">上一节</button></a>
<a name="tex2html850" href="node5.html">
<button class="navigate">目录</button></a>
<a name="tex2html852" href="node422.html">
<button class="navigate">索引</button></a>
<br>
<b>下一节:</b><a name="tex2html855" href="node14.html">目标读者群</a>
<b>上一级:</b><a name="tex2html849" href="node12.html">引言</a>
<b>上一节:</b><a name="tex2html843" href="node12.html">引言</a>
<br>
<br>
<!--End of Navigation Panel-->
<h1>
<a name="SECTION001010000000000000000"></a><a name="sec:whyeigtemp"></a>
为什么是特征值模板?
</h1>
<p>
在很多大规模科学或工程计算中,包括从计算电路频率响应到建筑的地震响应,再到分子的能级,都需要求解矩阵的特征值和特征向量。特征值问题有多种数学表述方式,且有非常多的数值求解方法。本书旨在指导读者为特征值问题找到最合适的数值方法。
<p>
目前,针对许多特征值问题,尤其是中小规模稠密矩阵,已存在优秀的方法。这些算法已在MATLAB[<a href="node421.html#matlab">319</a>] <sup><a href="#footnote-matlab">1</a></sup>、LAPACK[<a href="node421.html#lapack">12</a>]等编程环境和库以及其他商业和公共软件包中得到应用。然而,对于超大规模特别是稀疏矩阵的特征值问题,目前并没有单一的最佳方法。众多方法及其对矩阵数学特性的复杂依赖,还有在效率和精度间的权衡,使得专家乃至普通用户都难以找到最适合特定问题的方法。虽然GAMS(可用数学软件指南)<sup><a href="#footnote-gams">2</a></sup> 和NETLIB <sup><a href="#footnote-netlib">3</a></sup> 等优秀在线搜索设施和软件库存在,允许基于库名、子程序名、关键词及数值计算主题分类进行搜索,但它们无法针对特定问题给出最佳方法的建议。因此,本书作者和其他专家常被咨询如何选择算法。这一现状促使我们将知识提炼成书,尽可能广泛传播。
<p>
本书结构如下:首先,我们构建了一个<em>决策树</em>,能够引导用户找到最佳方法。树的每个节点针对问题的数学结构、待计算量及矩阵运算成本提出问题。其次,在决策树的叶节点,我们展示了推荐的算法<em>模板</em>,并提供相关软件指引。模板是对算法的高层次描述,便于理解其工作原理、用户可调整的参数以控制效率和精度,以及如何解读输出。我们将在下文详细讨论这一结构。
<p>
本书源于《线性系统求解模板:迭代方法构建模块》(<it>Templates for the Solution of Linear
Systems: Building Blocks for Iterative Methods</it>)[<a href="node421.html#temp94">41</a>]。该早期书籍(部分作者与本书相同)为线性系统这一更简单问题提供了决策树和迭代方法模板。特征值问题本质上比线性系统更复杂,这意味着我们的理解程度因具体问题而异。此外,算法也更为复杂。因此,与早期的《模板》书不同,我们未尝试以统一风格和编程语言提供每个模板的完整实现,而是提供高层次模板,并指向可用语言中的优秀公共域实现。所有这些实现均可通过我们称为ETHOME的网站访问,指向<a href="http://www.netlib.org/etemplates/">http://www.netlib.org/etemplates/</a>。该网站将随新算法的发展而更新。(译者注:然而并没有?)
<p>
本书涵盖的特征值问题种类繁多。一些算法广为人知且经过充分研究,而其他领域仍处于加强研究中。这使得对于不同的问题,我们的叙述风格有所不同。对于有良好“黑盒”解决方案的已知领域,我们会保持简洁,主要面向非专家读者;而另一边,我们会综述一些当前的研究成果。
<p>
在大多数章节中,我们明确列出了贡献作者。这不仅是为了表彰,也体现了对文本的个人责任。所有章节都提供了足够的参考资料,作为通往特征值问题更丰富细节和专业知识的窗口。
<p>
<hr>
<ol>
<li id="footnote-matlab">MATLAB是MathWorks公司的商标。</li>
<li id="footnote-gams"><a href="http://gams.nist.gov/">http://gams.nist.gov/</a>,由NIST (National Institute of Standards and Technology)开发。</li>
<li id="footnote-netlib"><a href="http://www.netlib.org/">http://www.netlib.org/</a>,由Oak Ridge National Laboratory维护。</li>
</ol>
<hr>
<!--Navigation Panel-->
<a name="tex2html854" href="node14.html">
<button class="navigate">下一节</button></a>
<a name="tex2html848" href="node12.html">
<button class="navigate">上一级</button></a>
<a name="tex2html842" href="node12.html">
<button class="navigate">上一节</button></a>
<a name="tex2html850" href="node5.html">
<button class="navigate">目录</button></a>
<a name="tex2html852" href="node422.html">
<button class="navigate">索引</button></a>
<br>
<b>下一节:</b><a name="tex2html855" href="node14.html">目标读者群</a>
<b>上一级:</b><a name="tex2html849" href="node12.html">引言</a>
<b>上一节:</b><a name="tex2html843" href="node12.html">引言</a>
<!--End of Navigation Panel-->
<address>
Susan Blackford
2000-11-20
</address>
</body>
</html>