Off[General::spell]

(*        Stellenzahl für die Eingabematrix  vorgeben  ipl = 1, 2, 3 ,4  oder 5    *)

ipl  =  1;
  stlist  =  { 8,  12,  16,  20, 24 };                        (* Liste der vorgegebenen Stellenzahlen  *)
  st =  stlist[[ipl]];

$MinPrecision = $MaxPrecision = gen = 
            28;

Fakul[k_] := Fakul[k - 1]*k  ;   Fakul[0] = 1. ;

(*           Funktionsunterprogramm zum Runden auf L Stellen    *)

\(\(\(Runden[xN_, 
        L_]\)\(:=\)\(\ \)\((\ \ signum = 
          If[xN\  < 0, \ SetPrecision[\(-1. \), gen], 
            SetPrecision[1.0, gen]]; 
        zehn = SetPrecision[10.0, gen]; 
expo = 
          If[\ Abs[xN] < 1, L - IntegerPart[Log[10. , Abs[xN]]], 
            L - IntegerPart[Log[10. , Abs[xN]]] - 1]; 
xL = 
          If[xN == 0, 0. , 
            signum*Floor[
                Abs[xN]*zehn\^expo + SetPrecision[0.5, gen] + 
                  zehn\^\((L - gen)\)]*zehn\^\(-expo\)]; 
        xL)\)\(	\)\)\)

PaddedForm[Runden[1/3, 18], {gen, 19}]

NormMat[matrix_, n_] :=   ( 
        Do[zeisum[matrix, i, 
              n] =  (∑_(j = 1)^n) Abs[matrix[i, j]], {i, 1, n}] ; 
        zwimax = zeisum[matrix, 1, n]; 
        Do[zwimax = Max[zwimax, zeisum[matrix, i, n]], {i, 2, n}]; 
        zwimax )

nlist = {3, 5, 7, 9, 11, 13, 15, 17, 19};

(*      Erstellen der  Hilbertmatrix  Hplus  mit  gen Stellen  für alle Werte von nlist      *)

\(Do[{n = nlist[\([l]\)], 

        Do[Do[Htabplus[l, i, j] = \(Hplus[i, j] = 
                SetPrecision[1/\((i + j - 1)\), gen]\), {i, 1, 
              nlist[\([l]\)]}, {j, 1, nlist[\([l]\)]}]]}, 	{l, 1, 
        9}]\)

(*  Test - Ausgabe der  Hilbertmatrix  Htabplus = Hplus   und 
   ihrer  intern  berechneten  Inversen   Hinvplus   für  e i n e n  Wert  von  nlist=lfest     *)

lfest = 3;

    Print["Die Ordnung der Matrix ist: n = ", 
      nlist[[lfest]]]

    TableForm[
      Table[ScientificForm[
          PaddedForm[Htabplus[l, i, j] , {gen, gen - 1}]], {l, lfest, 
          lfest}, {i, 1, nlist[[l]]}, {j, 1, nlist[[l]]}], 
      TableSpacing -> {2, 1}]

Hmatplus[lfest] = 
        Table[Htabplus[lfest, i, j], {i, 1, nlist[[lfest]]}, {j, 1, 
            nlist[[lfest]]} ];

Print["Die Ordnung der Matrix ist: n = ", 
      nlist[[lfest]]]
Hmatplus[lfest] // MatrixForm

Hinvplus = Inverse[Hmatplus[lfest]];

\(\(\(\(lfest = 3;\)	

    Print["Die Ordnung der Matrix ist: n = ", 
      nlist[\([lfest]\)]]

    TableForm[
      Table[ScientificForm[
          PaddedForm[Hinvplus[\([i, j]\)]\ , {gen, gen - 1}]], {l, lfest, 
          lfest}, {i, 1, nlist[\([l]\)]}, {j, 1, nlist[\([l]\)]}], 
      TableSpacing -> {2, 1}]\)\(\ \)\)\)

(*       Erstellen der  Hilbertmatrix  H  mit  st Stellen für alle Werte von nlist    *)

\(Do[{n = nlist[\([l]\)], 

        Do[Do[Htab[l, i, j] = \(H[i, j] = 
                Runden[Htabplus[l, i, j], st]\)\ , {i, 1, 
              nlist[\([l]\)]}, {j, 1, nlist[\([l]\)]}]], 
\ 
        NormHil[l] = NormMat[H, n]}, {l, 1, 9}]\)

lfest = 8;      

    Print["Die Ordnung der Matrix ist: n = ", 
      nlist[[lfest]]]

    TableForm[
      Table[ScientificForm[PaddedForm[Htab[l, i, j] , {st, st - 1}]], {l, 
          lfest, lfest}, {i, 1, nlist[[l]]}, {j, 1, nlist[[l]]}], 
      TableSpacing -> {2, 1}]

Hmat[lfest] = 
        Table[Htab[lfest, i, j], {i, 1, nlist[[lfest]]}, {j, 1, 
            nlist[[lfest]]} ];

Print["Die Ordnung der Matrix ist: n = ", 
      nlist[[lfest]]]  
 Hmat[lfest] // MatrixForm

Hinv = Inverse[Hmat[lfest]];

Print["Die Ordnung der Matrix ist: n = ", 
      nlist[[lfest]]]

    TableForm[
      Table[ScientificForm[PaddedForm[Hinv[[i, j]] , {st, st - 1}]], {l, 
          lfest, lfest}, {i, 1, nlist[[l]]}, {j, 1, nlist[[l]]}], 
      TableSpacing -> {2, 1}]

(*       Erstellen der Differenzmatrix  Hplus - H    für alle Werte  von  nlist         *)

\(Do[\ {n = nlist[\([l]\)], 
\ \ \ \ \ \ \ Do[
          Do[HtabplusminHtab[l, i, j] = \(HplusminH[i, j] = 
                SetPrecision[Htabplus[l, i, j] - Htab[l, i, j], gen]\), {i, 
              1, n}, {j, 1, n}]], 
	
        NormDiffHil[l] = NormMat[HplusminH, n]}, {l, 1, 9}]\)

lfest = 3;

    Print["Die Ordnung der Matrix ist: n = ", 
      nlist[[lfest]]]

    TableForm[
      Table[ScientificForm[
          PaddedForm[HtabplusminHtab[l, i, j] , {5, 3}]], {l, lfest, 
          lfest}, {i, 1, nlist[[l]]}, {j, 1, nlist[[l]]}], 
      TableSpacing -> {2, 1}]

(*       Gauß - Zerlegung der Matrix A =  H  ( ohne Zeilenvertauschung )  
                                                      für alle Werte von nlist    *)

(*  Vorwärtsrechnung ( 
                erste i - Schleife   ) ,  Rückwärtsrechnung ( 
                zweite i - Schleife )  *)

\(Do[{n = nlist[\([l]\)], 
\ \ \ \ \ \ 	Do[
          Do[\ A[i, j] = H[i, j], {i, 1, n}], {j, 1, n}], 
				Do[
          Do[{A[i, k] = A[i, k]/A[k, k], 
              Do[A[i, j] = A[i, j] - A[i, k]*A[k, j], {j, k + 1, n}]}, {i, 
              k + 1, n}], {k, 1, 
            n - 1}], 
				Do[{Do[{b[i] = 
                  If[i == k, SetPrecision[1, gen], 0], 
                sumAb = SetPrecision[0. , gen], 
				Do[
                  sumAb = sumAb + A[i, j]*b[j], {j, 1, i - 1}], 
                b[i] = b[i] - sumAb}, {i, 1, 
                n}], 
						Do[{sumAX = SetPrecision[0. , gen], 
                Do[sumAX = sumAX + A[i, j]*Xgauss[l, j, k], {j, i + 1, 
                    n}], 
						\ \ \ \ \ \ Xgauss[l, i, 
                    k] = \((b[i] - sumAX)\)/A[i, i]}, {i, n, 
                1, \(-1\)}]}, {k, 1, 
            n}], 
\ \ \ \ \ \ \ \ If[
          Abs[A[n, n]] ≤ \ 
            10^\((\(-st\) + 
                  2)\), 
\ \ \ \ \ \ Print["Achtung: die Matrix ist bei der Ordnung n = ", 
            n, " fast singulär !!!  "\ , 
\ \ \ \ " A(n,n) = ", \ PaddedForm[A[n, n], {6, 3}]]\ ]\ }, 	
	{l, 1, 
        9}]\)

(*   Ausgabe  der  Gauß  -  
            Zerlegung  von  A ,   zu  Testzwecken     *)

\(\(\ \ \)\(\(lfest = 1;\)\(
\)\(
\)
      \(\ \ \)\(TableForm[
        Table[\ ScientificForm[PaddedForm[A[i, j], {st, st - 1}]], {i, 1, 
            nlist[\([lfest]\)]}, 
			\ \ {j, 1, nlist[\([lfest]\)]}], \ 
        TableSpacing -> {2, 1}]\)\(\ \ \)\)\)

\(\(\(\(lfest = 4;\)

    Print["Die Ordnung der Matrix ist: n = ", nlist[\([lfest]\)]]

    TableForm[
      Table[ScientificForm[PaddedForm[Xgauss[l, i, j]\ , {st, st - 1}]], {l, 
          lfest, lfest}, {i, 1, nlist[\([l]\)]}, {j, 1, nlist[\([l]\)]}], 
      TableSpacing -> {2, 1}]\)\(\ \)\)\)

(*      Cholesky - Zerlegung der Matrix A = H  ( verketteter Algorithmus )  
                                                    für alle Werte  von  nlist    *)

(*     Vorwärtsrechnung ( 
                erste i - Schleife   ) ,  Rückwärtsrechnung ( 
                zweite i - Schleife )    *)

Do[{n = nlist[[l]],
      	Do[Do[ A[i, j] = H[i, j], {i, 1, n}], {j, 1, n}],
		\(Do[{Do[{sumAjiAjk = SetPrecision[0. , gen], 
                    Do[sumAjiAjk = sumAjiAjk + A[j, i]*A[j, k], {j, 1, 
                        i - 1}], 
	\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 	A[i, 
                        k] = \((A[i, k] - sumAjiAjk)\)/A[i, i]}, {i, 1, 
                    k - 1}], 
                sumAjk2 = 
                  SetPrecision[0. , 
                    gen], 
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Do[
                  sumAjk2 = sumAjk2 + A[j, k]*A[j, k], {j, 1, 
                    k - 1}], 
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ AkkminsumAjk2 = SetPrecision[A[k, k] - sumAjk2, gen], 
                A[k, k] = 
                  SetPrecision[Sqrt[AkkminsumAjk2], 
                    gen]}, 
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {k, 1, n}]\),		
		\(Do[{Do[{b[i] = If[i == k, SetPrecision[1, gen], 0], 
                    sumAb = SetPrecision[0. , gen], 
		\ \ \ \ \ Do[
                      sumAb = sumAb + A[j, i]*b[j], {j, 1, i - 1}], 
                    b[i] = \((b[i] - sumAb)\)/A[i, i]}, {i, 1, 
                    n}], 
	\ \ \ \ \ 	Do[{sumAX = SetPrecision[0. , gen], 
                    Do[sumAX = sumAX + A[i, j]*Xchol[l, j, k], {j, i + 1, 
                        n}], 
			Xchol[l, i, k] = \((b[i] - sumAX)\)/
                        A[i, i]}, {i, n, 
                    1, \(-1\)}]\ \ \ }, 
\ \ \ \ \ \ \ \ \ \ \ \ \ {k, 1, n}]\)  ,   
    If[AkkminsumAjk2 ≤ 10. ^(-st + 2), 
              Print[" Die Matrix ist bei der Ordnung n = ", 
                n, " nicht mehr positiv definit !!!  " ,  " A(n,n) = \
", PaddedForm[A[n, n], {4, 3}]]] },
         {l, 1, 9}]

(*   Ausgabe  der  Cholesky -  
            Zerlegung  von  A  ,    zu    Testzwecken     *)

lfest = 1;
\(\(\ \)\(TableForm[
        Table[\ ScientificForm[PaddedForm[A[i, j], {st, st - 1}]], {i, 1, 
            nlist[\([lfest]\)]}, 
			\ \ {j, 1, nlist[\([lfest]\)]}], \ 
        TableSpacing -> {2, 1}]\)\(\ \ \)\)

\(\(\(\(lfest = 4;\)

    Print["Die Ordnung der Matrix ist: n = ", 
      nlist[\([lfest]\)]]

    TableForm[
      Table[Chop[
          ScientificForm[PaddedForm[Xchol[l, i, j]\ , {st, st - 1}]]], {l, 
          lfest, lfest}, {i, 1, nlist[\([l]\)]}, {j, 1, nlist[\([l]\)]}], 
      TableSpacing -> {2, 1}]\)\(\ \)\)\)

(*      Erstellen  der  exakten  inversen  Hilbertmatrix  Xexakt  =  H^-1  
                                                       für alle Werte von nlist  *)

\(\(\(	\)\(Do[{n = nlist[\([l]\)], 
\ \ \ \ \ \ \ \ \ \ \ \ \ Do[
          Do[Xexakttab[l, i, j] = \ \(Xexakt[i, j] = 
                SetPrecision[Fakul[n + i - 1], 
                    gen]*\((\(-1\))\)^\((i + 
                          j)\)/
	\ \ \ \ \ \ \ \((\((i + j - 1)\)*
                        SetPrecision[\ Fakul[i - 1]^2, gen]*
                        SetPrecision[Fakul[j - 1]^2, gen]*
                        SetPrecision[Fakul[n - i], gen]*
                        SetPrecision[Fakul[n - j], gen])\)*
                  SetPrecision[Fakul[n + j - 1], 
                    gen]\), 
	{i, 1, n}], {j, \ 1, 
            n}]\ , \ NormHilInv[l] = 
          NormMat[Xexakt, n]}, 
	\ \ {\ l, 1, 
        9}\ ]\)\)\)

\(\(\(\(lfest = 4;\)	

    Print["Die Ordnung der Matrix ist: n = ", 
      nlist[\([lfest]\)]]

    TableForm[
      Table[ScientificForm[
          PaddedForm[Xexakttab[l, i, j]\ , {st, st - 1}]], {l, lfest, 
          lfest}, {i, 1, nlist[\([l]\)]}, {j, 1, nlist[\([l]\)]}], 
      TableSpacing -> {2, 1}]\)\(\ \ \)\)\)

(*      Erstellen  der  Differenzmatrix  Xexakt - Xgauss       für alle Werte von nlist  *)

\(Do[{n = nlist[\([l]\)], 

        Do[Do[XexaminXgautab[l, i, j] = \(XexaminXgau[i, j] = 
                Xexakttab[l, i, j] - Xgauss[l, i, j]\), {i, 1, n}], {j, 1, 
            n}], 
	NormDiffHilInv[l] = NormMat[XexaminXgau, n]}, {l, 1, 
        9}]\)

\(\(\(\(lfest = 3;\)	

    TableForm[
      Table[ScientificForm[
          PaddedForm[
            XexaminXgautab[l, i, j], {st, 
              st - 1}]], 
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 		{l, lfest, lfest}, {i, 1, nlist[\([l]\)]}, {j, 1, nlist[\([l]\)]}], 
      TableSpacing -> {2, 1}]\)\(\ \ \)\)\)

(*      Erstellen  der  Differenzmatrix  Xchol - Xgauss       für alle Werte von nlist  *)

\(Do[{n = nlist[\([l]\)], 

        Do[Do[XcholminXgautab[l, i, j] = \(XcholminXgau[i, j] = 
                Xchol[l, i, j] - Xgauss[l, i, j]\), {i, 1, n}], {j, 1, 
            n}], 
	NormDiffCholGau[l] = NormMat[XcholminXgau, n]}, {l, 1, 
        9}]\)

(*      Erstellen  der  Differenzmatrix  Xexakt - Xchol       für alle Werte von nlist  *)

\(Do[{n = nlist[\([l]\)], 

        Do[Do[XexaminXcholtab[l, i, j] = \(XexaminXchol[i, j] = 
                Xexakttab[l, i, j] - Xchol[l, i, j]\), {i, 1, n}], {j, 1, 
            n}], 
	NormDiffHilInvChol[l] = NormMat[XexaminXchol, n]}, {l, 
        1, 9}]\)

TableForm[
      Do[Print[ScientificForm[
            PaddedForm[NormDiffHilInv[l], {15, 6}]], "  ", 
          ScientificForm[
            PaddedForm[NormDiffHilInvChol[l], {15, 6}]], "   ", 
          ScientificForm[PaddedForm[NormDiffCholGau[l], {15, 6}]]], {l, 1, 
          9}]]

\(\(\(\(lfest = 3;\)	

    TableForm[
      Table[ScientificForm[
          PaddedForm[
            XexaminXcholtab[l, i, j], {st, 
              st - 1}]], 
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 		{l, lfest, lfest}, {i, 1, nlist[\([l]\)]}, {j, 1, nlist[\([l]\)]}], 
      TableSpacing -> {2, 1}]\)\(\ \ \)\)\)

(*     Erstellen  des  Tabellenkopfes    *)

\(\(\(Tabelle[0, 1] = "   n"; Tabelle[0, 2] = " || Hil || "; 
    Tabelle[0, 3] = "|| HilInV||"; Tabelle[0, 4] = "||Hplus-Hil||";

    Tabelle[0, 5] = "||Exakt-Xgauß|| "; 
    Tabelle[0, 6] = " Kond_Fakt"; 
    Tabelle[0, 7] = " Cond_Zahl";\)\(	\)\)\)

(*        Erstellen  der Tabelle   mit  Berechnung  des  Konditionsfaktors  k  und 
    der Konditionszahl  μ = cond (H)     *)

\(Do[{Tabelle[i, 1] = nlist[\([i]\)], \ Tabelle[i, 2] = NormHil[i], \ 
        Tabelle[i, 3] = NormHilInv[i], \ Tabelle[i, 4] = NormDiffHil[i], 
        Tabelle[i, 5] = NormDiffHilInv[i], 
        Tabelle[i, 6] = \(kfakt[i] = 
            NormHil[i]/NormHilInv[i]*
              NormDiffHilInv[i]/NormDiffHil[i]\)\ , 
\ \ \ \ \ Tabelle[i, 
            7] = \(mue[i] = NormHil[i]*NormHilInv[i]\)}, \ \ {i, 1, 
        9}\ ]\)

genlist = {3, {6, 3}, {4, 3}, {4, 3}, {5, 3}, {4, 3}, {4, 
            3}};

TableForm[
      Table[ScientificForm[PaddedForm[Tabelle[i, j], genlist[[j]]]], {i, 
          0, 9}, {j, 1, 7}], TableSpacing -> {2, 1}]

<< Graphics`Colors`

farblist  =  { Cyan, Green,  Brown,  Blue, 
          Magenta };

Print["                        Konditionsfaktoren k \
"];
Tabpkte[ipl]=ListPlot[\(Table[{Tabelle[n, 1], Log[10. , Tabelle[n, 6]]}, {n, 1, 9}], 
        PlotJoined\  -> \ False, 
	PlotRange -> {{0, 20}, {0, 30}}, 
        Prolog\  -> \ AbsolutePointSize[4], 
        PlotStyle -> farblist[\([ipl]\)], AspectRatio -> 0.6, 
        PlotLabel -> "", 
        AxesLabel -> {"> n", "      ^ lg(k)"}\)]

Print["                        Konditionsfaktoren k"];
Tabsp[ipl]=ListPlot[\(Table[{Tabelle[n, 1], Log[10. , Tabelle[n, 6]]}, {n, 1, 9}], 
        PlotJoined\  -> \ True, 
\ \ \ \ PlotRange -> {{0, 20}, {0, 30}}, 
        PlotStyle -> farblist[\([ipl]\)], AspectRatio -> 0.6, 
        PlotLabel -> "", 
        AxesLabel -> {"> n", "      ^ lg(k)"}\)]

Tabelle[0, 1]  =  1;  Tabelle[0, 7] = 1. ;

Print["                        Konditionszahlen \
μ"];
Tabpkte[0]=ListPlot[\(Table[{Tabelle[n, 1], Log[10. , Tabelle[n, 7]]}, {n, 0, 9}], 
        PlotJoined\  -> \ False, 
	PlotRange -> {{0, 20}, {0, 30}}, 
        Prolog\  -> \ AbsolutePointSize[4], PlotStyle -> Red, 
        AspectRatio -> 0.6, PlotLabel -> "", 
        AxesLabel -> {"> n", "    ^ lg(μ)"}\)]

Print["                        Konditionszahlenen \
μ"];
Tabsp[0]=ListPlot[\(Table[{Tabelle[n, 1], Log[10. , Tabelle[n, 7]]}, {n, 0, 9}], 
        PlotJoined\  -> \ True, 
	PlotRange -> {{0, 20}, {0, 30}}, 
        PlotStyle -> Red, AspectRatio -> 0.6, PlotLabel -> "", 
        AxesLabel -> {"> n", "      ^ lg(μ)"}\)]

(*     Nummern    
          der  auszugebenden Kurven festlegen       *)

If [ 
        ipl  ==  1,  { ipl1  =  1;  
          ipl2  =  1;   ipl3  =  1;   ipl4  =  1, 
          ipl5  =  1 }];
If [ 
        ipl  ==  2,  { ipl1  =  1;  
          ipl2  =  2;   ipl3  =  1;   ipl4  =  1, 
          ipl5  =  1 }];
If [ 
        ipl  ==  3,  { ipl1  =  1;  
          ipl2  =  2;   ipl3  =  3;   ipl4  =  1, 
          ipl5  =  1 }];
If [ 
        ipl  ==  4,  { ipl1  =  1;  
          ipl2  =  2;   ipl3  =  3;   ipl4  =  4, 
          ipl5  =  1 }];
If [ 
        ipl  ==  5,  { ipl1  =  1;  
          ipl2  =  2;   ipl3  =  3;   ipl4  =  4, 
          ipl5  =  5 }];

Print["               Konditionsfaktoren und \
Konditionszahlen"];
Show[Tabsp[0], Tabsp[ipl1], Tabsp[ipl2], Tabsp[ipl3], Tabsp[ipl4], 
      Tabsp[ipl5], Tabpkte[0], Tabpkte[ipl1], Tabpkte[ipl2], Tabpkte[ipl3], 
      Tabpkte[ipl4], Tabpkte[ipl5], 
      Prolog  ->  AbsolutePointSize[4]]

(*     Relativer Fehler bei der Berechnung der inversen Matrizen für alle Werte von nlist   *)

Print["                        Relativer Fehler in % \
"];
Tabpkteproz[ipl]=ListPlot[\(Table[{Tabelle[n, 1], 
            100*NormDiffHilInv[n]/NormHilInv[n]}, {n, 1, 9}], 
        PlotJoined\  -> \ False, 
	PlotRange -> {{0, 20}, {\(-10\), 150}}, 
        Prolog\  -> \ AbsolutePointSize[4], 
        PlotStyle -> farblist[\([ipl]\)], AspectRatio -> 0.6, 
        PlotLabel -> "", AxesLabel -> {"> n", "  ^ %"}\)]

Print["                        Relativer Fehler in % \
"];
Tabspproz[ipl]=ListPlot[\(Table[{Tabelle[n, 1], 
            100*NormDiffHilInv[n]/NormHilInv[n]}, {n, 1, 9}], 
        PlotJoined\  -> \ True, 
	PlotRange -> {{0, 20}, {\(-10\), 150}}, 
        Prolog\  -> \ AbsolutePointSize[4], 
        PlotStyle -> farblist[\([ipl]\)], AspectRatio -> 0.6, 
        PlotLabel -> "", AxesLabel -> {"> n", "  ^ %"}\)]

Print["             Relativer Fehler in %  "];
Show[Tabspproz[ipl1], Tabspproz[ipl2], Tabspproz[ipl3], 
      Tabspproz[ipl4], Tabspproz[ipl5], Tabpkteproz[ipl1], Tabpkteproz[ipl2], 
      Tabpkteproz[ipl3], Tabpkteproz[ipl4], Tabpkteproz[ipl5], 
      Prolog  ->  AbsolutePointSize[4]]

(*     Relativer Fehler bei der Berechnung der inversen Matrizen für alle Werte von nlist   *)

Print["                        Relativer Fehler in Log % \
"];
Tabpktelog[ipl]=ListPlot[\(Table[{Tabelle[n, 1], 
            Log[10, 100*NormDiffHilInv[n]/NormHilInv[n]]}, {n, 1, 9}], 
        PlotJoined\  -> \ False, 
	PlotRange -> {{0, 20}, {\(-21\), 5}}, 
        Prolog\  -> \ AbsolutePointSize[4], 
        PlotStyle -> farblist[\([ipl]\)], AspectRatio -> 0.6, 
        PlotLabel -> "", 
        AxesLabel -> {"> n", "      ^ Log %"}\)]

Print["                        Relativer Fehler in Log % \
"];
Tabsplog[ipl]=ListPlot[\(Table[{Tabelle[n, 1], 
            Log[10, 100*NormDiffHilInv[n]/NormHilInv[n]]}, {n, 1, 9}], 
        PlotJoined\  -> \ True, 
	PlotRange -> {{0, 20}, {\(-21\), 5}}, 
        Prolog\  -> \ AbsolutePointSize[4], 
        PlotStyle -> farblist[\([ipl]\)], AspectRatio -> 0.6, 
        PlotLabel -> "", 
        AxesLabel -> {"> n", "      ^ Log %"}\)]

\(\(Print["                              Relativer Fehler in %  "];\)\)
Show[Tabsplog[ipl1], Tabsplog[ipl2], Tabsplog[ipl3], Tabsplog[ipl4], 
      Tabsplog[ipl5], Tabpktelog[ipl1], Tabpktelog[ipl2], Tabpktelog[ipl3], 
      Tabpktelog[ipl4], Tabpktelog[ipl5], 
      Prolog  ->  AbsolutePointSize[4]]

(*      Unterschied zwischen Gauss und Cholesky beim Invertieren      für alle Werte von nlist   *)

Print["                        Unterschied D = Gauss - \
Cholesky  "];
Tabpktediff[ipl]=ListPlot[\(Table[{Tabelle[n, 1], Log[10, NormDiffCholGau[n]]}, {n, 1, 
            9}], PlotJoined\  -> \ False, 
	
        PlotRange -> {{0, 20}, {\(-35\), 20}}, 
        Prolog\  -> \ AbsolutePointSize[4], 
        PlotStyle -> farblist[\([ipl]\)], AspectRatio -> 0.6, 
        PlotLabel -> "", 
        AxesLabel -> {"> n", "      ^ lg(D)"}\)]

Print["                        Unterschied D = Gauss - \
Cholesky  "];
Tabspdiff[ipl]=ListPlot[\(Table[{Tabelle[n, 1], Log[10, NormDiffCholGau[n]]}, {n, 1, 
            9}], PlotJoined\  -> \ True, 
	
        PlotRange -> {{0, 20}, {\(-35\), 20}}, 
        Prolog\  -> \ AbsolutePointSize[4], 
        PlotStyle -> farblist[\([ipl]\)], AspectRatio -> 0.6, 
        PlotLabel -> "", 
        AxesLabel -> {"> n", "      ^ lg(D)"}\)]

Show[Tabpktediff[ipl1], Tabpktediff[ipl2], Tabpktediff[ipl3], 
      Tabpktediff[ipl4], Tabpktediff[ipl5], Tabspdiff[ipl1], Tabspdiff[ipl2], 
      Tabspdiff[ipl3], Tabspdiff[ipl4], Tabspdiff[ipl5]]