mp5: done

This commit is contained in:
Claudio Maggioni (maggicl) 2020-11-30 21:02:20 +01:00
parent 0b1939a9d2
commit f001099b7a
11 changed files with 296 additions and 366 deletions

Binary file not shown.

View file

@ -89,7 +89,8 @@ The plot of the squared residual 2-norms over all iterations can be found in Fig
\ref{fig:plot1}. \ref{fig:plot1}.
\begin{figure}[h] \begin{figure}[h]
\input{test_semilogy} \centering
\resizebox{0.6\textwidth}{!}{\input{test_semilogy}}
\caption{Semilog plot of the plot of the squared residual 2-norms over all iterations}\label{fig:plot1} \caption{Semilog plot of the plot of the squared residual 2-norms over all iterations}\label{fig:plot1}
\end{figure} \end{figure}
@ -104,7 +105,8 @@ reflected in the eigenvalue plot, which shows a not so
drastic increase of the first eigenvalues ordered in increasing order. drastic increase of the first eigenvalues ordered in increasing order.
\begin{figure}[h] \begin{figure}[h]
\input{A_eig} \centering
\resizebox{0.6\textwidth}{!}{\input{A_eig}}
\caption{Semilog plot of the eigenvalues of A}\label{fig:plot2} \caption{Semilog plot of the eigenvalues of A}\label{fig:plot2}
\end{figure} \end{figure}
@ -120,13 +122,39 @@ $max\_iter=200$ $tol= 10^{-6}$. Plot the convergence (residual
vs iteration) of each solver and display the original and final vs iteration) of each solver and display the original and final
deblurred image.} deblurred image.}
Plots already rendered. My implementation is in the file \texttt{deblurring.m}. Plots for the original image, the deblurred image from
\texttt{myCG}, the deblurred image from \texttt{pcg}, and a semi-logarithmic plot on the y-axis of the residuals
from the two conjugate gradient functions over the iteration count can be found respectively in figure \ref{fig:orig},
\ref{fig:mycg}, \ref{fig:pcg}, and \ref{fig:rvec}.
\begin{figure}[h]
\begin{subfigure}{0.33\textwidth}
\centering
\resizebox{0.8\textwidth}{!}{\input{img_orig}}
\caption{Original image grayscale matrix}\label{fig:orig}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\centering
\resizebox{0.8\textwidth}{!}{\input{img_my}}
\caption{Deblurred image using \texttt{myCG}}\label{fig:mycg}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\centering
\resizebox{0.8\textwidth}{!}{\input{img_rcg}}
\caption{Deblurred image using \texttt{rcg}}\label{fig:pcg}
\end{subfigure}
\caption{Blurred and deblurred images}
\end{figure}
\begin{figure}[h]
\centering
\resizebox{0.6\textwidth}{!}{\input{res_log}}
\caption{Residuals of \texttt{myCG} (in blue) and \texttt{rcg} (in orange) over iteration count (y axis is a log scale)}\label{fig:rvec}
\end{figure}
\subsection{ When would \texttt{pcg} be worth the added computational cost? \subsection{ When would \texttt{pcg} be worth the added computational cost?
What about if you are debluring lots of images with the same What about if you are debluring lots of images with the same
blur operator?} blur operator?}
\textit{pcg} better for many, myCG better for one thanks to cost of ichol. The \textit{pcg} algorithm provided by MATLAB would be worth for many deblurring operations useing the same blur operator, since the cost of computing the incomplete cholesky decomposition (i.e. \texttt{ichol}) can be payed only once and thus amortized. \texttt{myCG} is better for few iterations thanks to not needing any seed that is expensive to compute.
\end{document} \end{document}

View file

@ -14,6 +14,7 @@ im_l=min(min(B));
im_u=max(max(B)); im_u=max(max(B));
imshow(B,[im_l,im_u]) imshow(B,[im_l,im_u])
title('Blured Image') title('Blured Image')
matlab2tikz('showInfo', false, '../img_orig.tex');
% Vectorize the image (row by row) % Vectorize the image (row by row)
b=B'; b=B';
@ -64,15 +65,3 @@ im_u=max(max(X2));
imshow(X2,[im_l,im_u]) imshow(X2,[im_l,im_u])
title('Sharp Image (rcg)') title('Sharp Image (rcg)')
matlab2tikz('showInfo', false, '../img_rcg.tex'); matlab2tikz('showInfo', false, '../img_rcg.tex');
%% Validate Test values
load('test_data/A_test.mat');
load('test_data/x_test_exact.mat');
load('test_data/b_test.mat');
%res=||x^*-A^{-1}b||
res=x_test_exact-inv(A_test)*b_test;
norm(res);
%(Now do it with your CG and Matlab's PCG routine!!!)

View file

@ -0,0 +1,69 @@
close all;
clear; clc;
addpath /Users/maggicl/Git/matlab2tikz/src/;
%% Load Default Img Data
load('blur_data/B.mat');
B=double(B);
load('blur_data/A.mat');
A=double(A);
% Show Image
figure;
im_l=min(min(B));
im_u=max(max(B));
imshow(B,[im_l,im_u])
title('Blurred Image')
matlab2tikz('showInfo', false, '../img_orig.tex');
% Vectorize the image (row by row)
b=B';
b=b(:);
AT = A' * A;
bt = A' * b;
IL = ichol(AT, struct('type', 'nofill', 'diagcomp', 0.01));
[x, rvec] = myCG(AT, bt, zeros(size(b)), 200, 1e-6);
[x2, ~, ~, ~, rvec2] = pcg(AT, bt, 1e-6, 200, IL, IL');
X2 = zeros(250, 250);
for i = 0:249
for j = 1:250
X2(i + 1, j) = x2(i * 250 + j);
end
end
figure;
im_l=min(min(X2));
im_u=max(max(X2));
imshow(X2,[im_l,im_u])
title('Sharp Image (rcg)')
matlab2tikz('showInfo', false, '../img_rcg.tex');
X = zeros(250, 250);
for i = 0:249
for j = 1:250
X(i + 1, j) = x(i * 250 + j);
end
end
figure;
im_l=min(min(X));
im_u=max(max(X));
imshow(X,[im_l,im_u])
title('Sharp Image (myCG)')
matlab2tikz('showInfo', false, '../img_my.tex');
figure;
semilogy(rvec / norm(bt));
hold on;
semilogy(rvec2 / norm(bt));
hold off;
title('Residual norms over iteration (y is log)')
matlab2tikz('showInfo', false, '../res_log.tex');

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View file

@ -1,208 +1,26 @@
% This file was created by matlab2tikz. % This file was created by matlab2tikz.
% %
\definecolor{mycolor1}{rgb}{0.00000,0.44700,0.74100}%
\definecolor{mycolor2}{rgb}{0.85000,0.32500,0.09800}%
%
\begin{tikzpicture} \begin{tikzpicture}
\begin{axis}[% \begin{axis}[%
width=6.028in, width=2.604in,
height=4.754in, height=2.604in,
at={(1.011in,0.642in)}, at={(0.962in,0.66in)},
scale only axis, scale only axis,
xmin=0, point meta min=-0.0128979816802523,
xmax=160, point meta max=0.983438722992887,
ymode=log, axis on top,
ymin=1e-09, xmin=0.5,
ymax=1, xmax=250.5,
yminorticks=true, tick align=outside,
axis background/.style={fill=white}, y dir=reverse,
ymin=0.5,
ymax=250.5,
axis line style={draw=none},
ticks=none,
title style={font=\bfseries}, title style={font=\bfseries},
title={Sharp Image (myCG)} title={Sharp Image (myCG)}
] ]
\addplot [color=mycolor1, forget plot] \addplot [forget plot] graphics [xmin=0.5, xmax=250.5, ymin=0.5, ymax=250.5] {img_my-1.png};
table[row sep=crcr]{%
1 1\\
2 0.557596535615506\\
3 0.0776565625508993\\
4 0.0198777323861488\\
5 0.00796998880225869\\
6 0.00379999756962287\\
7 0.0020374948726527\\
8 0.00117378505868276\\
9 0.000679072640424649\\
10 0.000460205525227464\\
11 0.000299176988582771\\
12 0.000208705837325249\\
13 0.000154155368421638\\
14 0.000112123271112138\\
15 8.51723029158506e-05\\
16 6.84145894011081e-05\\
17 5.22773173463893e-05\\
18 4.19658990284636e-05\\
19 3.35813556680048e-05\\
20 2.69909819855066e-05\\
21 2.16953761012216e-05\\
22 1.75366202909715e-05\\
23 1.58613744370523e-05\\
24 1.07527796769547e-05\\
25 1.21386374874815e-05\\
26 1.02818699879239e-05\\
27 8.94827138078525e-06\\
28 7.32098660262362e-06\\
29 6.29855369167726e-06\\
30 5.75608316894847e-06\\
31 5.01303204699423e-06\\
32 4.32711144148808e-06\\
33 3.75161010629661e-06\\
34 3.13429056757287e-06\\
35 2.97535388105766e-06\\
36 2.59579082920428e-06\\
37 2.35613630297938e-06\\
38 2.13570046200869e-06\\
39 1.91918226507556e-06\\
40 1.79412386278695e-06\\
41 1.60497187780807e-06\\
42 1.50673230165654e-06\\
43 1.29912483256279e-06\\
44 1.18346887626955e-06\\
45 1.20647020748118e-06\\
46 9.3251240253618e-07\\
47 1.0443397517104e-06\\
48 7.81977076368339e-07\\
49 7.06367946061837e-07\\
50 6.4448540591806e-07\\
51 5.8599197172186e-07\\
52 5.19890971305916e-07\\
53 4.77565688325081e-07\\
54 4.45837257417211e-07\\
55 4.52354751810163e-07\\
56 4.29038013881601e-07\\
57 4.19929738903634e-07\\
58 3.83172910236919e-07\\
59 3.69121286102551e-07\\
60 3.7162945951419e-07\\
61 3.46046785121521e-07\\
62 3.2757610333777e-07\\
63 3.15320978192865e-07\\
64 2.96758711344714e-07\\
65 2.96817636331721e-07\\
66 2.71124713000919e-07\\
67 2.62909013135003e-07\\
68 2.43462036182122e-07\\
69 2.28404291071355e-07\\
70 2.24415864473535e-07\\
71 2.28468445317059e-07\\
72 2.16184931431001e-07\\
73 2.03658004162582e-07\\
74 1.83416377348938e-07\\
75 1.77025922497321e-07\\
76 1.70006600401098e-07\\
77 1.63491825605367e-07\\
78 1.57088823572816e-07\\
79 1.6232157488019e-07\\
80 1.55517018193347e-07\\
81 1.44132341985942e-07\\
82 1.33984748126276e-07\\
83 1.25196828216566e-07\\
84 1.21215390780978e-07\\
85 1.15338855777099e-07\\
86 1.08276150400162e-07\\
87 1.04805124156927e-07\\
88 1.01804326380992e-07\\
89 1.0010166263465e-07\\
90 9.48101967192271e-08\\
91 8.89240656896784e-08\\
92 8.81989115707906e-08\\
93 8.26647202805855e-08\\
94 7.78552030683533e-08\\
95 8.16807953528358e-08\\
96 7.66807903209987e-08\\
97 7.25436978662745e-08\\
98 6.71702595720625e-08\\
99 7.01343166575355e-08\\
100 6.80449977565014e-08\\
101 6.68192875014292e-08\\
102 6.22828481503855e-08\\
103 6.14945471895087e-08\\
104 6.70743224722449e-08\\
105 6.88753801346713e-08\\
106 6.74234915967769e-08\\
107 6.38752997351369e-08\\
108 6.10832293660283e-08\\
109 5.60972305767953e-08\\
110 5.08646226781961e-08\\
111 4.95616876939365e-08\\
112 4.46580704289759e-08\\
113 4.2687817302539e-08\\
114 4.10291135987935e-08\\
115 3.78768817309767e-08\\
116 3.73532344958446e-08\\
117 3.51670172127996e-08\\
118 3.22365221541983e-08\\
119 3.0914108557954e-08\\
120 3.02505081670252e-08\\
121 2.87114558023773e-08\\
122 2.66853087438055e-08\\
123 2.60049357892773e-08\\
124 2.51289922847544e-08\\
125 2.39005712471205e-08\\
126 2.24094810183141e-08\\
127 2.01607019229326e-08\\
128 1.92164353138885e-08\\
129 1.82687256142865e-08\\
130 1.78764123154733e-08\\
131 1.90420480961642e-08\\
132 1.79866998160551e-08\\
133 1.62987103158868e-08\\
134 1.64054691550642e-08\\
135 1.53093691487969e-08\\
136 1.48209887890633e-08\\
137 1.48119659868498e-08\\
138 1.39479300275188e-08\\
139 1.30269784768553e-08\\
140 1.39128297693094e-08\\
141 1.35601176412506e-08\\
142 1.31199716923384e-08\\
143 1.16605449828788e-08\\
144 1.1256315915413e-08\\
145 1.10059046096852e-08\\
146 1.05336940404569e-08\\
147 9.87947792918718e-09\\
148 9.87385221564589e-09\\
149 9.86634931285779e-09\\
150 9.87265433744658e-09\\
151 8.57424740655266e-09\\
152 7.71781430780305e-09\\
};
\addplot [color=mycolor2, forget plot]
table[row sep=crcr]{%
1 1\\
2 0.00579815823253321\\
3 0.000296979878939853\\
4 0.000149409715840567\\
5 7.77022863220549e-05\\
6 6.2599388664747e-05\\
7 3.67776811885644e-05\\
8 2.26985377046381e-05\\
9 2.75130507463434e-05\\
10 1.74951186586756e-05\\
11 2.49605697423791e-05\\
12 1.12366572676273e-05\\
13 1.54813768580115e-05\\
14 1.23158281548519e-05\\
15 8.35804590504644e-06\\
16 1.06813390449761e-05\\
17 4.65224806020403e-06\\
18 4.34451840639611e-06\\
19 1.95974449943222e-06\\
20 1.88311897094728e-06\\
21 1.76128803348428e-06\\
22 1.275240225499e-06\\
23 1.36310372428718e-06\\
24 1.03510657531701e-06\\
25 1.00121067351798e-06\\
26 9.55653227048963e-07\\
};
\end{axis} \end{axis}
\end{tikzpicture}% \end{tikzpicture}%

BIN
mp5/img_orig-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

26
mp5/img_orig.tex Normal file
View file

@ -0,0 +1,26 @@
% This file was created by matlab2tikz.
%
\begin{tikzpicture}
\begin{axis}[%
width=2.604in,
height=2.604in,
at={(0.962in,0.66in)},
scale only axis,
point meta min=0.0282583971491394,
point meta max=0.921555841989536,
axis on top,
xmin=0.5,
xmax=250.5,
tick align=outside,
y dir=reverse,
ymin=0.5,
ymax=250.5,
axis line style={draw=none},
ticks=none,
title style={font=\bfseries},
title={Blurred Image}
]
\addplot [forget plot] graphics [xmin=0.5, xmax=250.5, ymin=0.5, ymax=250.5] {img_orig-1.png};
\end{axis}
\end{tikzpicture}%

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View file

@ -3,12 +3,12 @@
\begin{tikzpicture} \begin{tikzpicture}
\begin{axis}[% \begin{axis}[%
width=1.736in, width=2.604in,
height=1.736in, height=2.604in,
at={(0.75in,0.653in)}, at={(0.962in,0.66in)},
scale only axis, scale only axis,
point meta min=-0.0128981437433609, point meta min=-0.0235938830592846,
point meta max=0.983438542582913, point meta max=0.993939917509565,
axis on top, axis on top,
xmin=0.5, xmin=0.5,
xmax=250.5, xmax=250.5,

View file

@ -6,14 +6,14 @@
\begin{tikzpicture} \begin{tikzpicture}
\begin{axis}[% \begin{axis}[%
width=6.028in, width=4.521in,
height=4.754in, height=3.566in,
at={(1.011in,0.642in)}, at={(0.758in,0.481in)},
scale only axis, scale only axis,
xmin=0, xmin=0,
xmax=160, xmax=160,
ymode=log, ymode=log,
ymin=1e-09, ymin=1e-10,
ymax=1, ymax=1,
yminorticks=true, yminorticks=true,
axis background/.style={fill=white}, axis background/.style={fill=white},
@ -24,40 +24,40 @@ title={Residual norms over iteration (y is log)}
table[row sep=crcr]{% table[row sep=crcr]{%
1 1\\ 1 1\\
2 0.557596535615506\\ 2 0.557596535615506\\
3 0.0776565625508993\\ 3 0.0776565625508994\\
4 0.0198777323861488\\ 4 0.0198777323861488\\
5 0.00796998880225869\\ 5 0.0079699888022587\\
6 0.00379999756962287\\ 6 0.00379999756962288\\
7 0.0020374948726527\\ 7 0.00203749487265271\\
8 0.00117378505868276\\ 8 0.00117378505868276\\
9 0.000679072640424649\\ 9 0.000679072640424651\\
10 0.000460205525227464\\ 10 0.000460205525227465\\
11 0.000299176988582771\\ 11 0.000299176988582771\\
12 0.000208705837325249\\ 12 0.000208705837325249\\
13 0.000154155368421638\\ 13 0.000154155368421639\\
14 0.000112123271112138\\ 14 0.000112123271112138\\
15 8.51723029158506e-05\\ 15 8.51723029158507e-05\\
16 6.84145894011081e-05\\ 16 6.84145894011082e-05\\
17 5.22773173463893e-05\\ 17 5.22773173463894e-05\\
18 4.19658990284636e-05\\ 18 4.19658990284637e-05\\
19 3.35813556680048e-05\\ 19 3.35813556680048e-05\\
20 2.69909819855066e-05\\ 20 2.69909819855067e-05\\
21 2.16953761012216e-05\\ 21 2.16953761012216e-05\\
22 1.75366202909715e-05\\ 22 1.75366202909715e-05\\
23 1.58613744370523e-05\\ 23 1.58613744370523e-05\\
24 1.07527796769547e-05\\ 24 1.07527796769547e-05\\
25 1.21386374874815e-05\\ 25 1.21386374874815e-05\\
26 1.02818699879239e-05\\ 26 1.0281869987924e-05\\
27 8.94827138078525e-06\\ 27 8.94827138078528e-06\\
28 7.32098660262362e-06\\ 28 7.32098660262364e-06\\
29 6.29855369167726e-06\\ 29 6.29855369167728e-06\\
30 5.75608316894847e-06\\ 30 5.75608316894849e-06\\
31 5.01303204699423e-06\\ 31 5.01303204699424e-06\\
32 4.32711144148808e-06\\ 32 4.32711144148809e-06\\
33 3.75161010629661e-06\\ 33 3.75161010629662e-06\\
34 3.13429056757287e-06\\ 34 3.13429056757288e-06\\
35 2.97535388105766e-06\\ 35 2.97535388105767e-06\\
36 2.59579082920428e-06\\ 36 2.59579082920429e-06\\
37 2.35613630297938e-06\\ 37 2.35613630297938e-06\\
38 2.13570046200869e-06\\ 38 2.13570046200869e-06\\
39 1.91918226507556e-06\\ 39 1.91918226507556e-06\\
@ -65,115 +65,115 @@ title={Residual norms over iteration (y is log)}
41 1.60497187780807e-06\\ 41 1.60497187780807e-06\\
42 1.50673230165654e-06\\ 42 1.50673230165654e-06\\
43 1.29912483256279e-06\\ 43 1.29912483256279e-06\\
44 1.18346887626955e-06\\ 44 1.18346887626956e-06\\
45 1.20647020748118e-06\\ 45 1.20647020748118e-06\\
46 9.3251240253618e-07\\ 46 9.32512402536184e-07\\
47 1.0443397517104e-06\\ 47 1.04433975171041e-06\\
48 7.81977076368339e-07\\ 48 7.81977076368343e-07\\
49 7.06367946061837e-07\\ 49 7.06367946061841e-07\\
50 6.4448540591806e-07\\ 50 6.44485405918065e-07\\
51 5.8599197172186e-07\\ 51 5.85991971721864e-07\\
52 5.19890971305916e-07\\ 52 5.19890971305921e-07\\
53 4.77565688325081e-07\\ 53 4.77565688325085e-07\\
54 4.45837257417211e-07\\ 54 4.45837257417216e-07\\
55 4.52354751810163e-07\\ 55 4.52354751810169e-07\\
56 4.29038013881601e-07\\ 56 4.29038013881607e-07\\
57 4.19929738903634e-07\\ 57 4.1992973890364e-07\\
58 3.83172910236919e-07\\ 58 3.83172910236925e-07\\
59 3.69121286102551e-07\\ 59 3.69121286102558e-07\\
60 3.7162945951419e-07\\ 60 3.71629459514197e-07\\
61 3.46046785121521e-07\\ 61 3.46046785121528e-07\\
62 3.2757610333777e-07\\ 62 3.27576103337777e-07\\
63 3.15320978192865e-07\\ 63 3.15320978192872e-07\\
64 2.96758711344714e-07\\ 64 2.96758711344721e-07\\
65 2.96817636331721e-07\\ 65 2.96817636331728e-07\\
66 2.71124713000919e-07\\ 66 2.71124713000926e-07\\
67 2.62909013135003e-07\\ 67 2.6290901313501e-07\\
68 2.43462036182122e-07\\ 68 2.43462036182129e-07\\
69 2.28404291071355e-07\\ 69 2.28404291071362e-07\\
70 2.24415864473535e-07\\ 70 2.24415864473542e-07\\
71 2.28468445317059e-07\\ 71 2.28468445317066e-07\\
72 2.16184931431001e-07\\ 72 2.16184931431008e-07\\
73 2.03658004162582e-07\\ 73 2.03658004162589e-07\\
74 1.83416377348938e-07\\ 74 1.83416377348944e-07\\
75 1.77025922497321e-07\\ 75 1.77025922497327e-07\\
76 1.70006600401098e-07\\ 76 1.70006600401104e-07\\
77 1.63491825605367e-07\\ 77 1.63491825605372e-07\\
78 1.57088823572816e-07\\ 78 1.57088823572822e-07\\
79 1.6232157488019e-07\\ 79 1.62321574880195e-07\\
80 1.55517018193347e-07\\ 80 1.55517018193352e-07\\
81 1.44132341985942e-07\\ 81 1.44132341985947e-07\\
82 1.33984748126276e-07\\ 82 1.33984748126281e-07\\
83 1.25196828216566e-07\\ 83 1.2519682821657e-07\\
84 1.21215390780978e-07\\ 84 1.21215390780982e-07\\
85 1.15338855777099e-07\\ 85 1.15338855777103e-07\\
86 1.08276150400162e-07\\ 86 1.08276150400166e-07\\
87 1.04805124156927e-07\\ 87 1.0480512415693e-07\\
88 1.01804326380992e-07\\ 88 1.01804326380995e-07\\
89 1.0010166263465e-07\\ 89 1.00101662634653e-07\\
90 9.48101967192271e-08\\ 90 9.48101967192299e-08\\
91 8.89240656896784e-08\\ 91 8.8924065689681e-08\\
92 8.81989115707906e-08\\ 92 8.8198911570793e-08\\
93 8.26647202805855e-08\\ 93 8.26647202805877e-08\\
94 7.78552030683533e-08\\ 94 7.78552030683553e-08\\
95 8.16807953528358e-08\\ 95 8.16807953528378e-08\\
96 7.66807903209987e-08\\ 96 7.66807903210005e-08\\
97 7.25436978662745e-08\\ 97 7.25436978662762e-08\\
98 6.71702595720625e-08\\ 98 6.71702595720641e-08\\
99 7.01343166575355e-08\\ 99 7.01343166575373e-08\\
100 6.80449977565014e-08\\ 100 6.80449977565033e-08\\
101 6.68192875014292e-08\\ 101 6.68192875014314e-08\\
102 6.22828481503855e-08\\ 102 6.22828481503882e-08\\
103 6.14945471895087e-08\\ 103 6.14945471895139e-08\\
104 6.70743224722449e-08\\ 104 6.70743224722515e-08\\
105 6.88753801346713e-08\\ 105 6.88753801346864e-08\\
106 6.74234915967769e-08\\ 106 6.74234915968034e-08\\
107 6.38752997351369e-08\\ 107 6.3875299735169e-08\\
108 6.10832293660283e-08\\ 108 6.10832293660889e-08\\
109 5.60972305767953e-08\\ 109 5.60972305769167e-08\\
110 5.08646226781961e-08\\ 110 5.08646226784856e-08\\
111 4.95616876939365e-08\\ 111 4.9561687694454e-08\\
112 4.46580704289759e-08\\ 112 4.46580704300798e-08\\
113 4.2687817302539e-08\\ 113 4.26878173046204e-08\\
114 4.10291135987935e-08\\ 114 4.10291136047614e-08\\
115 3.78768817309767e-08\\ 115 3.78768817391897e-08\\
116 3.73532344958446e-08\\ 116 3.73532345146491e-08\\
117 3.51670172127996e-08\\ 117 3.51670172399507e-08\\
118 3.22365221541983e-08\\ 118 3.22365221922065e-08\\
119 3.0914108557954e-08\\ 119 3.09141086362976e-08\\
120 3.02505081670252e-08\\ 120 3.02505083958211e-08\\
121 2.87114558023773e-08\\ 121 2.87114562212435e-08\\
122 2.66853087438055e-08\\ 122 2.66853094500274e-08\\
123 2.60049357892773e-08\\ 123 2.6004937830953e-08\\
124 2.51289922847544e-08\\ 124 2.5128996812777e-08\\
125 2.39005712471205e-08\\ 125 2.3900587385536e-08\\
126 2.24094810183141e-08\\ 126 2.2409516154494e-08\\
127 2.01607019229326e-08\\ 127 2.01607767874174e-08\\
128 1.92164353138885e-08\\ 128 1.92165407176116e-08\\
129 1.82687256142865e-08\\ 129 1.82690090540455e-08\\
130 1.78764123154733e-08\\ 130 1.78770817200396e-08\\
131 1.90420480961642e-08\\ 131 1.90428945268579e-08\\
132 1.79866998160551e-08\\ 132 1.79884322125703e-08\\
133 1.62987103158868e-08\\ 133 1.63052075399289e-08\\
134 1.64054691550642e-08\\ 134 1.64180505448727e-08\\
135 1.53093691487969e-08\\ 135 1.53303006209212e-08\\
136 1.48209887890633e-08\\ 136 1.4871760637339e-08\\
137 1.48119659868498e-08\\ 137 1.49330577072074e-08\\
138 1.39479300275188e-08\\ 138 1.41966980752516e-08\\
139 1.30269784768553e-08\\ 139 1.34094869141848e-08\\
140 1.39128297693094e-08\\ 140 1.38131070735712e-08\\
141 1.35601176412506e-08\\ 141 1.32790829181307e-08\\
142 1.31199716923384e-08\\ 142 1.29281208590769e-08\\
143 1.16605449828788e-08\\ 143 1.15621456920523e-08\\
144 1.1256315915413e-08\\ 144 1.12246784883697e-08\\
145 1.10059046096852e-08\\ 145 1.09924839400482e-08\\
146 1.05336940404569e-08\\ 146 1.05286801140992e-08\\
147 9.87947792918718e-09\\ 147 9.87772386372883e-09\\
148 9.87385221564589e-09\\ 148 9.8725860305187e-09\\
149 9.86634931285779e-09\\ 149 9.86619410929918e-09\\
150 9.87265433744658e-09\\ 150 9.8729284798242e-09\\
151 8.57424740655266e-09\\ 151 8.57478280643735e-09\\
152 7.71781430780305e-09\\ 152 7.71779322745324e-09\\
}; };
\addplot [color=mycolor2, forget plot] \addplot [color=mycolor2, forget plot]
table[row sep=crcr]{% table[row sep=crcr]{%
@ -185,24 +185,24 @@ title={Residual norms over iteration (y is log)}
6 6.2599388664747e-05\\ 6 6.2599388664747e-05\\
7 3.67776811885644e-05\\ 7 3.67776811885644e-05\\
8 2.26985377046381e-05\\ 8 2.26985377046381e-05\\
9 2.75130507463434e-05\\ 9 2.75130507463433e-05\\
10 1.74951186586756e-05\\ 10 1.74951186586757e-05\\
11 2.49605697423791e-05\\ 11 2.49605697423791e-05\\
12 1.12366572676273e-05\\ 12 1.12366572676273e-05\\
13 1.54813768580115e-05\\ 13 1.54813768580115e-05\\
14 1.23158281548519e-05\\ 14 1.23158281548519e-05\\
15 8.35804590504644e-06\\ 15 8.3580459050464e-06\\
16 1.06813390449761e-05\\ 16 1.06813390449761e-05\\
17 4.65224806020403e-06\\ 17 4.65224806020401e-06\\
18 4.34451840639611e-06\\ 18 4.34451840639607e-06\\
19 1.95974449943222e-06\\ 19 1.9597444994322e-06\\
20 1.88311897094728e-06\\ 20 1.88311897094725e-06\\
21 1.76128803348428e-06\\ 21 1.76128803348424e-06\\
22 1.275240225499e-06\\ 22 1.27524022549895e-06\\
23 1.36310372428718e-06\\ 23 1.36310372428712e-06\\
24 1.03510657531701e-06\\ 24 1.03510657531695e-06\\
25 1.00121067351798e-06\\ 25 1.00121067351792e-06\\
26 9.55653227048963e-07\\ 26 9.55653227050214e-07\\
}; };
\end{axis} \end{axis}
\end{tikzpicture}% \end{tikzpicture}%