# fuer die Hilbert-Matrix M und x=(1,...,1) wird
# das Ergebnis b:= M*x mit der Loesung y von M*y=b
# verglichen, die uns der Rechner anbietet

import numpy as np

def hilbertM(n):
    M = np.empty((n+1,n+1))
    for j in range(n+1):
        for k in range(n+1):
            M[j][k]=1/(j+k+1)
    return M

n=16
for i in range(0,n,2):
    x = np.ones(i+1)
    M = hilbertM(i)
    b = M@x
    y = np.linalg.solve(M,b)
    print("-----------------------","n = ",i,"-----------------------------")
    print("M*(1,...1) = b = ", b)
    print("LGS-Loeser(M,b) = x = ",y)

