<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=CG-Verfahren</id>
	<title>CG-Verfahren - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=CG-Verfahren"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=CG-Verfahren&amp;action=history"/>
	<updated>2026-06-11T13:56:09Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=CG-Verfahren&amp;diff=370032&amp;oldid=prev</id>
		<title>imported&gt;ConGreif: /* Erweiterung auf unsymmetrische Matrizen */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=CG-Verfahren&amp;diff=370032&amp;oldid=prev"/>
		<updated>2026-04-30T10:33:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Erweiterung auf unsymmetrische Matrizen&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Datei:Conjugate gradient illustration.svg|mini|Ein Vergleich des einfachen [[Gradientenverfahren]] mit optimaler Schrittlänge (in grün) mit dem CG-Verfahren (in rot) für die Minimierung der quadratischen Form eines gegebenen linearen Gleichungssystems. CG konvergiert nach 2 Schritten (die Größe der Systemmatrix ist &amp;#039;&amp;#039;m&amp;#039;&amp;#039;=2).]]&lt;br /&gt;
Das &amp;#039;&amp;#039;&amp;#039;CG-Verfahren&amp;#039;&amp;#039;&amp;#039; (von engl. &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039;onjugate &amp;#039;&amp;#039;&amp;#039;g&amp;#039;&amp;#039;&amp;#039;radients oder auch &amp;#039;&amp;#039;&amp;#039;Verfahren der konjugierten Gradienten&amp;#039;&amp;#039;&amp;#039;) ist eine effiziente [[Numerik|numerische]] Methode zur Lösung von großen [[Lineares Gleichungssystem|linearen Gleichungssystemen]] der Form &amp;lt;math&amp;gt;Ax=b&amp;lt;/math&amp;gt; mit [[Symmetrische Matrix|symmetrischer]], [[Definitheit|positiv semidefiniter]] Systemmatrix &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Das Verfahren liefert, in exakter Arithmetik, nach spätestens &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; Schritten die exakte Lösung, wobei &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; die Größe der quadratischen Matrix &amp;lt;math&amp;gt;A\in\R^{m\times m}&amp;lt;/math&amp;gt; ist. In der Praxis hat es sich allerdings für große Probleme als [[iteratives Verfahren]] etabliert, denn meist reichen wenige Iterationen aus für eine gute Annäherung. &lt;br /&gt;
Das CG-Verfahren ist der prominenteste Vertreter der Klasse der [[Krylow-Unterraum-Verfahren]].&lt;br /&gt;
&lt;br /&gt;
Es wurde zuerst 1952 von [[Eduard Stiefel]] und [[Magnus Hestenes]] vorgeschlagen.&amp;lt;ref&amp;gt;M. R. Hestenes, E. Stiefel: &amp;#039;&amp;#039;Methods of conjugate gradients for solving linear systems.&amp;#039;&amp;#039; In: &amp;#039;&amp;#039;Journal of Research of the National Bureau of Standards.&amp;#039;&amp;#039; Bd. 49, 1952, S.&amp;amp;nbsp;409–436. [[doi:10.6028/jres.049.044]]&amp;lt;/ref&amp;gt; Ein für bestimmte Gleichungssysteme äquivalentes Verfahren schlug auch [[Cornelius Lanczos]] Anfang der 1950er Jahre mit dem [[Lanczos-Verfahren]] vor.&lt;br /&gt;
&lt;br /&gt;
== Idee des CG-Verfahrens ==&lt;br /&gt;
Die Idee des CG-Verfahrens besteht darin, dass für symmetrisches und positiv definites &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; das Minimieren der [[Quadratische Form|quadratischen Form]]&lt;br /&gt;
:&amp;lt;math&amp;gt;E(x):=\frac12\langle Ax,x\rangle - \langle b,x\rangle&amp;lt;/math&amp;gt;&lt;br /&gt;
äquivalent zum Lösen von &amp;lt;math&amp;gt;Ax=b&amp;lt;/math&amp;gt; ist. Hierbei bezeichnet &amp;lt;math&amp;gt;\langle \cdot,\cdot \rangle&amp;lt;/math&amp;gt; das [[Standardskalarprodukt]].&lt;br /&gt;
&lt;br /&gt;
Der [[Gradient (Mathematik)|Gradient]] von &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; an der Stelle &amp;lt;math&amp;gt;x_k&amp;lt;/math&amp;gt; ist gerade &amp;lt;math&amp;gt;\left. \nabla E\right|_{x_k}=Ax_k-b=-r_k&amp;lt;/math&amp;gt; und somit bei großen, [[Dünnbesetzte Matrix|dünn besetzten Matrizen]] schnell zu berechnen. Die Idee des CG-Verfahrens ist es nun, anstelle in Richtung des [[Residuum (Numerische Mathematik)|Residuums]] &amp;lt;math&amp;gt;r_k&amp;lt;/math&amp;gt; wie beim [[Gradientenverfahren]] in eine andere Richtung &amp;lt;math&amp;gt;d_k&amp;lt;/math&amp;gt; die Funktion &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; über einen Unterraum zu minimieren. Die Richtungen &amp;lt;math&amp;gt;d_k&amp;lt;/math&amp;gt; sind dabei alle &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;-[[Konjugierte Richtungen|konjugiert]], das heißt, es gilt&lt;br /&gt;
:&amp;lt;math&amp;gt;\langle Ad_i,d_j\rangle=0\qquad\forall i\neq j&amp;lt;/math&amp;gt;.&lt;br /&gt;
Die Iterierten &amp;lt;math&amp;gt;x_k&amp;lt;/math&amp;gt; des CG-Verfahrens werden dann so gewählt, dass sie das Minimum von &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; in dem [[Affiner Raum|affinen Raum]] &amp;lt;math&amp;gt;V_k&amp;lt;/math&amp;gt;, der durch die Vektoren &amp;lt;math&amp;gt;d_0,\ldots,d_k&amp;lt;/math&amp;gt; aufgespannt und um &amp;lt;math&amp;gt;x_0&amp;lt;/math&amp;gt; verschoben wird, bilden:&lt;br /&gt;
:&amp;lt;math&amp;gt;V_k:=x_0+\operatorname{span}\{d_0,\ldots,d_{k-1}\}.&amp;lt;/math&amp;gt;&lt;br /&gt;
Es lässt sich zeigen, dass ebenfalls gilt:&lt;br /&gt;
:&amp;lt;math&amp;gt;V_k = x_0+\operatorname{span}\{r_0, Ar_0\ldots,A^{k-1}r_0\}.&amp;lt;/math&amp;gt;&lt;br /&gt;
Der letzte Teil zeigt, dass die Suchrichtungen den [[Krylowraum]] zu &amp;#039;&amp;#039;A&amp;#039;&amp;#039; und &amp;lt;math&amp;gt;r_0&amp;lt;/math&amp;gt; aufspannen. Das CG-Verfahren lässt sich deswegen alternativ direkt als Krylow-Unterraum-Verfahren definieren.&lt;br /&gt;
&lt;br /&gt;
Da die Vektoren &amp;lt;math&amp;gt;d_k&amp;lt;/math&amp;gt; alle &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;-konjugiert sind, ist die [[Dimension (Mathematik)|Dimension]] von &amp;lt;math&amp;gt;V_k&amp;lt;/math&amp;gt; gerade &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, falls die Vektoren  &amp;lt;math&amp;gt;d_k\neq 0&amp;lt;/math&amp;gt; sind. Man kann zeigen, dass &amp;lt;math&amp;gt;r_k= 0&amp;lt;/math&amp;gt; ist, wenn &amp;lt;math&amp;gt;d_k= 0&amp;lt;/math&amp;gt; ist. Ist also &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; eine &amp;lt;math&amp;gt;m\times m&amp;lt;/math&amp;gt;-Matrix, so terminiert das Verfahren nach spätestens &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; Schritten, falls exakt gerechnet wird. Numerische Fehler können durch weitere Iterationen eliminiert werden. Hierzu betrachtet man den Gradienten &amp;lt;math&amp;gt;r_k&amp;lt;/math&amp;gt;, der das Residuum angibt. Unterschreitet die [[Norm (Mathematik)|Norm]] dieses Residuums einen gewissen Schwellenwert, wird das Verfahren abgebrochen.&lt;br /&gt;
&lt;br /&gt;
Das Verfahren baut sukzessive eine &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;-orthogonale Basis für den &amp;lt;math&amp;gt;\mathbb R^m&amp;lt;/math&amp;gt; auf und minimiert in die jeweilige Richtung bestmöglich.&lt;br /&gt;
&lt;br /&gt;
Das Problem bei dem iterativen Verfahren ist das Finden der optimalen Schrittweite. Um die Güte eines Punktes zu bestimmen, ist jeweils eine vollständige [[Matrixmultiplikation]] notwendig, welche nebenbei gleich einen neuen Gradienten liefert. Ist die Schrittweite entlang eines vorgegebenen Gradienten zu ungenau, entspricht die Methode eher einem einfachen [[Bergsteigeralgorithmus]].&lt;br /&gt;
&lt;br /&gt;
== CG-Verfahren ohne Vorkonditionierung ==&lt;br /&gt;
&lt;br /&gt;
Zunächst wählt man ein &amp;lt;math&amp;gt;x_0 \in \mathbb{R}^m&amp;lt;/math&amp;gt; beliebig und berechnet:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;r_0 = b - A x_0&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;d_0 = r_0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für &amp;lt;math&amp;gt;k = 0,1,...&amp;lt;/math&amp;gt; führt man aus:&lt;br /&gt;
* Speichere [[Matrix-Vektor-Produkt]], um es nur einmal auszurechnen&lt;br /&gt;
::&amp;lt;math&amp;gt;\begin{align}&lt;br /&gt;
z&amp;amp;=Ad_k&lt;br /&gt;
\end{align}&amp;lt;/math&amp;gt;&lt;br /&gt;
* Finde von &amp;lt;math&amp;gt;x_k&amp;lt;/math&amp;gt; in Richtung &amp;lt;math&amp;gt;d_k&amp;lt;/math&amp;gt; den Ort &amp;lt;math&amp;gt;x_{k+1}&amp;lt;/math&amp;gt; des Minimums der Funktion &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; und aktualisiere den Gradienten bzw. das Residuum&lt;br /&gt;
::&amp;lt;math&amp;gt;\begin{align}&lt;br /&gt;
\alpha_k \;&amp;amp;=\; \frac{r_k^T r_k} {d_k^T\,z},  \\[.2em]&lt;br /&gt;
x_{k+1}  \;&amp;amp;=\; x_k+\alpha_k d_k,                  \\[.4em]&lt;br /&gt;
r_{k+1}  \;&amp;amp;=\; r_k-\alpha_k z&lt;br /&gt;
\end{align}&amp;lt;/math&amp;gt;&lt;br /&gt;
* Korrigiere die Suchrichtung &amp;lt;math&amp;gt;d_{k+1}&amp;lt;/math&amp;gt; mit Hilfe von &amp;lt;math&amp;gt;d_k&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;r_{k+1}&amp;lt;/math&amp;gt;&lt;br /&gt;
::&amp;lt;math&amp;gt;\begin{align}&lt;br /&gt;
\beta_k \;&amp;amp;=\; \frac{r_{k+1}^T r_{k+1}}{r_k^T r_k}, \\[.2em]&lt;br /&gt;
d_{k+1} \;&amp;amp;=\; r_{k+1}+\beta_k d_k,&lt;br /&gt;
\end{align}&amp;lt;/math&amp;gt;&lt;br /&gt;
bis das Residuum in der A-Norm kleiner als eine Toleranz ist (&amp;lt;math&amp;gt;\|r_{k+1}\| _A&amp;lt;\text{tol}&amp;lt;/math&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
=== Varianten ===&lt;br /&gt;
Es existieren verschiedene Varianten des Verfahrens, neben der ersten von [[Roger Fletcher (Mathematiker)|Roger Fletcher]] und [[Colin Reeves]] z.&amp;amp;nbsp;B. von [[Magnus Hestenes]] und [[Eduard Stiefel]], von [[William Davidon]], Fletcher und [[Michael J. D. Powell]] oder von Elijah Polak und Gerard Ribière. Diese sind für quadratische Formen (wie oben definiert) identisch, da die weiteren Terme aufgrund der Orthogonalität der Residuen verschwinden. Verwendet man das CG-Verfahren aber, um eine durch eine quadratische Form angenäherte Funktion zu minimieren, so zeigen diese Varianten oft besseres Konvergenzverhalten als die ursprüngliche Formulierung von Fletcher und Reeves.&lt;br /&gt;
* &amp;lt;math&amp;gt;\beta_{k} = \frac{r_{k+1}^T r_{k+1}}{r_k^T r_k}&amp;lt;/math&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp; (Fletcher-Reeves)&lt;br /&gt;
* &amp;lt;math&amp;gt;\beta_{k} = \frac{r_{k+1}^T (r_{k+1}-r_k)}{r_k^T r_k}&amp;lt;/math&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp; (Polak-Ribière)&lt;br /&gt;
* &amp;lt;math&amp;gt;\beta_{k} = \frac{r_{k+1}^T (r_{k+1}-r_k)}{d_k^T (r_{k+1}-r_k)}&amp;lt;/math&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp; (Hestenes-Stiefel)&lt;br /&gt;
&lt;br /&gt;
== CG-Verfahren mit symmetrischer Vorkonditionierung (PCG-Verfahren) ==&lt;br /&gt;
&lt;br /&gt;
Die Konvergenz des CG-Verfahrens ist nur bei symmetrischen positiv definiten Matrizen gesichert. Dies muss ein [[Vorkonditionierung|Vorkonditionierer]] berücksichtigen. Bei einer symmetrischen Vorkonditionierung wird das Gleichungssystem &amp;lt;math&amp;gt;Ax=b&amp;lt;/math&amp;gt; mit Hilfe einer Vorkonditionierer-Matrix &amp;lt;math&amp;gt;C=KK^T\approx A^{-1}&amp;lt;/math&amp;gt; zu &amp;lt;math&amp;gt;K^TAKy=K^Tb&amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt;y=K^{-1}x&amp;lt;/math&amp;gt; transformiert, und darauf das CG-Verfahren angewandt.&lt;br /&gt;
&lt;br /&gt;
Die Matrix &amp;lt;math&amp;gt;K^TAK&amp;lt;/math&amp;gt; ist symmetrisch, da &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; symmetrisch ist. Sie ist ferner positiv definit, da nach dem [[Trägheitssatz von Sylvester]] &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;K^TAK&amp;lt;/math&amp;gt; die gleichen Anzahlen positiver und negativer [[Eigenwert]]e besitzen.&lt;br /&gt;
&lt;br /&gt;
Das resultierende Verfahren ist das sogenannte PCG-Verfahren (von engl. &amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039;reconditioned &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039;onjugate &amp;#039;&amp;#039;&amp;#039;G&amp;#039;&amp;#039;&amp;#039;radient):&lt;br /&gt;
&lt;br /&gt;
Zunächst wählt man ein &amp;lt;math&amp;gt;x_0 \in \mathbb{R}^m&amp;lt;/math&amp;gt; beliebig und berechnet:&lt;br /&gt;
:&amp;lt;math&amp;gt;r_0 = b - A x_0&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;h_0 = C r_0&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;d_0 = h_0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für &amp;lt;math&amp;gt;k = 0,1,\dotsc&amp;lt;/math&amp;gt; setzt man:&lt;br /&gt;
* Speichere Matrix-Vektor-Produkt, um es nur einmal auszurechnen&lt;br /&gt;
::&amp;lt;math&amp;gt;z=Ad_k&amp;lt;/math&amp;gt;&lt;br /&gt;
* Finde von &amp;lt;math&amp;gt;x_k&amp;lt;/math&amp;gt; in Richtung &amp;lt;math&amp;gt;d_k&amp;lt;/math&amp;gt; das Minimum &amp;lt;math&amp;gt;x_{k+1}&amp;lt;/math&amp;gt; und aktualisiere Gradienten und vorkonditionierten Gradienten&lt;br /&gt;
::&amp;lt;math&amp;gt;\alpha_k=\frac{r_k^T h_k}{d_k^T z}&amp;lt;/math&amp;gt;&lt;br /&gt;
::&amp;lt;math&amp;gt;x_{k+1}=x_k+\alpha_k d_k&amp;lt;/math&amp;gt;&lt;br /&gt;
::&amp;lt;math&amp;gt;r_{k+1}=r_k-\alpha_k z&amp;lt;/math&amp;gt; ([[Residuum (Numerische Mathematik)|Residuum]])&lt;br /&gt;
::&amp;lt;math&amp;gt;h_{k+1}=C r_{k+1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Korrigiere die Suchrichtung &amp;lt;math&amp;gt;d_{k+1}&amp;lt;/math&amp;gt;&lt;br /&gt;
::&amp;lt;math&amp;gt;\beta_k=\frac{r_{k+1}^T h_{k+1}}{r_k^T h_k}&amp;lt;/math&amp;gt;&lt;br /&gt;
::&amp;lt;math&amp;gt;d_{k+1}=h_{k+1}+\beta_k d_k&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bis das Residuum in der Norm kleiner als eine Toleranz ist (&amp;lt;math&amp;gt;\|r_{k+1}\|&amp;lt;\mbox{tol}&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
[[Datei:ICCG-CG-comparison.png|mini|Vergleich von ICCG mit CG anhand der 2D-[[Poisson-Gleichung]]]]&lt;br /&gt;
Ein häufiger Vorkonditionierer im Zusammenhang mit CG ist die [[unvollständige Cholesky-Zerlegung]]. Diese Kombination wird auch als ICCG bezeichnet und wurde in den 1970ern von Meijerink und [[Henk van der Vorst|van der Vorst]] eingeführt.&lt;br /&gt;
&lt;br /&gt;
Zwei weitere für das PCG-Verfahren zulässige Vorkonditionierer sind der [[Jacobi-Verfahren|Jacobi]]-Vorkonditionierer &amp;lt;math&amp;gt;C=D^{-1}&amp;lt;/math&amp;gt;, wobei &amp;lt;math&amp;gt;D&amp;lt;/math&amp;gt; die [[Hauptdiagonale]] von &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; ist, und der [[SSOR-Verfahren|SSOR]]-Vorkonditionierer&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
C=\left[&lt;br /&gt;
  \tfrac{1}{2-\omega}&lt;br /&gt;
  \left(\tfrac{1}{\omega}D+L\right)&lt;br /&gt;
  \left(\tfrac{1}{\omega}D\right)^{-1}&lt;br /&gt;
  \left(\tfrac{1}{\omega}D+L\right)^T&lt;br /&gt;
\right]^{-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
mit &amp;lt;math&amp;gt;\omega \in (0, \,2)&amp;lt;/math&amp;gt;, wobei &amp;lt;math&amp;gt;D&amp;lt;/math&amp;gt; die Hauptdiagonale und &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; die strikte untere Dreiecksmatrix von &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; ist.&lt;br /&gt;
&lt;br /&gt;
== Konvergenzrate des CG-Verfahrens ==&lt;br /&gt;
&lt;br /&gt;
Man kann zeigen, dass die Konvergenzgeschwindigkeit des CG-Verfahrens durch&lt;br /&gt;
:&amp;lt;math&amp;gt;\|x_k-x\|_A \le 2\left(\frac{\sqrt{\kappa(A)}-1}{\sqrt{\kappa(A)}+1}\right)^k\|x_{0}-x\|_A&amp;lt;/math&amp;gt;&lt;br /&gt;
beschrieben wird. Hierbei ist &amp;lt;math&amp;gt;\kappa(A)&amp;lt;/math&amp;gt; die [[Kondition (Mathematik)|Kondition]] der Matrix &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; bezüglich der [[Spektralnorm]], also der von der euklidischen Norm erzeugten Matrixnorm, sowie&lt;br /&gt;
&amp;lt;math&amp;gt;\|x\|_A = \sqrt{x^T A x}&amp;lt;/math&amp;gt; die Energienorm von &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. Der Ausdruck &amp;lt;math&amp;gt;\sqrt{\kappa(A)}-1&amp;lt;/math&amp;gt; ist nicht negativ, da die Konditionszahl (bzgl. einer von einer Vektornorm erzeugten Matrixnorm) einer Matrix immer größer oder gleich 1 ist. Da &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; symmetrisch und positiv definit ist, gilt&lt;br /&gt;
:&amp;lt;math&amp;gt;\kappa(A) = \frac{\lambda_\mathrm{max}(A)}{\lambda_\mathrm{min}(A)}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Aus der Minimierungseigenschaft lässt sich ferner herleiten, dass&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\frac{\|x_k-x^*\|_A}{\|x_0-x^*\|_A} \leq \max_{z \in \sigma(A)}|p_k(z)|&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
wobei &amp;lt;math&amp;gt;p_k(z)&amp;lt;/math&amp;gt; ein beliebiges [[Polynom]] vom Grad &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; ist mit &amp;lt;math&amp;gt;p_k(0)=1&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;x^*&amp;lt;/math&amp;gt; die Lösung. Mit &amp;lt;math&amp;gt;\sigma(A)&amp;lt;/math&amp;gt; ist das [[Spektrum (lineare Algebra)|Spektrum]], also die Menge der Eigenwerte der Matrix &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; gemeint. Daraus folgt, dass das CG-Verfahren ein System zu einer Matrix mit nur &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; verschiedenen Eigenwerten in &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; Schritten löst und dass das CG-Verfahren für Systeme, bei denen die Eigenwerte in wenigen kleinen Umgebungen konzentriert sind, sehr schnell konvergiert. Dies wiederum liefert einen Anhaltspunkt für sinnvolle Vorkonditionierer: Ein Vorkonditionierer ist dann gut, wenn er dafür sorgt, dass die Eigenwerte konzentriert werden.&lt;br /&gt;
&lt;br /&gt;
== Erweiterung auf unsymmetrische Matrizen ==&lt;br /&gt;
Ist die Systemmatrix &amp;#039;&amp;#039;A&amp;#039;&amp;#039; unsymmetrisch, aber [[Reguläre Matrix|regulär]], so kann das CG-Verfahren auf die [[Normalgleichungen]]&lt;br /&gt;
:&amp;lt;math&amp;gt;A^TAx = A^Tb&amp;lt;/math&amp;gt;&lt;br /&gt;
angewendet werden, da &amp;lt;math&amp;gt;A^TA&amp;lt;/math&amp;gt; für eine reguläre Matrix &amp;#039;&amp;#039;A&amp;#039;&amp;#039; symmetrisch und positiv definit ist. Dieses Verfahren nennt sich auch CGNR (von engl. &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039;onjugate &amp;#039;&amp;#039;&amp;#039;G&amp;#039;&amp;#039;&amp;#039;radients &amp;#039;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;#039;ormal &amp;#039;&amp;#039;&amp;#039;R&amp;#039;&amp;#039;&amp;#039;esidual), da bei diesem Vorgehen die Norm des Residuums von &amp;lt;math&amp;gt;b-Ax&amp;lt;/math&amp;gt; minimiert wird. Alternativ gibt es das Verfahren CGNE (von engl. &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039;onjugate &amp;#039;&amp;#039;&amp;#039;G&amp;#039;&amp;#039;&amp;#039;radient Method on the &amp;#039;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;#039;ormal &amp;#039;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;#039;quations), welches&lt;br /&gt;
:&amp;lt;math&amp;gt;AA^Ty=b&amp;lt;/math&amp;gt;&lt;br /&gt;
löst mit &amp;lt;math&amp;gt;x=A^Ty&amp;lt;/math&amp;gt;. Hierbei wird der Fehler minimiert.&lt;br /&gt;
&lt;br /&gt;
CGNR ist ein [[Krylow-Unterraum-Verfahren]] bezüglich &amp;lt;math&amp;gt;A^T A&amp;lt;/math&amp;gt;, nicht mehr bezüglich der Systemmatrix &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. Bei CGNE ist das ähnlich. &lt;br /&gt;
Beide Verfahren haben den Nachteil, dass zum einen &amp;lt;math&amp;gt;A^T&amp;lt;/math&amp;gt; zur Verfügung stehen muss, was nicht immer gegeben ist. Zum anderen wird bei den Normalgleichungen die Konditionszahl quadriert, was die Konvergenz typischerweise verlangsamt.&lt;br /&gt;
&lt;br /&gt;
=== Krylow-Unterraum-Verfahren für unsymmetrische Matrizen ===&lt;br /&gt;
Direkte Krylow-Unterraum-Verfahren für unsymmetrische Matrizen sind unter anderem [[BiCG-Verfahren|BiCG]] (von engl. &amp;#039;&amp;#039;&amp;#039;bic&amp;#039;&amp;#039;&amp;#039;onjugate &amp;#039;&amp;#039;&amp;#039;g&amp;#039;&amp;#039;&amp;#039;radients), [[CGS-Verfahren|CGS]] oder BiCGSTAB. BiCG verwendet gekoppelte Krylowräume zu &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;A^T&amp;lt;/math&amp;gt;; CGS ist daraus abgeleitet aber vermeidet den expliziten Zugriff auf &amp;lt;math&amp;gt;A^T&amp;lt;/math&amp;gt;, während BiCGSTAB eine stabilisierte Variante dieser Verfahrensfamilie ist.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* C. T. Kelley: &amp;#039;&amp;#039;Iterative Methods for Linear and Nonlinear Equations.&amp;#039;&amp;#039; SIAM, ISBN 0-89871-352-8. [https://archive.siam.org/books/textbooks/fr16_book.pdf (PDF]; 783 kB)&lt;br /&gt;
* P. Knabner, L. Angermann: &amp;#039;&amp;#039;Numerik partieller Differentialgleichungen.&amp;#039;&amp;#039; Springer, ISBN 3-540-66231-6.&lt;br /&gt;
* A. Meister: &amp;#039;&amp;#039;Numerik linearer Gleichungssysteme.&amp;#039;&amp;#039; Vieweg, 1999, ISBN 3-528-03135-2.&lt;br /&gt;
* H. William, Saul A. Teukolsky: &amp;#039;&amp;#039;Numerical Recipes in C++.&amp;#039;&amp;#039; Cambridge University Press, 2002, ISBN 0-521-75033-4.&lt;br /&gt;
* J. R. Shewchuck: [https://www.cs.cmu.edu/~quake-papers/painless-conjugate-gradient.pdf &amp;#039;&amp;#039;An Introduction to the Conjugate Gradient Method Without the Agonizing Pain.&amp;#039;&amp;#039;] (PDF; 503 kB).&lt;br /&gt;
* [[Eduard Stiefel]]: &amp;#039;&amp;#039;Über einige Methoden der Relaxationsrechnung.&amp;#039;&amp;#039; In: &amp;#039;&amp;#039;Zeitschrift für angewandte Mathematik und Physik.&amp;#039;&amp;#039; Band 3, Nr. 1, 1952, S. 1–33.&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{SORTIERUNG:Cgverfahren}}&lt;br /&gt;
[[Kategorie:Numerische lineare Algebra]]&lt;br /&gt;
[[Kategorie:Optimierungsalgorithmus]]&lt;/div&gt;</summary>
		<author><name>imported&gt;ConGreif</name></author>
	</entry>
</feed>