<?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=Jacobi-Verfahren</id>
	<title>Jacobi-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=Jacobi-Verfahren"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Jacobi-Verfahren&amp;action=history"/>
	<updated>2026-06-23T03:37:28Z</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=Jacobi-Verfahren&amp;diff=326981&amp;oldid=prev</id>
		<title>imported&gt;ConGreif: /* Jacobi-Varianten in HPC-Bibliotheken */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Jacobi-Verfahren&amp;diff=326981&amp;oldid=prev"/>
		<updated>2026-04-30T10:27:40Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Jacobi-Varianten in HPC-Bibliotheken&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Dieser Artikel|behandelt das Verfahren zum Lösen linearer Gleichungssysteme. Für das gleichnamige Verfahren zur Eigenwertberechnung siehe [[Jacobi-Verfahren (Eigenwerte)]].}}&lt;br /&gt;
&lt;br /&gt;
In der [[numerische Mathematik|numerischen Mathematik]] ist das &amp;#039;&amp;#039;&amp;#039;Jacobi-Verfahren&amp;#039;&amp;#039;&amp;#039; (auch &amp;#039;&amp;#039;&amp;#039;Jacobi-Iteration&amp;#039;&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;&amp;#039;Gesamtschrittverfahren&amp;#039;&amp;#039;&amp;#039; genannt), ein [[Algorithmus]] zur näherungsweisen Lösung von [[Lineares Gleichungssystem|linearen Gleichungssystemen]]. Es ist, wie das [[Gauß-Seidel-Verfahren]] und das [[SOR-Verfahren]], ein stationäres [[Splitting-Verfahren]] (äquivalent: eine vorkonditionierte [[Richardson-Iteration]]). Benannt ist es nach [[Carl Gustav Jacob Jacobi]].&lt;br /&gt;
&lt;br /&gt;
Das Jacobi-Verfahren gehört zu den frühen iterativen Alternativen zu direkten Lösern wie [[Gaußsches Eliminationsverfahren|gaußsche Elimination]], welche zwar exakt sind jedoch für [[Rundungsfehler]] anfälliger. Bei iterativen Lösern hingegen wird die Lösung stabil schrittweise angenähert.&lt;br /&gt;
&lt;br /&gt;
== Beschreibung des Verfahrens ==&lt;br /&gt;
Gegeben ist ein lineares Gleichungssystem mit &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; Variablen und &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; Gleichungen.&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{matrix}&lt;br /&gt;
a_{11}\cdot x_1+\dotsb+a_{1n}\cdot x_n&amp;amp;=&amp;amp;b_1\\&lt;br /&gt;
a_{21}\cdot x_1+\dotsb+a_{2n}\cdot x_n&amp;amp;=&amp;amp;b_2\\&lt;br /&gt;
&amp;amp;\vdots&amp;amp;\\&lt;br /&gt;
a_{n1}\cdot x_1+\dotsb+a_{nn}\cdot x_n&amp;amp;=&amp;amp;b_n\\&lt;br /&gt;
\end{matrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem [[Matrix-Vektor-Produkt]] kann das [[Lineares Gleichungssystem|lineare Gleichungssystem]] auch als &amp;lt;math&amp;gt;A \cdot x = b&amp;lt;/math&amp;gt; geschrieben werden, wobei die [[Matrix (Mathematik)|Matrix]] &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; die [[Koeffizientenmatrix]], &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt; der Ergebnisvektor und &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; der gesuchte [[Vektor]] der Unbekannten &amp;lt;math&amp;gt;x_i&amp;lt;/math&amp;gt; ist. Die ausführliche Schreibweise als [[Matrix (Mathematik)|Matrix]] und Vektoren mit den einzelnen Elementen wird üblicherweise wie folgt notiert:&lt;br /&gt;
:&amp;lt;math&amp;gt;\begin{pmatrix}&lt;br /&gt;
a_{11} &amp;amp; a_{12} &amp;amp; \cdots &amp;amp; a_{1n}\\&lt;br /&gt;
a_{21} &amp;amp; a_{22} &amp;amp; \cdots &amp;amp; a_{2n}\\&lt;br /&gt;
\vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots\\&lt;br /&gt;
a_{n1} &amp;amp; a_{n2} &amp;amp; \cdots &amp;amp; a_{nn}\\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} x_1\\ x_2 \\ \vdots \\ x_n\end{pmatrix}&lt;br /&gt;
=&lt;br /&gt;
\begin{pmatrix} b_1\\ b_2 \\ \vdots \\ b_n\end{pmatrix}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um dieses zu lösen, wird die &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;-te Gleichung nach der &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;-ten Variablen &amp;lt;math&amp;gt;x_i&amp;lt;/math&amp;gt; aufgelöst,&lt;br /&gt;
:&amp;lt;math&amp;gt;x_i^{(m+1)}:=\frac1{a_{ii}}\left(b_i-\sum_{j\not=i} a_{ij}\cdot x_j^{(m)}\right), \, i=1,\dotsc,n&amp;lt;/math&amp;gt;&lt;br /&gt;
und diese Ersetzung, ausgehend von einem [[Startvektor]] &amp;lt;math&amp;gt;x^{(0)}&amp;lt;/math&amp;gt;, iterativ wiederholt. Als Bedingung für die Durchführbarkeit ergibt sich, dass die Diagonalelemente &amp;lt;math&amp;gt;a_{ii}&amp;lt;/math&amp;gt; von Null verschieden sein müssen. Da die Berechnung einer Komponente der nächsten Näherung unabhängig von den anderen Komponenten ist, ist das Verfahren, im Gegensatz zum [[Gauß-Seidel-Verfahren]], zur Nutzung auf [[Parallelrechner]]n geeignet.&lt;br /&gt;
&lt;br /&gt;
Als [[Algorithmus]] in [[Pseudocode]] ergibt sich:&lt;br /&gt;
 Gegeben Startvektor &amp;lt;math&amp;gt;x^\text{alt}&amp;lt;/math&amp;gt;&lt;br /&gt;
 für &amp;lt;math&amp;gt;m=1,\dotsc&amp;lt;/math&amp;gt; bis Erfüllung eines Abbruchkriteriums&lt;br /&gt;
   &amp;lt;math&amp;gt;x=b&amp;lt;/math&amp;gt;&lt;br /&gt;
   für &amp;lt;math&amp;gt;i=1&amp;lt;/math&amp;gt; bis &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;&lt;br /&gt;
        für &amp;lt;math&amp;gt;j=1&amp;lt;/math&amp;gt; bis &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;&lt;br /&gt;
          falls &amp;lt;math&amp;gt;j \not= i&amp;lt;/math&amp;gt;&lt;br /&gt;
             &amp;lt;math&amp;gt;x_i=x_i-a_{ij}x_j^\text{alt}&amp;lt;/math&amp;gt;;&lt;br /&gt;
        ende&lt;br /&gt;
        &amp;lt;math&amp;gt;x_i=x_i/a_{ii}&amp;lt;/math&amp;gt;;&lt;br /&gt;
   ende&lt;br /&gt;
   &amp;lt;math&amp;gt;x^\text{alt}=x;&amp;lt;/math&amp;gt;&lt;br /&gt;
 ende&lt;br /&gt;
&lt;br /&gt;
Dabei wurde die willkürliche Erstbelegung des Variablenvektors als Eingangsgrößen des Algorithmus angenommen, die Näherungslösung ist die vektorielle Rückgabegröße.&lt;br /&gt;
&lt;br /&gt;
Bei [[Dünnbesetzte Matrix|dünnbesetzten Matrizen]] reduziert sich der Aufwand des Verfahrens pro Iteration deutlich.&lt;br /&gt;
&lt;br /&gt;
=== Beschreibung in Matrixschreibweise ===&lt;br /&gt;
Die Matrix &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; des linearen Gleichungssystems &amp;lt;math&amp;gt;A \cdot x = b&amp;lt;/math&amp;gt; wird hierzu in eine [[Diagonalmatrix]] &amp;lt;math&amp;gt;D&amp;lt;/math&amp;gt;, eine strikte untere [[Dreiecksmatrix]] &amp;lt;math&amp;gt;L &amp;lt;/math&amp;gt; und eine strikte obere Dreiecksmatrix &amp;lt;math&amp;gt;U&amp;lt;/math&amp;gt; zerlegt, so dass gilt:&lt;br /&gt;
:&amp;lt;math&amp;gt;A = D + (L + U)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder in ausführlicher Schreibweise mit den einzelnen Elementen der [[Matrix (Mathematik)|Matrizen]] wie folgt:&lt;br /&gt;
:&amp;lt;math&amp;gt;\begin{pmatrix}&lt;br /&gt;
a_{11} &amp;amp; a_{12} &amp;amp; \cdots &amp;amp; a_{1n}\\&lt;br /&gt;
a_{21} &amp;amp; a_{22} &amp;amp; \cdots &amp;amp; a_{2n}\\&lt;br /&gt;
\vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots\\&lt;br /&gt;
a_{n1} &amp;amp; a_{n2} &amp;amp; \cdots &amp;amp; a_{nn}\\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
=&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
a_{11} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
0 &amp;amp; a_{22} &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
\vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots\\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; a_{nn}\\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
+&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; a_{12} &amp;amp; \cdots &amp;amp; a_{1n}\\&lt;br /&gt;
a_{21} &amp;amp; 0 &amp;amp; \cdots &amp;amp; a_{2n}\\&lt;br /&gt;
\vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots\\&lt;br /&gt;
a_{n1} &amp;amp; a_{n2} &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
\end{pmatrix}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die obige komponentenweise Iterationsvorschrift lässt sich dann folgendermaßen für den kompletten Vektor darstellen:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x^{(m+1)} = D^{-1} \left( b - \left(L + U\right) x^{(m)} \right)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Üblich zur Einbettung als [[Vorkonditionierung|Präkonditionierer]] in andere iterative Verfahren wie [[Krylow-Unterraum-Verfahren]] schreibt man den Präkonditionierer als Matrix &amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt;, wobei &amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt; eine Approximation an &amp;lt;math&amp;gt;A^{-1}&amp;lt;/math&amp;gt; ist, zu der sich ein lineares Gleichungssysteme &amp;lt;math&amp;gt;M^{-1} \cdot u = v&amp;lt;/math&amp;gt; günstig nach &amp;lt;math&amp;gt;u&amp;lt;/math&amp;gt; lösen lässt. Es gilt für das Jacobi-Verfahren &amp;lt;math&amp;gt;M = D^{-1}&amp;lt;/math&amp;gt;. Für das Residuum &amp;lt;math&amp;gt;r^{(m)} = b - A \cdot x^{(m)}&amp;lt;/math&amp;gt; ist &amp;lt;math&amp;gt; x^{(m+1)} - x^{(m)}&amp;lt;/math&amp;gt; gerade die Näherungslösung. Die Beziehung &amp;lt;math&amp;gt;M = D^{-1}&amp;lt;/math&amp;gt; folgt unmittelbar:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x^{(m+1)} = D^{-1} \cdot \left( b - \left(L + D + U\right) \cdot x^{(m)} + D \cdot x^{(m)} \right) = D^{-1} \cdot r^{(m)} + x^{(m)}&amp;lt;/math&amp;gt;,&lt;br /&gt;
:&amp;lt;math&amp;gt; x^{(m+1)} - x^{(m)} = D^{-1} \cdot r^{(m)}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Konvergenzuntersuchung ==&lt;br /&gt;
Die Konvergenz wird wie bei allen Splitting-Verfahren mittels des [[Fixpunktsatz von Banach|banachschen Fixpunktsatzes]] untersucht. Das Verfahren konvergiert also, wenn der [[Spektralradius]] der Iterationsmatrix &amp;lt;math&amp;gt;D^{-1}(D-A)&amp;lt;/math&amp;gt; kleiner als eins ist. Insbesondere ergibt sich dies, wenn die Systemmatrix &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; [[Diagonaldominanz|strikt diagonaldominant]] oder allgemeiner [[Diagonaldominanz#Irreduzibel diagonaldominante Matrix|irreduzibel diagonaldominant]] ist.&lt;br /&gt;
&lt;br /&gt;
== Erweiterung auf nichtlineare Gleichungssysteme ==&lt;br /&gt;
Die Idee des Jacobi-Verfahrens lässt sich auf nichtlineare Gleichungssysteme &amp;lt;math&amp;gt;f(x)=g&amp;lt;/math&amp;gt; mit einer mehrdimensionalen nichtlinearen Funktion &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; erweitern. Wie im linearen Fall wird im &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;-ten Schritt die &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;-te Gleichung bezüglich der &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;-ten Variablen gelöst, wobei für die anderen Variablen der bisherige [[Näherungswert]] genommen wird:&lt;br /&gt;
&lt;br /&gt;
:Für &amp;lt;math&amp;gt;k=1, \dotsc&amp;lt;/math&amp;gt; bis Erfüllung eines Abbruchkriteriums&lt;br /&gt;
::Für &amp;lt;math&amp;gt;i=1,\dotsc,n&amp;lt;/math&amp;gt;:&lt;br /&gt;
:::Löse &amp;lt;math&amp;gt;f_i(x_1^k,\dotsc, x^k_{i-1},x_i^{k+1},x_{i+1}^k,\dotsc,x_n^k) = g_i&amp;lt;/math&amp;gt; nach &amp;lt;math&amp;gt;x_i^{k+1}&amp;lt;/math&amp;gt; auf.&lt;br /&gt;
&lt;br /&gt;
Hierbei ist das Lösen in der Regel als die Anwendung eines weiteren iterativen Verfahrens zur Lösung nichtlinearer Gleichungen zu verstehen. Um dieses Verfahren vom Jacobi-Verfahren für lineare Gleichungssysteme zu unterscheiden, wird häufig vom &amp;#039;&amp;#039;&amp;#039;Jacobi-Prozess&amp;#039;&amp;#039;&amp;#039; gesprochen. Die Konvergenz des Prozesses folgt aus dem Banachschen Fixpunktsatz wieder als linear.&lt;br /&gt;
&lt;br /&gt;
== Jacobi-Varianten in HPC-Bibliotheken ==&lt;br /&gt;
&lt;br /&gt;
In großen numerischen Anwendungen kann das klassische Jacobi-Verfahren wenig wirksam sein, wenn die auftretenden Matrizen zwar lokal fast diagonal strukturiert sind, die [[Diagonaldominanz]] aber schwach ist. Betrachtet man dagegen mehrere Freiheitsgrade gemeinsam als Punkt-Blöcke wird die Matrixstruktur besser erfasst.&lt;br /&gt;
&lt;br /&gt;
Daher bezeichnet „Jacobi“ in HPC-Bibliotheken häufig nicht nur das Jacobi-Verfahren mit Punkt-Diagonalvorkonditionierung, sondern eine größere Familie Jacobi-artiger [[Vorkonditionierung|Vorkonditionierer]]. So unterscheidet [[PETSc]] unter anderem zwischen Jacobi (also Punkt-Jacobi), Punkt-Block-Jacobi, variablem Punkt-Block-Jacobi und Block-Jacobi. Dabei werden statt einzelner Diagonaleinträge kleine feste, variable oder größere diagonale Matrixblöcke exakt oder näherungsweise invertiert.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* A. Meister: &amp;#039;&amp;#039;Numerik linearer Gleichungssysteme&amp;#039;&amp;#039;, 2. Auflage, Vieweg 2005, ISBN 3-528-13135-7&lt;br /&gt;
* R. Barrett et al.: [https://netlib.org/linalg/html_templates/Templates.html Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods], 2nd Edition, SIAM Philadelphia, 1994&lt;br /&gt;
* {{Literatur&lt;br /&gt;
    |Autor=Plato, Robert&lt;br /&gt;
    |Titel=Numerische Mathematik Kompakt&lt;br /&gt;
    |Verlag=Vieweg&lt;br /&gt;
    |Jahr=2004&lt;br /&gt;
    |Seiten=262&lt;br /&gt;
    |ISBN=3528131535&lt;br /&gt;
    |Kommentar=&lt;br /&gt;
    }}&lt;br /&gt;
* W. C. Rheinboldt: &amp;#039;&amp;#039;Methods for Solving Systems of Nonlinear Equations&amp;#039;&amp;#039;, 2. Auflage, SIAM, 1998, ISBN 0-89871-415-X&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://mathworld.wolfram.com/JacobiMethod.html Eric W. Weisstein et al. „Jacobi Method“] MathWorld&lt;br /&gt;
* {{Internetquelle|url=https://www.informatik-forum.at/attachment.php?attachmentid=15906&amp;amp;d=1261478854|titel= Gesamt- und Einzelschrittverfahren bzw. Jacobi- und Gauss-Seidel-Verfahren für N = 3 |offline=2021-02-10 |archiv-url=https://web.archive.org/web/20180624204711/https://www.informatik-forum.at/attachment.php?attachmentid=15906&amp;amp;d=1261478854 |archiv-datum=2018-06-24 |abruf=2021-02-10 |format=PDF; 90&amp;amp;nbsp;kB|sprache=de-DE |abruf-verborgen=1}} Jacobi und Gauss-Seidel-Verfahren verständlich erklärt, inklusive Matlab-Programme.&lt;br /&gt;
&lt;br /&gt;
{{SORTIERUNG:Jacobiverfahren}}&lt;br /&gt;
[[Kategorie:Numerische lineare Algebra]]&lt;br /&gt;
[[Kategorie:Carl Gustav Jacob Jacobi als Namensgeber]]&lt;/div&gt;</summary>
		<author><name>imported&gt;ConGreif</name></author>
	</entry>
</feed>