> #============================
> # Testaufgabe 5 - LGS
> # Fehlerabschaetzung
> #============================
> restart; with(linalg):
Warning, new definition for norm
Warning, new definition for trace
> # relativer Fehler r[x] <= err mit
> err:=kappa[A,infinity]/(1-h)*(r[A,infinity]+r[b,infinity]);
> h:=kappa[A,infinity]*r[A,infinity]; # muss kleiner 1 sein!!
> A:=matrix(2,2,[0.985, 2.146, 1.478, 3.175]);
> b:=vector([0.597,0.888]);
> d:=A[1,1]*A[2,2]-A[2,1]*A[1,2]; Am1:=evalm(1/d*matrix(2,2,[A[2,2], -A[1,2], -A[2,1], A[1,1]]));
> N[A,infinity]:=A[2,1]+A[2,2]; N[Am1,infinity]:=-Am1[1,1]+Am1[1,2];
> N[b,infinity]:=b[2];
> kappa[A,infinity]:=N[A,infinity]*N[Am1,infinity];
> N[dA,infinity]:=2*5e-4; N[db,infinity]:=5e-4;
> r[A,infinity]:=N[dA,infinity]/N[A,infinity];
> r[b,infinity]:=N[db,infinity]/N[b,infinity];
> h; # muss kleiner 1 sein!!
> err;
> # Es muss also in x mit einem relativen Fehler von 50% gerechnet werden.
> ag:=augment(A,b); # Loesung war eigentlich nicht verlangt
> ag:=gausselim(ag);
> x:=backsub(ag);
> Delta[x]:=err*x[1]; # absoluter Fehler
>