VOOZH about

URL: https://de.wikipedia.org/wiki/Hilbert-Matrix

⇱ Hilbert-Matrix – Wikipedia


Zum Inhalt springen
aus Wikipedia, der freien Enzyklopädie

Die Hilbert-Matrix der Ordnung 👁 {\displaystyle n\geq 1}
ist folgende quadratische, symmetrische, positiv definite Matrix:

👁 {\displaystyle H_{n}={\begin{pmatrix}1&{\frac {1}{2}}&{\frac {1}{3}}&\cdots &{\frac {1}{n}}\\{\frac {1}{2}}&{\frac {1}{3}}&{\frac {1}{4}}&\cdots &{\frac {1}{n+1}}\\{\frac {1}{3}}&{\frac {1}{4}}&{\frac {1}{5}}&\cdots &{\frac {1}{n+2}}\\\vdots &\vdots &\vdots &\ddots &\vdots \\{\frac {1}{n}}&{\frac {1}{n+1}}&{\frac {1}{n+2}}&\cdots &{\frac {1}{2n-1}}\end{pmatrix}}}
,

die einzelnen Komponenten sind also durch 👁 {\displaystyle h_{ij}={\frac {1}{i+j-1}}}
gegeben. Dem historischen Zugang entspricht die Integraldarstellung

👁 {\displaystyle h_{ij}=\int _{0}^{1}x^{i+j-2}\,dx}
.

Sie wurde vom deutschen Mathematiker David Hilbert 1894 im Zusammenhang mit der Theorie der Legendre-Polynome definiert. Da die Matrix positiv definit ist, existiert ihre Inverse, d. h. jedes lineare Gleichungssystem mit diesen Koeffizienten ist eindeutig lösbar. Die Hilbert-Matrix bzw. das betreffende Gleichungssystem ist jedoch vergleichsweise schlecht konditioniert, und zwar umso schlechter, je größer 👁 {\displaystyle n}
ist. Die Konditionszahl wächst exponentiell mit 👁 {\displaystyle n}
; die Konditionszahl von 👁 {\displaystyle H_{3}}
ist 526,16 (Frobeniusnorm), diejenige von 👁 {\displaystyle H_{4}}
15.613,8. Das heißt, dass bei der Berechnung der Inversen (der Auflösung des Gleichungssystems) immer größere Zahlen auftreten, je größer 👁 {\displaystyle n}
ist. Daher ist die Hilbert-Matrix ein klassischer Testfall für Computer-Programme zur Inversion von Matrizen bzw. Auflösung linearer Gleichungssysteme, z. B. mit dem Gauß-Verfahren, LR-Zerlegung, Cholesky-Zerlegung usw. Alle Komponenten der inversen Matrix sind ganze Zahlen mit alternierenden Vorzeichen.

Die Komponenten der Inversen der Hilbert-Matrix können durch geschlossene Formeln direkt berechnet werden:

👁 {\displaystyle (H_{n}^{-1})_{i,j}\ =\ {\frac {(-1)^{i+j}}{(i+j-1)}}\ {\frac {(n+i-1)!(n+j-1)!}{((i-1)!(j-1)!)^{2}(n-i)!(n-j)!}}}
,

was man auch durch Binomialkoeffizienten ausdrücken kann:

👁 {\displaystyle (H_{n}^{-1})_{i,j}\ =\ (-1)^{i+j}(i+j-1){n+i-1 \choose n-j}{n+j-1 \choose n-i}{i+j-2 \choose i-1}^{2}}
.

Im Spezialfall 👁 {\displaystyle i=j=1}
reduziert sich das zu:

👁 {\displaystyle (H_{n}^{-1})_{1,1}\ =\ n^{2}}
.

Dass die Inverse der Hilbert-Matrix exakt berechnet werden kann, ist besonders nützlich, wenn z. B. bei einem Test das Ergebnis der numerischen Inversion einer Hilbert-Matrix mit einer LR- oder Cholesky-Zerlegung, die naturgemäß durch Rundungsfehler beeinträchtigt ist, beurteilt werden soll.

Die Determinante der Inversen der Hilbert-Matrix kann ebenfalls mit Hilfe folgender Formel exakt berechnet werden:

👁 {\displaystyle \det H_{n}^{-1}=\prod _{k=1}^{n-1}(2k+1){2k \choose k}^{2}}

Als Determinante der Hilbert-Matrix ergibt sich somit der Reziprokwert der Inversen mit 👁 {\displaystyle \det H_{n}=(\det H_{n}^{-1})^{-1}}
. Die Determinanten der Inversen für 👁 {\displaystyle 1\leq n\leq 5}
lauten damit 1, 12, 2160, 6048000 und 266716800000 (Folge A005249 in OEIS).

Zahlenbeispiele für Inverse

[Bearbeiten | Quelltext bearbeiten]

Aus obigen Formeln ergibt sich für die (exakte) Inverse in den Fällen 👁 {\displaystyle n=2,3,4,5}
:

👁 {\displaystyle H_{2}^{-1}\ =\ {\begin{pmatrix}4&-6\\-6&12\end{pmatrix}}}
,
👁 {\displaystyle H_{3}^{-1}\ =\ {\begin{pmatrix}9&-36&30\\-36&192&-180\\30&-180&180\end{pmatrix}}}
,
👁 {\displaystyle H_{4}^{-1}\ =\ {\begin{pmatrix}16&-120&240&-140\\-120&1200&-2700&1680\\240&-2700&6480&-4200\\-140&1680&-4200&2800\end{pmatrix}}}
,
👁 {\displaystyle H_{5}^{-1}\ =\ {\begin{pmatrix}25&-300&1050&-1400&630\\-300&4800&-18900&26880&-12600\\1050&-18900&79380&-117600&56700\\-1400&26880&-117600&179200&-88200\\630&-12600&56700&-88200&44100\end{pmatrix}}}
.

Für eigenes Experimentieren mit Hilbert- (und natürlich auch mit allen anderen) Matrizen sind moderne Mathematik-Software-Pakete wie MATLAB, Maple, GNU Octave oder Mathematica nützlich. Z. B. mit Mathematica kann die letzte Inverse durch folgenden Befehl berechnet werden:

Inverse für 👁 {\displaystyle n=5}
berechnen:

 In[1] := Inverse[HilbertMatrix[5]]//TraditionalForm

Die schlechte Kondition der Hilbert-Matrix bedeutet praktisch, dass die Zeilen- (und folglich auch die Spalten-) Vektoren fast linear abhängig sind. Geometrisch äußert sich das u. a. darin, dass die Winkel zwischen den Zeilenvektoren sehr klein sind, und zwar zwischen den letzten Zeilenvektoren jeweils am kleinsten; so ist z. B. der Winkel zwischen dem letzten und dem vorletzten Zeilenvektor von 👁 {\displaystyle H_{4}}
kleiner als 3° (im Bogenmaß: kleiner als 👁 {\displaystyle {\frac {\pi }{60}}\ }
). Bei größeren 👁 {\displaystyle n}
sind die Winkel entsprechend noch kleiner. Der Winkel zwischen dem ersten Zeilenvektor von 👁 {\displaystyle H_{3}}
und der Ebene, die von den beiden anderen Zeilenvektoren aufgespannt wird, ist etwas kleiner als 1,3°, die entsprechenden Winkel für die beiden anderen Zeilenvektoren sind noch kleiner; auch diese Winkel sind bei größeren 👁 {\displaystyle n}
noch kleiner.