diff --git a/mp5/Project_5_Maggioni_Claudio.pdf b/mp5/Project_5_Maggioni_Claudio.pdf index dc851bf..f78ea03 100644 Binary files a/mp5/Project_5_Maggioni_Claudio.pdf and b/mp5/Project_5_Maggioni_Claudio.pdf differ diff --git a/mp5/Project_5_Maggioni_Claudio.tex b/mp5/Project_5_Maggioni_Claudio.tex index 27c6802..a569b90 100644 --- a/mp5/Project_5_Maggioni_Claudio.tex +++ b/mp5/Project_5_Maggioni_Claudio.tex @@ -89,7 +89,8 @@ The plot of the squared residual 2-norms over all iterations can be found in Fig \ref{fig:plot1}. \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} \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. \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} \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 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? What about if you are debluring lots of images with the same 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} diff --git a/mp5/Project_5_Maggioni_Claudio/code_template.m b/mp5/Project_5_Maggioni_Claudio/deblurring.asv similarity index 83% rename from mp5/Project_5_Maggioni_Claudio/code_template.m rename to mp5/Project_5_Maggioni_Claudio/deblurring.asv index 0e173ed..893e3d1 100644 --- a/mp5/Project_5_Maggioni_Claudio/code_template.m +++ b/mp5/Project_5_Maggioni_Claudio/deblurring.asv @@ -14,6 +14,7 @@ im_l=min(min(B)); im_u=max(max(B)); imshow(B,[im_l,im_u]) title('Blured Image') +matlab2tikz('showInfo', false, '../img_orig.tex'); % Vectorize the image (row by row) b=B'; @@ -64,15 +65,3 @@ im_u=max(max(X2)); imshow(X2,[im_l,im_u]) title('Sharp Image (rcg)') 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!!!) diff --git a/mp5/Project_5_Maggioni_Claudio/deblurring.m b/mp5/Project_5_Maggioni_Claudio/deblurring.m new file mode 100644 index 0000000..5b5ad1d --- /dev/null +++ b/mp5/Project_5_Maggioni_Claudio/deblurring.m @@ -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'); diff --git a/mp5/img_my-1.png b/mp5/img_my-1.png index 78c7d0e..dbf68b4 100644 Binary files a/mp5/img_my-1.png and b/mp5/img_my-1.png differ diff --git a/mp5/img_my.tex b/mp5/img_my.tex index c32c982..bbafa21 100644 --- a/mp5/img_my.tex +++ b/mp5/img_my.tex @@ -1,208 +1,26 @@ % 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{axis}[% -width=6.028in, -height=4.754in, -at={(1.011in,0.642in)}, +width=2.604in, +height=2.604in, +at={(0.962in,0.66in)}, scale only axis, -xmin=0, -xmax=160, -ymode=log, -ymin=1e-09, -ymax=1, -yminorticks=true, -axis background/.style={fill=white}, +point meta min=-0.0128979816802523, +point meta max=0.983438722992887, +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={Sharp Image (myCG)} ] -\addplot [color=mycolor1, forget plot] - 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\\ -}; +\addplot [forget plot] graphics [xmin=0.5, xmax=250.5, ymin=0.5, ymax=250.5] {img_my-1.png}; \end{axis} \end{tikzpicture}% \ No newline at end of file diff --git a/mp5/img_orig-1.png b/mp5/img_orig-1.png new file mode 100644 index 0000000..b3099a1 Binary files /dev/null and b/mp5/img_orig-1.png differ diff --git a/mp5/img_orig.tex b/mp5/img_orig.tex new file mode 100644 index 0000000..092d4e9 --- /dev/null +++ b/mp5/img_orig.tex @@ -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}% \ No newline at end of file diff --git a/mp5/img_rcg-1.png b/mp5/img_rcg-1.png index 35a0f84..fd7cf97 100644 Binary files a/mp5/img_rcg-1.png and b/mp5/img_rcg-1.png differ diff --git a/mp5/img_rcg.tex b/mp5/img_rcg.tex index 94c849a..85b5ede 100644 --- a/mp5/img_rcg.tex +++ b/mp5/img_rcg.tex @@ -3,12 +3,12 @@ \begin{tikzpicture} \begin{axis}[% -width=1.736in, -height=1.736in, -at={(0.75in,0.653in)}, +width=2.604in, +height=2.604in, +at={(0.962in,0.66in)}, scale only axis, -point meta min=-0.0128981437433609, -point meta max=0.983438542582913, +point meta min=-0.0235938830592846, +point meta max=0.993939917509565, axis on top, xmin=0.5, xmax=250.5, diff --git a/mp5/res_log.tex b/mp5/res_log.tex index 41f9e2d..5560c34 100644 --- a/mp5/res_log.tex +++ b/mp5/res_log.tex @@ -6,14 +6,14 @@ \begin{tikzpicture} \begin{axis}[% -width=6.028in, -height=4.754in, -at={(1.011in,0.642in)}, +width=4.521in, +height=3.566in, +at={(0.758in,0.481in)}, scale only axis, xmin=0, xmax=160, ymode=log, -ymin=1e-09, +ymin=1e-10, ymax=1, yminorticks=true, axis background/.style={fill=white}, @@ -24,40 +24,40 @@ title={Residual norms over iteration (y is log)} table[row sep=crcr]{% 1 1\\ 2 0.557596535615506\\ -3 0.0776565625508993\\ +3 0.0776565625508994\\ 4 0.0198777323861488\\ -5 0.00796998880225869\\ -6 0.00379999756962287\\ -7 0.0020374948726527\\ +5 0.0079699888022587\\ +6 0.00379999756962288\\ +7 0.00203749487265271\\ 8 0.00117378505868276\\ -9 0.000679072640424649\\ -10 0.000460205525227464\\ +9 0.000679072640424651\\ +10 0.000460205525227465\\ 11 0.000299176988582771\\ 12 0.000208705837325249\\ -13 0.000154155368421638\\ +13 0.000154155368421639\\ 14 0.000112123271112138\\ -15 8.51723029158506e-05\\ -16 6.84145894011081e-05\\ -17 5.22773173463893e-05\\ -18 4.19658990284636e-05\\ +15 8.51723029158507e-05\\ +16 6.84145894011082e-05\\ +17 5.22773173463894e-05\\ +18 4.19658990284637e-05\\ 19 3.35813556680048e-05\\ -20 2.69909819855066e-05\\ +20 2.69909819855067e-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\\ +26 1.0281869987924e-05\\ +27 8.94827138078528e-06\\ +28 7.32098660262364e-06\\ +29 6.29855369167728e-06\\ +30 5.75608316894849e-06\\ +31 5.01303204699424e-06\\ +32 4.32711144148809e-06\\ +33 3.75161010629662e-06\\ +34 3.13429056757288e-06\\ +35 2.97535388105767e-06\\ +36 2.59579082920429e-06\\ 37 2.35613630297938e-06\\ 38 2.13570046200869e-06\\ 39 1.91918226507556e-06\\ @@ -65,115 +65,115 @@ title={Residual norms over iteration (y is log)} 41 1.60497187780807e-06\\ 42 1.50673230165654e-06\\ 43 1.29912483256279e-06\\ -44 1.18346887626955e-06\\ +44 1.18346887626956e-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\\ +46 9.32512402536184e-07\\ +47 1.04433975171041e-06\\ +48 7.81977076368343e-07\\ +49 7.06367946061841e-07\\ +50 6.44485405918065e-07\\ +51 5.85991971721864e-07\\ +52 5.19890971305921e-07\\ +53 4.77565688325085e-07\\ +54 4.45837257417216e-07\\ +55 4.52354751810169e-07\\ +56 4.29038013881607e-07\\ +57 4.1992973890364e-07\\ +58 3.83172910236925e-07\\ +59 3.69121286102558e-07\\ +60 3.71629459514197e-07\\ +61 3.46046785121528e-07\\ +62 3.27576103337777e-07\\ +63 3.15320978192872e-07\\ +64 2.96758711344721e-07\\ +65 2.96817636331728e-07\\ +66 2.71124713000926e-07\\ +67 2.6290901313501e-07\\ +68 2.43462036182129e-07\\ +69 2.28404291071362e-07\\ +70 2.24415864473542e-07\\ +71 2.28468445317066e-07\\ +72 2.16184931431008e-07\\ +73 2.03658004162589e-07\\ +74 1.83416377348944e-07\\ +75 1.77025922497327e-07\\ +76 1.70006600401104e-07\\ +77 1.63491825605372e-07\\ +78 1.57088823572822e-07\\ +79 1.62321574880195e-07\\ +80 1.55517018193352e-07\\ +81 1.44132341985947e-07\\ +82 1.33984748126281e-07\\ +83 1.2519682821657e-07\\ +84 1.21215390780982e-07\\ +85 1.15338855777103e-07\\ +86 1.08276150400166e-07\\ +87 1.0480512415693e-07\\ +88 1.01804326380995e-07\\ +89 1.00101662634653e-07\\ +90 9.48101967192299e-08\\ +91 8.8924065689681e-08\\ +92 8.8198911570793e-08\\ +93 8.26647202805877e-08\\ +94 7.78552030683553e-08\\ +95 8.16807953528378e-08\\ +96 7.66807903210005e-08\\ +97 7.25436978662762e-08\\ +98 6.71702595720641e-08\\ +99 7.01343166575373e-08\\ +100 6.80449977565033e-08\\ +101 6.68192875014314e-08\\ +102 6.22828481503882e-08\\ +103 6.14945471895139e-08\\ +104 6.70743224722515e-08\\ +105 6.88753801346864e-08\\ +106 6.74234915968034e-08\\ +107 6.3875299735169e-08\\ +108 6.10832293660889e-08\\ +109 5.60972305769167e-08\\ +110 5.08646226784856e-08\\ +111 4.9561687694454e-08\\ +112 4.46580704300798e-08\\ +113 4.26878173046204e-08\\ +114 4.10291136047614e-08\\ +115 3.78768817391897e-08\\ +116 3.73532345146491e-08\\ +117 3.51670172399507e-08\\ +118 3.22365221922065e-08\\ +119 3.09141086362976e-08\\ +120 3.02505083958211e-08\\ +121 2.87114562212435e-08\\ +122 2.66853094500274e-08\\ +123 2.6004937830953e-08\\ +124 2.5128996812777e-08\\ +125 2.3900587385536e-08\\ +126 2.2409516154494e-08\\ +127 2.01607767874174e-08\\ +128 1.92165407176116e-08\\ +129 1.82690090540455e-08\\ +130 1.78770817200396e-08\\ +131 1.90428945268579e-08\\ +132 1.79884322125703e-08\\ +133 1.63052075399289e-08\\ +134 1.64180505448727e-08\\ +135 1.53303006209212e-08\\ +136 1.4871760637339e-08\\ +137 1.49330577072074e-08\\ +138 1.41966980752516e-08\\ +139 1.34094869141848e-08\\ +140 1.38131070735712e-08\\ +141 1.32790829181307e-08\\ +142 1.29281208590769e-08\\ +143 1.15621456920523e-08\\ +144 1.12246784883697e-08\\ +145 1.09924839400482e-08\\ +146 1.05286801140992e-08\\ +147 9.87772386372883e-09\\ +148 9.8725860305187e-09\\ +149 9.86619410929918e-09\\ +150 9.8729284798242e-09\\ +151 8.57478280643735e-09\\ +152 7.71779322745324e-09\\ }; \addplot [color=mycolor2, forget plot] table[row sep=crcr]{% @@ -185,24 +185,24 @@ title={Residual norms over iteration (y is log)} 6 6.2599388664747e-05\\ 7 3.67776811885644e-05\\ 8 2.26985377046381e-05\\ -9 2.75130507463434e-05\\ -10 1.74951186586756e-05\\ +9 2.75130507463433e-05\\ +10 1.74951186586757e-05\\ 11 2.49605697423791e-05\\ 12 1.12366572676273e-05\\ 13 1.54813768580115e-05\\ 14 1.23158281548519e-05\\ -15 8.35804590504644e-06\\ +15 8.3580459050464e-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\\ +17 4.65224806020401e-06\\ +18 4.34451840639607e-06\\ +19 1.9597444994322e-06\\ +20 1.88311897094725e-06\\ +21 1.76128803348424e-06\\ +22 1.27524022549895e-06\\ +23 1.36310372428712e-06\\ +24 1.03510657531695e-06\\ +25 1.00121067351792e-06\\ +26 9.55653227050214e-07\\ }; \end{axis} \end{tikzpicture}% \ No newline at end of file