<?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=Algorithmus_von_Samuelson-Berkowitz</id>
	<title>Algorithmus von Samuelson-Berkowitz - 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=Algorithmus_von_Samuelson-Berkowitz"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Algorithmus_von_Samuelson-Berkowitz&amp;action=history"/>
	<updated>2026-05-17T07:09:19Z</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=Algorithmus_von_Samuelson-Berkowitz&amp;diff=1710734&amp;oldid=prev</id>
		<title>imported&gt;Sokrates 399: Typografie.</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Algorithmus_von_Samuelson-Berkowitz&amp;diff=1710734&amp;oldid=prev"/>
		<updated>2026-02-14T17:52:30Z</updated>

		<summary type="html">&lt;p&gt;Typografie.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Der &amp;#039;&amp;#039;&amp;#039;Algorithmus von Samuelson-Berkowitz&amp;#039;&amp;#039;&amp;#039; (nach [[Paul A. Samuelson]] und S. Berkowitz) ist ein Verfahren, das für beliebige quadratische Eingabematrizen &amp;lt;math&amp;gt; A\in R^{n\times n} &amp;lt;/math&amp;gt; die Koeffizienten des [[charakteristisches Polynom|charakteristischen Polynoms]] von &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; ermittelt, d.&amp;amp;nbsp;h. insbesondere auch die [[Determinante (Mathematik)|Determinante]] von &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt;. Im Gegensatz etwa zum [[Algorithmus von Faddejew-Leverrier]] sind die Voraussetzungen weniger restriktiv: Als Eingabe sind auch Matrizen &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; zulässig, deren Einträge Elemente eines beliebigen [[kommutativer Ring|kommutativen Rings]] &amp;lt;math&amp;gt; R &amp;lt;/math&amp;gt; mit Einselement sind, da das Verfahren völlig ohne Divisionen auskommt.&lt;br /&gt;
&lt;br /&gt;
== Notation und Idee des Verfahrens ==&lt;br /&gt;
&lt;br /&gt;
Wir bezeichnen mit&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt; I_r \in R^{r\times r} &amp;lt;/math&amp;gt; die &amp;lt;math&amp;gt;r\times r&amp;lt;/math&amp;gt;-[[Einheitsmatrix]]&lt;br /&gt;
* &amp;lt;math&amp;gt; A_r \in R^{r\times r} \;&amp;lt;/math&amp;gt; die &amp;lt;math&amp;gt;r\times r&amp;lt;/math&amp;gt;-Submatrix von &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; bestehend aus den ersten &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt; Zeilen und Spalten&lt;br /&gt;
* &amp;lt;math&amp;gt; p_r \in R[\lambda] \;&amp;lt;/math&amp;gt; das charakteristische Polynom von &amp;lt;math&amp;gt; A_r\; &amp;lt;/math&amp;gt;, wobei &amp;lt;math&amp;gt;p_r(\lambda)=\sum\limits_{k=0}^r c_{r-k} \lambda^k &amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt; R_r \in R^{r} \; &amp;lt;/math&amp;gt; der [[Zeilenvektor]] mit den Komponenten &amp;lt;math&amp;gt; a_{r+1,j} \; &amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt; 1 \leq j \leq r &amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt; S_r \in R^{r} \; &amp;lt;/math&amp;gt; der [[Spaltenvektor]] mit den Komponenten &amp;lt;math&amp;gt; a_{i,r+1} \; &amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt; 1 \leq i \leq r &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und betrachten folgende Partitionierung von &amp;lt;math&amp;gt; A_{r+1} &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A_{r+1} = \left[ \begin{array}{c|c}&lt;br /&gt;
                    A_r &amp;amp; S_r \\ \hline&lt;br /&gt;
                    R_r &amp;amp; a_{r+1,r+1}&lt;br /&gt;
                    \end{array}  \right] &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die grundlegende Idee des Verfahrens besteht darin, das charakteristische Polynom von &amp;lt;math&amp;gt; A_{r+1}\; &amp;lt;/math&amp;gt;&lt;br /&gt;
rekursiv zu berechnen.&lt;br /&gt;
Mit der obigen Notation gilt zunächst&lt;br /&gt;
:&amp;lt;math&amp;gt; \det(A_{r+1}) = a_{r+1,r+1} \det(A_r) - R_r \; \textrm{Adj}(A_r) \; S_r \; &amp;lt;/math&amp;gt;&lt;br /&gt;
wobei &amp;lt;math&amp;gt; \textrm{Adj}(A_r) &amp;lt;/math&amp;gt; die [[Adjunkte]] von &amp;lt;math&amp;gt; A_r\; &amp;lt;/math&amp;gt; bezeichnet (Begründung: Entwicklung nach letzter Zeile mittels [[Laplace’scher Entwicklungssatz#Laplacescher Entwicklungssatz|Entwicklungssatz von Laplace]], vgl.&amp;lt;ref name=&amp;quot;ms42-54&amp;quot;&amp;gt;Michael Soltys: &amp;#039;&amp;#039;Berkowitz&amp;#039;s Algorithm and Clow Sequences&amp;#039;&amp;#039;, The Electronic Journal of Linear Algebra (ELA), {{ISSN|1081-3810}}, Volume 9, pp. 42-54, April 2002, [http://www.emis.de/journals/ELA/ela-articles/articles/vol9_pp42-54.pdf Online-Version] (PDF; 168&amp;amp;nbsp;kB)&amp;lt;/ref&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Wenn man dies auf die Matrix &amp;lt;math&amp;gt;\lambda I_{r+1} - A_{r+1} &amp;lt;/math&amp;gt; überträgt, dann erhält man speziell für das charakteristische Polynom von &amp;lt;math&amp;gt; A_{r+1}\; &amp;lt;/math&amp;gt;:&lt;br /&gt;
:&amp;lt;math&amp;gt; \begin{align}&lt;br /&gt;
         p_{r+1}(\lambda) &amp;amp;= \det(\lambda I_{r+1} - A_{r+1}) \\&lt;br /&gt;
                 &amp;amp;= ( \lambda - a_{r+1,r+1}  ) \; p_r(\lambda) - R_r \; \textrm{Adj}(\lambda I_r - A_r ) \; S_r \qquad (*) \end{align} &amp;lt;/math&amp;gt;&lt;br /&gt;
Außerdem kann man leicht zeigen, dass sich die Adjunkte in (*) folgendermaßen schreiben lässt (siehe z.&amp;amp;nbsp;B.&amp;lt;ref name=&amp;quot;ms42-54&amp;quot;/&amp;gt;):&lt;br /&gt;
:&amp;lt;math&amp;gt; \begin{align}&lt;br /&gt;
\textrm{Adj}(\lambda I_r - A_r) &amp;amp;= \sum\limits_{k=1}^r \left( \sum\limits_{j=1}^k A_r^{j-1} c_{k-j} \right) \lambda^{r-k}\\&lt;br /&gt;
                                &amp;amp;= \sum\limits_{k=1}^r \left( A_r^{k-1}c_0 + \ldots + A_r^1 c_{k-2} + I_r c_{k-1} \right) \; \lambda^{r-k} \qquad (**) &lt;br /&gt;
\end{align} &amp;lt;/math&amp;gt;&lt;br /&gt;
Hierin sind &amp;lt;math&amp;gt; c_0, \ldots, c_{r-1}&amp;lt;/math&amp;gt; die Koeffizienten des charakteristischen Polynoms von &amp;lt;math&amp;gt; A_r &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Formel von Samuelson ==&lt;br /&gt;
&lt;br /&gt;
Wir erhalten nun die gewünschte rekursive Darstellung für das charakteristische Polynom &amp;lt;math&amp;gt; p_{r+1}(\lambda) \; &amp;lt;/math&amp;gt; von &amp;lt;math&amp;gt; A_{r+1} \; &amp;lt;/math&amp;gt; (in der Literatur &amp;#039;&amp;#039;Formel von Samuelson&amp;#039;&amp;#039; genannt), indem wir die beiden obigen Beziehungen (*) und (**) zusammenfügen:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \begin{align}&lt;br /&gt;
p_{r+1}(\lambda) &amp;amp;= (\lambda - a_{r+1,r+1}) \; p_r(\lambda) - \sum_{k=1}^r \left[ \sum_{j=1}^k (R_r A_r^{j-1} S_r) c_{k-j} \right] \lambda^{r-k} \\&lt;br /&gt;
                 &amp;amp;= (\lambda - a_{r+1,r+1}) \; p_r(\lambda) - \sum_{k=1}^r \left[ (R_r A_r^{k-1} S_r) c_0 + \ldots + R_r A_r^1 S_r c_{k-2} + (R_rS_r)c_{k-1}  \right] \lambda^{r-k}&lt;br /&gt;
\end{align} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verfahren von Samuelson-Berkowitz ==&lt;br /&gt;
&lt;br /&gt;
=== Matrix-Vektor Schreibweise ===&lt;br /&gt;
&lt;br /&gt;
Um einen effektiven und leichter lesbaren Algorithmus formulieren zu können, transferieren wir nun die Formel von Samuelson in Matrix-Schreibweise.&lt;br /&gt;
Dazu ordnen wir einem Polynom &amp;lt;math&amp;gt; \omega\; &amp;lt;/math&amp;gt; vom Grad &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \omega(\lambda) = \sum_{k=0}^d \alpha_k \lambda^{d-k} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
den Koeffizientenvektor&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \overrightarrow{\omega} = \left[ \begin{array}{c} \alpha_0 \\ \alpha_1 \\ \alpha_2 \\ \vdots \\ \alpha_d \end{array} \right] \in R^{d+1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sowie die folgende [[Toeplitz-Matrix]] (die zugleich eine untere [[Dreiecksmatrix]] ist) zu:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \textrm{Toep}(\omega) = \left[ \begin{array}{ccccc}&lt;br /&gt;
                           \alpha_0 &amp;amp; 0   &amp;amp; 0 &amp;amp; \ldots &amp;amp; 0 \\&lt;br /&gt;
                           \alpha_1 &amp;amp; \alpha_0 &amp;amp; 0 &amp;amp; \ldots &amp;amp; 0 \\&lt;br /&gt;
                           \alpha_2 &amp;amp; \alpha_1 &amp;amp; \alpha_0 &amp;amp; \ldots &amp;amp; 0 \\&lt;br /&gt;
                           \vdots &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
                           \cdot  &amp;amp; \cdot  &amp;amp; \cdot  &amp;amp; \ldots &amp;amp; a_0 \\&lt;br /&gt;
                           \alpha_d    &amp;amp; \alpha_{d-1}&amp;amp; \alpha_{d-2} &amp;amp; \ldots &amp;amp; a_1 &lt;br /&gt;
                           \end{array} \right] \in R^{(d+1)\times d} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Genauer ist also der Eintrag an der Position &amp;lt;math&amp;gt;(i,j)&amp;lt;/math&amp;gt; von &amp;lt;math&amp;gt; \textrm{Toep}(\omega) &amp;lt;/math&amp;gt; gegeben durch&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \left[ \textrm{Toep}(\omega) \right]_{i,j} = \left\{ \begin{array}{cl}&lt;br /&gt;
                                                     \alpha_k &amp;amp; \textrm{falls}\;i\ge j \; \textrm{und} \; i-j=k \\&lt;br /&gt;
                                                     0        &amp;amp; \textrm{falls}\;i&amp;lt;j    &lt;br /&gt;
                                                     \end{array}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Definiert man nun noch das Polynom &amp;lt;math&amp;gt; q_{r+1} \; &amp;lt;/math&amp;gt; durch&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \begin{align}&lt;br /&gt;
q_{r+1}(\lambda) &amp;amp;= \lambda^{r+1} - a_{r+1,r+1} \lambda^r - \sum\limits_{k=1}^r (R_r A_r^{k-1} S_r) \lambda^{r-k} \\&lt;br /&gt;
                 &amp;amp;= \lambda^{r+1} - a_{r+1,r+1} \lambda^r - (R_rS_r) \lambda^{r-1} - \ldots - (R_r A_r^{r-1}S_r) \end{align}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dann lässt sich die Formel von Samuelson in der folgenden kompakten Form darstellen (vgl.&amp;lt;ref name=&amp;quot;ja21-32&amp;quot;&amp;gt;J. Abdeljaoued, &amp;#039;&amp;#039;[https://www.researchgate.net/profile/Tony_Scott6/publication/338884321_MapleTech_Volume_4_no_3_Winter_1997/links/5e30fe5f458515072d6ab5f1/MapleTech-Volume-4-no-3-Winter-1997.pdf#page=27 The Berkowitz algorithm, Maple and computing the characteristic polynomial in an arbitrary commutative ring]&amp;#039;&amp;#039;, MapleTech Vol. 4, No. 3, pp. 21-32, Birkhäuser Boston Basel Berlin, 1997 &amp;lt;!--URL von https://www.researchgate.net/publication/338884321_MapleTech_Volume_4_no_3_Winter_1997--&amp;gt;&amp;lt;/ref&amp;gt; und &amp;lt;ref name=&amp;quot;sjb147-150&amp;quot;&amp;gt;Stuart J. Berkowitz: &amp;#039;&amp;#039;On computing the determinant in small parallel time using a small number of processors&amp;#039;&amp;#039;, Information Processing Letters, 18, pp. 147-150, 1985, {{DOI|10.1016/0020-0190(84)90018-8}}  &amp;lt;/ref&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \overrightarrow{p_{r+1}} = \textrm{Toep}(q_{r+1}) \overrightarrow{p_r} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Algebraische Top-Level Formulierung ===&lt;br /&gt;
&lt;br /&gt;
Durch sukzessives Anwenden dieses Prinzips erhält man folgende zentrale Aussage (siehe &amp;lt;ref name=&amp;quot;ja21-32&amp;quot;/&amp;gt; und &amp;lt;ref name=&amp;quot;sjb147-150&amp;quot;/&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;math&amp;gt; p_1(\lambda)=\lambda - a_{11} \; &amp;lt;/math&amp;gt;, also&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \overrightarrow{p_1} = \left[ \begin{array}{c} 1 \\ -a_{11} \end{array} \right] = \textrm{Toep}(q_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gilt:&lt;br /&gt;
&lt;br /&gt;
* Die Koeffizienten des charakteristischen Polynoms &amp;lt;math&amp;gt; p_r(\lambda) \; &amp;lt;/math&amp;gt; von &amp;lt;math&amp;gt; A_r \; &amp;lt;/math&amp;gt; für &amp;lt;math&amp;gt; 1\leq r \leq n &amp;lt;/math&amp;gt; sind gegeben durch:&lt;br /&gt;
:&amp;lt;math&amp;gt; \overrightarrow{p_r} = \textrm{Toep}(q_{r}) \cdot \textrm{Toep}(q_{r-1}) \cdots \textrm{Toep}(q_{1})  &amp;lt;/math&amp;gt;&lt;br /&gt;
* Insbesondere erhalten wir, falls &amp;lt;math&amp;gt; r=n &amp;lt;/math&amp;gt;, die Koeffizienten des charakteristischen Polynoms &amp;lt;math&amp;gt; p_n(\lambda) \; &amp;lt;/math&amp;gt; von &amp;lt;math&amp;gt; A \; &amp;lt;/math&amp;gt; durch:&lt;br /&gt;
:&amp;lt;math&amp;gt; \overrightarrow{p_n} = \textrm{Toep}(q_{n}) \cdot \textrm{Toep}(q_{n-1}) \cdots \textrm{Toep}(q_{1})  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Algorithmus ===&lt;br /&gt;
&lt;br /&gt;
Damit kann man nun folgenden Algorithmus formulieren (vgl.&amp;lt;ref name=&amp;quot;gnrw&amp;quot;&amp;gt;G. Nakos and Robert M. Williams: &amp;#039;&amp;#039;A Fast Computation of the Characteristic polynomial&amp;#039;&amp;#039;, Mathematica in Education and Research, Vol. 9, No. 1, 2000 &amp;lt;/ref&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;math&amp;gt; \textrm{Eingabe:} \;\; (n \times n) - \textrm{Matrix} \;  A\in R^{n\times n} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;math&amp;gt; \overrightarrow{\textrm{Vect}} := \left[ \begin{array}{c} 1 \\ -a_{11} \end{array} \right] &amp;lt;/math&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt; \textbf{For} \; r=1,\ldots, n-1 \;  \textrm{berechne} &amp;lt;/math&amp;gt;&lt;br /&gt;
   * &amp;lt;math&amp;gt; \left\{-R_r A_r^{k-1} S_r \right\}_{k=1}^r \; \textrm{(Koeffizienten}\;\textrm{von}\; q_{r+1}\;\textrm{)} &amp;lt;/math&amp;gt;&lt;br /&gt;
   * &amp;lt;math&amp;gt; \overrightarrow{\textrm{Vect}} := \textrm{Toep}(q_{r+1}) \cdot \overrightarrow{\textrm{Vect}} \;&amp;lt;/math&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt; \textbf{End}\;\textbf{For} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;math&amp;gt; \textrm{Ausgabe:} \;\;  \overrightarrow{p_n} = \overrightarrow{\textrm{Vect}} \;\;\textrm{(Vektor}\;\textrm{der}\;\textrm{Koeffizienten}\;\textrm{des}\;\textrm{charakteristischen}\;\textrm{Polynoms)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Algorithmus berechnet nicht nur die Koeffizienten des charakteristischen Polynoms von &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt;, sondern&lt;br /&gt;
darüber hinaus auch in jedem Schleifendurchlauf für die [[Untermatrix]] &amp;lt;math&amp;gt; A_r &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Historisches ==&lt;br /&gt;
&lt;br /&gt;
Die grundlegende Idee des Verfahrens wurde zuerst 1942 von [[Paul A. Samuelson]] beschrieben und publiziert.&amp;lt;ref&amp;gt;Paul A. Samuelson: &amp;#039;&amp;#039;A method for determining explicitly the characteristic equation&amp;#039;&amp;#039;, Annals of Mathematical Statistics, 13, S. 424–429, 1942, [[doi:10.1214/aoms/1177731540]]&amp;lt;/ref&amp;gt; Der Algorithmus in der oben präsentierten und heute gebräuchlichen Form geht auf Berkowitz&amp;lt;ref name=&amp;quot;sjb147-150&amp;quot; /&amp;gt; (parallele Version) und Abdeljaoued&amp;lt;ref name=&amp;quot;ja21-32&amp;quot; /&amp;gt; (Beschreibung als serielles Verfahren) zurück, weswegen man manchmal auch die Bezeichnung &amp;#039;&amp;#039;Samuelson-Berkowitz-Abdeljaoued-Algorithmus&amp;#039;&amp;#039; &amp;#039;&amp;#039;(SBA-Algorithmus)&amp;#039;&amp;#039; in der Literatur findet.&amp;lt;ref name=&amp;quot;gnrw&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Korrektheit des Algorithmus ==&lt;br /&gt;
&lt;br /&gt;
Da im oben formulierten Verfahren nur endliche Schleifen auftreten, ist klar, dass der Algorithmus [[Terminiertheit|terminiert]].&lt;br /&gt;
Die [[partielle Korrektheit]] folgt aus der Formel von Samuelson und der daraus abgeleiteten algebraischen&lt;br /&gt;
Top-Level-Formulierung in Matrix-Vektor-Form (s.&amp;amp;nbsp;o., vgl. z.&amp;amp;nbsp;B.&amp;lt;ref name=&amp;quot;ms42-54&amp;quot;/&amp;gt;). Genauer gesprochen&lt;br /&gt;
beruht die Korrektheit auf folgender [[Schleifeninvariante]]: Am Ende des &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt;-ten Schleifendurchlaufs&lt;br /&gt;
enthält der Vektor &amp;lt;math&amp;gt;\overrightarrow{\textrm{Vect}}&amp;lt;/math&amp;gt; die Koeffizienten des charakteristischen Polynoms von&lt;br /&gt;
&amp;lt;math&amp;gt; A_{r+1} &amp;lt;/math&amp;gt;(Formulierung als [[Nachbedingung (Informatik)|Nachbedingung]]).&lt;br /&gt;
&lt;br /&gt;
== Aufwand, Effizienz und Parallelisierbarkeit ==&lt;br /&gt;
&lt;br /&gt;
Man kann zeigen&amp;lt;ref name=&amp;quot;ja21-32&amp;quot;/&amp;gt;, dass der Aufwand (Zeitkomplexität) des Algorithmus die Größenordnung &amp;lt;math&amp;gt; \mathcal{O}(n^4) &amp;lt;/math&amp;gt; hat. Eine genauere Schranke ist gegeben durch die Anzahl der arithmetischen Operationen &amp;lt;math&amp;gt; \frac 1 2 n^4 - n^3 + \frac 5 2 n^2 &amp;lt;/math&amp;gt;. Bei der Implementierung des Verfahrens kann man zudem ausnutzen, dass es für die [[Matrizenmultiplikation|Multiplikation]] von&lt;br /&gt;
Toeplitz-Matrizen effektive Methoden gibt.&lt;br /&gt;
Der Algorithmus lässt sich auch sehr gut parallelisieren, genaueres dazu findet man speziell in &amp;lt;ref name=&amp;quot;sjb147-150&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Numerisches Beispiel ==&lt;br /&gt;
&lt;br /&gt;
Wir betrachten die Matrix&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
 A=\left[ \begin{array}{rrrr}&lt;br /&gt;
          5 &amp;amp;  5 &amp;amp; -3 &amp;amp; -7 \\&lt;br /&gt;
          2 &amp;amp;  1 &amp;amp;  9 &amp;amp;  6 \\&lt;br /&gt;
          4 &amp;amp;  2 &amp;amp; -6 &amp;amp; -5 \\&lt;br /&gt;
          5 &amp;amp; -8 &amp;amp; -9 &amp;amp;  2&lt;br /&gt;
          \end{array} \right]&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Wir starten die [[Rekursion]] mit den charakteristischen Polynom der Matrix &amp;lt;math&amp;gt; A_1 = [5] &amp;lt;/math&amp;gt;, für das &amp;lt;math&amp;gt; p_1 = \lambda - 5 \;&amp;lt;/math&amp;gt; gilt, d.&amp;amp;nbsp;h.&lt;br /&gt;
:&amp;lt;math&amp;gt; \overrightarrow{\textrm{Vect}} = \left[ \begin{array}{r} 1 \\ -5 \end{array} \right] &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;math&amp;gt; r=1 &amp;lt;/math&amp;gt;&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
:Wir berechnen nun &amp;lt;math&amp;gt; p_2 &amp;lt;/math&amp;gt;. Hierzu benötigen wir zunächst die Koeffizienten von &amp;lt;math&amp;gt; q_2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
::* &amp;lt;math&amp;gt; k=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
::&amp;lt;math&amp;gt; -R_1S_1 = -2*5=-10 \;&amp;lt;/math&amp;gt;&lt;br /&gt;
:Also&lt;br /&gt;
:&amp;lt;math&amp;gt; \begin{align}&lt;br /&gt;
         q_2 &amp;amp;= \lambda^2 - a_{22}\lambda - R_1S_1 \\&lt;br /&gt;
             &amp;amp;= \lambda^2 - 1 \lambda - 10\; &lt;br /&gt;
        \end{align}&amp;lt;/math&amp;gt;&lt;br /&gt;
:Hieraus resultiert nun die Toeplitz-Matrix&lt;br /&gt;
:&amp;lt;math&amp;gt; \textrm{Toep}(q_2)=&lt;br /&gt;
 \left[ \begin{array}{rr}&lt;br /&gt;
           1 &amp;amp;  0 \\&lt;br /&gt;
         - 1 &amp;amp;  1 \\&lt;br /&gt;
         -10 &amp;amp; -1 &lt;br /&gt;
        \end{array} \right] &amp;lt;/math&amp;gt;&lt;br /&gt;
:und damit&lt;br /&gt;
:&amp;lt;math&amp;gt; \begin{align} &lt;br /&gt;
        \textrm{Toep}(q_2) * \overrightarrow{p_1} &amp;amp;= \overrightarrow{\textrm{Vect}} \\&lt;br /&gt;
        \left[ \begin{array}{rr}&lt;br /&gt;
           1 &amp;amp;  0 \\&lt;br /&gt;
         - 1 &amp;amp;  1 \\&lt;br /&gt;
         -10 &amp;amp; -1 &lt;br /&gt;
        \end{array} \right] *&lt;br /&gt;
        \left[ \begin{array}{r}&lt;br /&gt;
        1 \\ -5&lt;br /&gt;
        \end{array} \right]&lt;br /&gt;
         &amp;amp;=&lt;br /&gt;
        \left[ \begin{array}{r}&lt;br /&gt;
           1  \\&lt;br /&gt;
         - 6  \\&lt;br /&gt;
         - 5  &lt;br /&gt;
        \end{array} \right] \end{align}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
:Das charakteristische Polynom von &amp;lt;math&amp;gt; A_2&amp;lt;/math&amp;gt; lautet also &amp;lt;math&amp;gt; p_2=\lambda^2 -6 \lambda - 5 \;&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;math&amp;gt; r=2 &amp;lt;/math&amp;gt;&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
:Wir ermitteln die Koeffizienten von &amp;lt;math&amp;gt; q_3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
::* &amp;lt;math&amp;gt; k=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
::&amp;lt;math&amp;gt; - R_2 A_2^0 S_2 = - \left[4 \;\; 2\right] \cdot \left[ \begin{array}{r} -3 \\ 9 \end{array} \right] = -6 &amp;lt;/math&amp;gt;&lt;br /&gt;
::* &amp;lt;math&amp;gt; k=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
::&amp;lt;math&amp;gt; -R_2 A_2^1 S_2 =  - \left[4 \;\; 2\right] \cdot \left[ \begin{array}{rr} 5 &amp;amp; 5 \\ 2 &amp;amp; 1 \end{array} \right] \cdot \left[ \begin{array}{r} -3 \\ 9 \end{array} \right] = -126 &amp;lt;/math&amp;gt;&lt;br /&gt;
:Also&lt;br /&gt;
:&amp;lt;math&amp;gt; \begin{align}&lt;br /&gt;
        q_{3}(\lambda) &amp;amp;= \lambda^{3} - a_{3,3} \lambda^2 - (R_2S_2) \lambda^{1} - (R_2 A_2^{1}S_2) \\&lt;br /&gt;
                       &amp;amp;= \lambda^{3} + 6\lambda^2 - 6\lambda - 126&lt;br /&gt;
        \end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:und&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\textrm{Toep}(q_3)=&lt;br /&gt;
 \left[ \begin{array}{rrr}&lt;br /&gt;
        1    &amp;amp;  0  &amp;amp; 0 \\&lt;br /&gt;
        6    &amp;amp;  1  &amp;amp; 0 \\&lt;br /&gt;
       -6    &amp;amp;  6  &amp;amp; 1 \\&lt;br /&gt;
       -126  &amp;amp; -6  &amp;amp; 6 &lt;br /&gt;
        \end{array} \right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:Damit erhalten wir&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align} &lt;br /&gt;
        \textrm{Toep}(q_3) * \overrightarrow{p_2} &amp;amp;= \overrightarrow{\textrm{Vect}} \\&lt;br /&gt;
\left[ \begin{array}{rrr}&lt;br /&gt;
        1    &amp;amp;  0  &amp;amp; 0 \\&lt;br /&gt;
        6    &amp;amp;  1  &amp;amp; 0 \\&lt;br /&gt;
       -6    &amp;amp;  6  &amp;amp; 1 \\&lt;br /&gt;
       -126  &amp;amp; -6  &amp;amp; 6 &lt;br /&gt;
        \end{array} \right] \cdot&lt;br /&gt;
        \left[ \begin{array}{r}&lt;br /&gt;
           1  \\&lt;br /&gt;
         - 6  \\&lt;br /&gt;
         - 5  &lt;br /&gt;
        \end{array} \right] &amp;amp;=&lt;br /&gt;
        \left[ \begin{array}{r}&lt;br /&gt;
         1 \\&lt;br /&gt;
         0 \\&lt;br /&gt;
        -47 \\&lt;br /&gt;
        -120  &lt;br /&gt;
        \end{array} \right]&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:Das charakteristische Polynom von &amp;lt;math&amp;gt; A_3&amp;lt;/math&amp;gt; lautet daher &amp;lt;math&amp;gt; p_3=\lambda^3 -47 \lambda -120 \;&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;math&amp;gt; r=3 &amp;lt;/math&amp;gt;&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
:Wir ermitteln die Koeffizienten von &amp;lt;math&amp;gt; q_4 &amp;lt;/math&amp;gt;:&lt;br /&gt;
::* &amp;lt;math&amp;gt; k=1 &amp;lt;/math&amp;gt;:&lt;br /&gt;
::&amp;lt;math&amp;gt; - R_3 A_3^0 S_3 = - \left[5 \;\; -8 \;\; -9\right] \cdot \left[ \begin{array}{r} -7 \\ 6 \\ -5 \end{array} \right] = 38 &amp;lt;/math&amp;gt;&lt;br /&gt;
::* &amp;lt;math&amp;gt; k=2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
::&amp;lt;math&amp;gt; - R_3 A_3^1 S_3 = - \left[5 \;\; -8 \;\; -9\right] \cdot &lt;br /&gt;
           \left[\begin{array}{rrr}&lt;br /&gt;
           5 &amp;amp;  5 &amp;amp; -3 \\&lt;br /&gt;
           2 &amp;amp;  1 &amp;amp;  9 \\&lt;br /&gt;
           4 &amp;amp;  2 &amp;amp; -6&lt;br /&gt;
           \end{array}\right] \cdot&lt;br /&gt;
           \left[ \begin{array}{r} -7 \\ 6 \\ -5 \end{array} \right] = -348 &amp;lt;/math&amp;gt;&lt;br /&gt;
::* &amp;lt;math&amp;gt; k=3 &amp;lt;/math&amp;gt;:&lt;br /&gt;
::&amp;lt;math&amp;gt; - R_3 A_3^2 S_3 = - \left[5 \;\; -8 \;\; -9\right] \cdot &lt;br /&gt;
           \left[\begin{array}{rrr}&lt;br /&gt;
           5 &amp;amp;  5 &amp;amp; -3 \\&lt;br /&gt;
           2 &amp;amp;  1 &amp;amp;  9 \\&lt;br /&gt;
           4 &amp;amp;  2 &amp;amp; -6&lt;br /&gt;
           \end{array}\right]^2 \cdot&lt;br /&gt;
           \left[ \begin{array}{r} -7 \\ 6 \\ -5 \end{array} \right] = 679 &amp;lt;/math&amp;gt;&lt;br /&gt;
:Also&lt;br /&gt;
:&amp;lt;math&amp;gt; \begin{align}&lt;br /&gt;
        q_{4}(\lambda) &amp;amp;= \lambda^{4} - a_{4,4} \lambda^3 - (R_3S_3) \lambda^{2} - (R_3 A_2^{1}S_3) \lambda - (R_3 A_2^{2}S_3) \\&lt;br /&gt;
                       &amp;amp;= \lambda^{4} -2 \lambda^3 +38 \lambda^2 - 348 \lambda + 679&lt;br /&gt;
        \end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:und&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\textrm{Toep}(q_4)=&lt;br /&gt;
 \left[ \begin{array}{rrrr}&lt;br /&gt;
        1    &amp;amp;    0 &amp;amp;  0 &amp;amp;  0 \\&lt;br /&gt;
       -2    &amp;amp;    1 &amp;amp;  0 &amp;amp;  0 \\&lt;br /&gt;
        38   &amp;amp;   -2 &amp;amp;  1 &amp;amp;  0 \\&lt;br /&gt;
       -348  &amp;amp;   38 &amp;amp; -2 &amp;amp;  1 \\&lt;br /&gt;
        679  &amp;amp; -348 &amp;amp; 38 &amp;amp; -2&lt;br /&gt;
        \end{array} \right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:Die finale [[Matrix-Vektor-Multiplikation]] liefert nun die Koeffizienten des gesuchten charakteristischen Polynoms der gesamten Matrix &amp;lt;math&amp;gt; A=A_4 &amp;lt;/math&amp;gt;:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align} &lt;br /&gt;
        \textrm{Toep}(q_4) * \overrightarrow{p_3} &amp;amp;= \overrightarrow{\textrm{Vect}} \\&lt;br /&gt;
 \left[ \begin{array}{rrrr}&lt;br /&gt;
        1    &amp;amp;    0 &amp;amp;  0 &amp;amp;  0 \\&lt;br /&gt;
       -2    &amp;amp;    1 &amp;amp;  0 &amp;amp;  0 \\&lt;br /&gt;
        38   &amp;amp;   -2 &amp;amp;  1 &amp;amp;  0 \\&lt;br /&gt;
       -348  &amp;amp;   38 &amp;amp; -2 &amp;amp;  1 \\&lt;br /&gt;
        679  &amp;amp; -348 &amp;amp; 38 &amp;amp; -2&lt;br /&gt;
        \end{array} \right] \cdot&lt;br /&gt;
        \left[ \begin{array}{r}&lt;br /&gt;
         1 \\&lt;br /&gt;
         0 \\&lt;br /&gt;
        -47 \\&lt;br /&gt;
        -120  &lt;br /&gt;
        \end{array} \right] &amp;amp;=&lt;br /&gt;
       \left[ \begin{array}{r}&lt;br /&gt;
        1 \\ -2 \\ -9 \\ -374 \\ -867        &lt;br /&gt;
        \end{array} \right] \end{align} &amp;lt;/math&amp;gt;&lt;br /&gt;
:Hieraus liest man das gesuchte Endergebnis ab:&lt;br /&gt;
:&amp;lt;math&amp;gt; p_4 = \lambda^4 -2\lambda^3 -9 \lambda^2 - 374 \lambda - 867 \;&amp;lt;/math&amp;gt;&lt;br /&gt;
:Insbesondere erhält man also für die Determinante von &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt; p_4(0) = \det(-A) = (-1)^4\cdot \det(A) = -867  \; \Rightarrow \det (A) = -867 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
&lt;br /&gt;
* J. Abdeljaoued, &amp;#039;&amp;#039;The Berkowitz algorithm, Maple and computing the characteristic polynomial in an arbitrary commutative ring&amp;#039;&amp;#039;, MapleTech Vol. 4, No. 3, pp. 21-32, Birkhäuser Boston Basel Berlin, 1997&lt;br /&gt;
* Stuart J. Berkowitz: &amp;#039;&amp;#039;On computing the determinant in small parallel time using a small number of processors&amp;#039;&amp;#039;, Information Processing Letters, 18, pp. 147-150, 1985, {{DOI|10.1016/0020-0190(84)90018-8}}&lt;br /&gt;
* G. Nakos and Robert M. Williams: &amp;#039;&amp;#039;A Fast Computation of the Characteristic polynomial&amp;#039;&amp;#039;, Mathematica in Education and Research, Vol. 9, No. 1, 2000&lt;br /&gt;
* [[Paul A. Samuelson]]: &amp;#039;&amp;#039;A method for determining explicitly the characteristic equation&amp;#039;&amp;#039;, Annals of Mathematical Statistics, 13, pp. 424-429, 1942, {{DOI|10.1214/aoms/1177731540}}&lt;br /&gt;
* Günter Rote: &amp;#039;&amp;#039;Division-free algorithms for the determinant and the Pfaffian: algebraic and combinatorial approaches &amp;#039;&amp;#039;, in: &amp;#039;&amp;#039;Computational Discrete Mathematics&amp;#039;&amp;#039;, Editor: Helmut Alt, Lecture Notes in Computer Science 2122, Springer-Verlag, 2001, pp. 119-135, [http://page.mi.fu-berlin.de/rote/Papers/pdf/Division-free+algorithms+for+the+determinant+and+the+Pfaffian:+algebraic+and+combinatorial+approaches.pdf   Online-Version] (PDF; 250&amp;amp;nbsp;kB)&lt;br /&gt;
* Michael Soltys: &amp;#039;&amp;#039;Berkowitz&amp;#039;s Algorithm and Clow Sequences&amp;#039;&amp;#039;, The Electronic Journal of Linear Algebra (ELA), {{ISSN|1081-3810}}, Volume 9, pp. 42-54, April 2002, [http://www.emis.de/journals/ELA/ela-articles/articles/vol9_pp42-54.pdf Online-Version] (PDF; 168&amp;amp;nbsp;kB)&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Algorithmus|Samuelson Berkowitz]]&lt;br /&gt;
[[Kategorie:Numerische lineare Algebra]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Sokrates 399</name></author>
	</entry>
</feed>