Hilbert-Matrix
# Hilbert-Matrix

Die Hilbert-Matrix der Ordnung $n\geq 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_{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:

    $(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 $i=j=1$ reduziert sich das zu:

    $(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.

## Determinante

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

    $\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 $\det H_{n}=(\det H_{n}^{-1})^{-1}$. Die Determinanten der Inversen für $1\leq n\leq 5$ lauten damit 1, 12, 2160, 6048000 und 266716800000 (Folge A005249 in OEIS).

## Zahlenbeispiele für Inverse

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:

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.

