%% Gleichungssystem mit der Hilbert-Matrix
% Wir betrachten ein lineares Gleichungssystem
% mit der Hilbert-Matrix A \in \mathbb{R}^{n\times n} und einer vorgegebenen  Lösung x=e^j  (j-ter Basisvektor in \mathbb{R}^n). Das Gleichungssystem wird mit einer in MATLAB implementierten effizienten und stabilen Methode gelöst. Für die berechnete Lösung \tilde x werden das relative Residuum
% \frac{\|A \tilde x-b\|_{\infty}}{\|b\|_\infty} und der relative Fehler   \frac{\|\tilde x -x\|_{\infty}}{\|x\|_\infty}=\|\tilde x-e^j\|_\infty berechnet und gezeigt.
% Zunächst wird die Dimension n angegeben und die Hilbert-Matrix berechnet:

n=10
A=zeros(n,n);
for i=1:n
    for j=1:n
        A(i,j)=1/(i+j-1);
    end
end

% Der Index j (mit x=e^j) wird gewählt und die entsprechende rechte Seite (die j-te Spalte der Matrix) wird bestimmt:

j=2
x=zeros(n,1);
x(j)=1;
b=A(:,j);

% Das Gleichungssystem Ax=b wird in MATLAB unter Verwendung des Backslash-Operators \ mit einer effizienten und stabilen Methode  gelöst:

format long;
xtilde=A\b

% Die Größe des relativen Residuums  \frac{\|A \tilde x-b\|_{\infty}}{\|b\|_\infty} und  des relativen Fehlers  \frac{\|\tilde x -x\|_{\infty}}{\|x\|_\infty}=\|\tilde x-e^j\|_\infty werden berechnet und gezeigt. Außerdem wird die Kondidionszahl  \kappa_\infty(A) in MATLAB bestimmt und gezeigt.

format short;
Residuum=norm(A*xtilde-b,inf)/norm(b,inf)
Fehler=norm(xtilde-x,inf)
Konditionszahl=cond(A,inf)

%
%% Aktivität:
% Variieren Sie n, z.B. n \in \{6,10,14,18\}, und j (1 \leq j \leq n), und erklären Sie die beobachteten Effekte.