Hilbert-Matrix

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Die Hilbert-Matrix der Ordnung n \ge 1 ist folgende quadratische, symmetrische, positiv definite Matrix:

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 h_{ij} = \frac{1}{i+j-1} gegeben. Dem historischen Zugang entspricht die Darstellung mit Integral: 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. ein lineares 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 n ist. Die Konditionszahl wächst exponentiell mit n; die Konditionszahl von  H_3 ist 526,16 (Frobeniusnorm), diejenige von  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 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:

(H^{-1}_n)_{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:

(H^{-1}_n)_{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 i=j=1 reduziert sich das zu:

(H^{-1}_n)_{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.

Determinante[Bearbeiten]

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

 \det H^{-1}_n = \prod_{k=1}^{n-1}(2k+1){2k \choose k}^2

Als Determinante der Hilbert-Matrix ergibt sich somit der Reziprokwert der Inversen mit  \det H_n = (\det H^{-1}_n)^{-1}. Die Determinanten der Inversen für 1 \le n \le 5 lauten damit 1, 12, 2160, 6048000 und 266716800000.

Zahlenbeispiele für Inverse[Bearbeiten]

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

H_2^{-1}\ =\ \begin{pmatrix} 4 & -6 \\ -6 & 12 \end{pmatrix} ,
H_3^{-1}\ =\ \begin{pmatrix} 9 & -36 & 30 \\ -36 & 192 & -180 \\ 30 & -180 & 180 \end{pmatrix} ,
H_4^{-1}\ =\ \begin{pmatrix} 16 & -120 & 240 & -140 \\ -120 & 1200 & -2700 & 1680 \\ 240 & -2700 & 6480 & -4200 \\ -140 & 1680 & -4200 & 2800 \end{pmatrix} ,
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 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  H_4 kleiner als 3° (im Bogenmaß: kleiner als  \frac {\pi}{60} \ ). Bei größeren  n sind die Winkel entsprechend noch kleiner. Der Winkel zwischen dem ersten Zeilenvektor von  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  n noch kleiner.

Literatur[Bearbeiten]