You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<h1><spanclass="section-number">6. </span>Iterative Krylov methods for <spanclass="math notranslate nohighlight">\(Ax=b\)</span><aclass="headerlink" href="#iterative-krylov-methods-for-ax-b" title="Permalink to this headline">¶</a></h1>
50
+
<h1><spanclass="section-number">6. </span>Iterative Krylov methods for <spanclass="math notranslate nohighlight">\(Ax=b\)</span><aclass="headerlink" href="#iterative-krylov-methods-for-ax-b" title="Link to this heading">¶</a></h1>
matrix-vector multiplication in some way; this is called a
73
72
“matrix-free” implementation.</p>
74
73
<sectionid="krylov-subspace-methods">
75
-
<h2><spanclass="section-number">6.1. </span>Krylov subspace methods<aclass="headerlink" href="#krylov-subspace-methods" title="Permalink to this headline">¶</a></h2>
74
+
<h2><spanclass="section-number">6.1. </span>Krylov subspace methods<aclass="headerlink" href="#krylov-subspace-methods" title="Link to this heading">¶</a></h2>
<h2><spanclass="section-number">6.2. </span>Arnoldi iteration<aclass="headerlink" href="#arnoldi-iteration" title="Permalink to this headline">¶</a></h2>
95
+
<h2><spanclass="section-number">6.2. </span>Arnoldi iteration<aclass="headerlink" href="#arnoldi-iteration" title="Link to this heading">¶</a></h2>
97
96
<p>The key to Krylov subspace methods turns out to be the transformation
98
97
of <spanclass="math notranslate nohighlight">\(A\)</span> to an upper Hessenberg matrix by orthogonal similarity
99
98
transforms, so that <spanclass="math notranslate nohighlight">\(A=QHQ^*\)</span>. We have already looked at using
<h2><spanclass="section-number">6.4. </span>Convergence of GMRES<aclass="headerlink" href="#convergence-of-gmres" title="Permalink to this headline">¶</a></h2>
306
+
<h2><spanclass="section-number">6.4. </span>Convergence of GMRES<aclass="headerlink" href="#convergence-of-gmres" title="Link to this heading">¶</a></h2>
@@ -388,8 +387,8 @@ <h2><span class="section-number">6.4. </span>Convergence of GMRES<a class="heade
388
387
What do you observe? What is it about the three matrices that
389
388
causes this different behaviour?</p>
390
389
</div></div></section>
391
-
<sectionid="preconditioning">
392
-
<h2><spanclass="section-number">6.5. </span>Preconditioning<aclass="headerlink" href="#preconditioning" title="Permalink to this headline">¶</a></h2>
390
+
<sectionid="preconditioned-gmres">
391
+
<h2><spanclass="section-number">6.5. </span>Preconditioned GMRES<aclass="headerlink" href="#preconditioned-gmres" title="Link to this heading">¶</a></h2>
over the last 30 years. Typically, the matrices that we want to solve
399
398
do not have eigenvalues clustered in a small number of groups, and so
400
399
GMRES is slow. The solution (and the challenge) is to find a matrix
401
-
<spanclass="math notranslate nohighlight">\(M\)</span> such that <spanclass="math notranslate nohighlight">\(Mx = y\)</span> is cheap to solve (diagonal, or triangular, or
402
-
something else) and such that <spanclass="math notranslate nohighlight">\(M^{-1}A\)</span><em>does</em> have eigenvalues clustered
403
-
in a small number of groups (e.g. <spanclass="math notranslate nohighlight">\(M\)</span> is a good approximation of <spanclass="math notranslate nohighlight">\(A\)</span>, so
404
-
that <spanclass="math notranslate nohighlight">\(M^{-1}A\approx I\)</span> which has eigenvalues all equal to 1). We call
405
-
<spanclass="math notranslate nohighlight">\(M\)</span> the preconditioning matrix, and the idea is to apply GMRES to
400
+
<spanclass="math notranslate nohighlight">\(\hat{A}\)</span> such that <spanclass="math notranslate nohighlight">\(\hat{A}x = y\)</span> is cheap to solve (diagonal, or triangular, or
401
+
something else) and such that <spanclass="math notranslate nohighlight">\(\hat{A}^{-1}A\)</span><em>does</em> have eigenvalues clustered
402
+
in a small number of groups (e.g. <spanclass="math notranslate nohighlight">\(\hat{A}\)</span> is a good approximation of <spanclass="math notranslate nohighlight">\(A\)</span>, so
403
+
that <spanclass="math notranslate nohighlight">\(\hat{A}^{-1}A\approx I\)</span> which has eigenvalues all equal to 1). We call
404
+
<spanclass="math notranslate nohighlight">\(\hat{A}\)</span> the preconditioning matrix, and the idea is to apply GMRES to
406
405
the (left) preconditioned system</p>
407
406
<blockquote>
408
407
<div><divclass="math notranslate nohighlight">
409
-
\[M^{-1}Ax = M^{-1}b.\]</div>
408
+
\[\hat{A}^{-1}Ax = \hat{A}^{-1}b.\]</div>
410
409
</div></blockquote>
411
410
<p>GMRES on this preconditioned system is equivalent to the following algorithm,
<p>Show that this algorithm is equivalent to GMRES applied to the
442
441
preconditioned system.</p>
443
-
</div></div><p>The art and science of finding preconditioning matrices <spanclass="math notranslate nohighlight">\(M\)</span> (or
444
-
matrix-free procedures for solving <spanclass="math notranslate nohighlight">\(Mx=y\)</span>) for specific problems
442
+
</div></div><p>The art and science of finding preconditioning matrices <spanclass="math notranslate nohighlight">\(\hat{A}\)</span> (or
443
+
matrix-free procedures for solving <spanclass="math notranslate nohighlight">\(\hat{A}x=y\)</span>) for specific problems
445
444
arising in data science, engineering, physics, biology etc. can
446
445
involve ideas from linear algebra, functional analysis, asymptotics,
447
446
physics, etc., and represents a major activity in scientific computing
448
447
today.</p>
449
448
</section>
449
+
<sectionid="knowing-when-to-stop">
450
+
<h2><spanclass="section-number">6.6. </span>Knowing when to stop<aclass="headerlink" href="#knowing-when-to-stop" title="Link to this heading">¶</a></h2>
451
+
<p>We should stop an iterative method when the error is sufficiently small.
452
+
But, we don’t have access the the exact solution, so we can’t compute the
which both tend to zero as <spanclass="math notranslate nohighlight">\({x}^k\to{x}^*\)</span> provided that <spanclass="math notranslate nohighlight">\(A\)</span> is
458
+
invertible.</p></li>
459
+
</ul>
460
+
<p>How do their sizes relate to the size of <spanclass="math notranslate nohighlight">\({e}^k={x}^k-{x}^*\)</span>?</p>
0 commit comments