From: Bjørn Rustad Date: Fri, 30 Sep 2011 14:57:53 +0000 (+0200) Subject: Add timing and write more on the report X-Git-Url: http://git.rustad.me/?a=commitdiff_plain;h=08482aebf52ee84c633f65e7289b965ea5aeecce;p=nummat1 Add timing and write more on the report --- diff --git a/main.py b/main.py index 981ee9e..df0e882 100644 --- a/main.py +++ b/main.py @@ -1,7 +1,8 @@ from enthought.mayavi import mlab -import surf +import time import numpy as np import matplotlib.pyplot as plt +import surf from steepest import steepest from function import function_g from newton import newton @@ -12,15 +13,31 @@ def main(): b = np.array([-0.3119187, 0.14508516]) c = np.array([ 0.47736331, 1.48834978]) - x0 = np.array([-2.1, 3.2]) + x0 = np.array([-2.1, 5.2]) function_values = [] - alpha = 0.1 - optimal_points, optimal_residuals = steepest(x0, H, b, c, 0.001, 100, 0) - constant_points, constant_residuals = steepest(x0, H, b, c, 0.001, 30, alpha) - newton_points, newton_residuals = newton(x0, H, b, c, 0.001, 100) - nwst_points, nwst_residuals = newtsteep(x0, H, b, c, 0.1, 0.001) + alpha = 0.05 + + start = time.clock() + optimal_points, optimal_residuals = steepest(x0, H, b, c, 0.000000001, 100000, 0) + stop = time.clock() + print "optimal steepest brukte %.4f" % (stop - start) + + start = time.clock() + constant_points, constant_residuals = steepest(x0, H, b, c, 0.000000001, 100000, alpha) + stop = time.clock() + print "constant steepest brukte %.4f" % (stop - start) + + start = time.clock() + newton_points, newton_residuals = newton(x0, H, b, c, 0.000000001, 100000) + stop = time.clock() + print "newton brukte %.4f" % (stop - start) + + start = time.clock() + nwst_points, nwst_residuals = newtsteep(x0, H, b, c, 0.01, 0.000000001) + stop = time.clock() + print "newton + steepest brukte %.4f" % (stop - start) f_optimal = [] f_constant = [] @@ -29,21 +46,22 @@ def main(): mlab.figure(figure="Surface", bgcolor=(1,1,1), fgcolor=(0,0,0)) - for point in optimal_points: + plen = 15 + for point in optimal_points[:plen]: z = function_g(point, H, b, c) f_optimal.append(z) p = mlab.points3d([point[0]], [point[1]], [z], scale_factor=0.03, color=(0.7,0.2,0.2)) - for point in constant_points: + for point in constant_points[:plen]: z = function_g(point, H, b, c) f_constant.append(z) p = mlab.points3d([point[0]], [point[1]], [z], scale_factor=0.02, color=(1,1,1)) - for point in newton_points: + for point in newton_points[:plen]: z = function_g(point, H, b, c) f_newton.append(z) - for point in nwst_points: + for point in nwst_points[:plen]: z = function_g(point, H, b, c) f_nwst.append(z) @@ -62,21 +80,21 @@ def main(): plt.title("Relative residual") plt.xlabel("Iteration") plt.ylabel("Relative residual") - plt.plot(optimal_residuals) - plt.plot(constant_residuals) - plt.plot(newton_residuals) - plt.plot(nwst_residuals) - plt.legend([r'Optimal $\alpha$', r'$\alpha$ = %.1f' % alpha, r'Newtons method', r'Steepest first, then Newton']) + plt.plot(optimal_residuals[:plen]) + plt.plot(constant_residuals[:plen]) + plt.plot(newton_residuals[:plen]) + plt.plot(nwst_residuals[:plen]) + plt.legend([r'Optimal $\alpha$', r'$\alpha$ = %.2f' % alpha, r'Newtons method', r'Steepest first, then Newton']) ax.set_yscale('log') ax = plt.subplot(212) plt.title("Function value") plt.xlabel("Iteration") plt.ylabel("g(x)") - plt.plot(f_optimal) - plt.plot(f_constant) - plt.plot(f_newton) - plt.plot(f_nwst) + plt.plot(f_optimal[:plen]) + plt.plot(f_constant[:plen]) + plt.plot(f_newton[:plen]) + plt.plot(f_nwst[:plen]) plt.show() fig.savefig("steepest.eps", format="eps") diff --git a/rapport.tex b/rapport.tex index c7e1fd4..f7816dd 100644 --- a/rapport.tex +++ b/rapport.tex @@ -55,96 +55,113 @@ ABSTRACTABSTBSSTRACTABSTRACTABSTRACT % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Resultater} -We used the following data: - +This project explores how one can approximate the local minima of a function. +The function considered takes in a symmetric positive definite matrix, and two +vectors. For this purpose we used the following randomly generated data: \begin{equation} -H = -\begin{bmatrix} -1.8580682 & -1.01197101 \\ --1.01197101 & 0.63456543 -\end{bmatrix} -, \mathbf{b} = -\begin{bmatrix} --0.3119187 \\ -0.14508516 -\end{bmatrix} -, \mathbf{c} = -\begin{bmatrix} -0.47736331 \\ -1.48834978 -\end{bmatrix}. -\nonumber + H = + \begin{bmatrix} + 1.8580682 & -1.01197101 \\ + -1.01197101 & 0.63456543 + \end{bmatrix} + , \mathbf{b} = + \begin{bmatrix} + -0.3119187 \\ + 0.14508516 + \end{bmatrix} + , \mathbf{c} = + \begin{bmatrix} + 0.47736331 \\ + 1.48834978 + \end{bmatrix}. + \nonumber \end{equation} +The elements of $\mathbf{b}$ are randomly generated numbers from a uniform +distribution over $[-1, 1]$, and the elements of $\mathbf{c}$ are randomly +generated positive numbers from a uniform distribution over $(0, 3]$ -Where the elements of $\mathbf{b}$ are randomly generated numbers from the interval INTERVAL, and the elements of $\mathbf{c}$ are randomly generated positive numbers. - -To generate the nxn matrix, $H$, we first generate a upper triangular nxn matrix $U$. -The elements along the diagonal of $U$ are the square roots of randomly generated positive numbers, and the elements above the diagonal are randomly generated numbers from the interval INTERVAL. -$H = U^{T}U$ is then a symmetric positive definite matrix. +To generate the $n\times n$ matrix $H$, we first generate a upper triangular +$n\times n$ matrix $U$. The elements above the diagonal are randomly generated +in the uniform distribution over $[-3, 3]$, while the numbers on the diagonal +are square roots of positive numbers from the same distribution. $H = U^{T}U$ is +then a symmetric positive definite matrix. The function analyzed in this project was - \begin{equation} -\label{eq:func_g} -g(\mathbf{x}) := -\mathbf{b}^{T}\mathbf{x}+\frac{1}{2}\mathbf{x}^{T}H\mathbf{x}+\frac{1}{12}\mathbf{x}^{T}C(\mathbf{x})\mathbf{x} + \label{eq:func_g} + g(\mathbf{x}) := -\mathbf{b}^{T}\mathbf{x} + + \frac{1}{2}\mathbf{x}^{T}H\mathbf{x} + + \frac{1}{12}\mathbf{x}^{T}C(\mathbf{x})\mathbf{x}. \end{equation} From equation \ref{eq:func_g} we get \begin{eqnarray} -\label{eq:grad_g} -\nabla g(\mathbf{x}) &=& -\mathbf{b}+H\mathbf{x}+\frac{1}{3}C(\mathbf{x})\mathbf{x} \\ -\label{eq:hess_g} -\nabla^{2}g(\mathbf{x}) &=& H+C(\mathbf{x}). + \label{eq:grad_g} + \nabla g(\mathbf{x}) &=& -\mathbf{b}+H\mathbf{x}+\frac{1}{3}C(\mathbf{x})\mathbf{x} \\ + \label{eq:hess_g} + \nabla^{2}g(\mathbf{x}) &=& H+C(\mathbf{x}). \end{eqnarray} -The three functions, \ref{eq:func_g}, \ref{eq:grad_g} and \ref{eq:hess_g}, are implemented in the Python code below. +The three functions, \ref{eq:func_g}, \ref{eq:grad_g} and \ref{eq:hess_g}, are +implemented in the Python code below. \lstinputlisting[language=Python]{bj_function.py} -Consider the Hessian $\nabla^{2}g(\mathbf{x})$, and any vector $\mathbf{v} \in \mathbb{R}^{n}_{*}$. -Then we have +Consider the Hessian $\nabla^{2}g(\mathbf{x})$, and any vector $\mathbf{v} \in +\mathbb{R}^{n}_{*}$. Then we have \begin{eqnarray} -\mathbf{v}^{T}(\nabla^{2}g(\mathbf{x}))\mathbf{v} &=& \mathbf{v}^{T}(H+C(\mathbf{x}))\mathbf{v} \nonumber \\ -&=& \mathbf{v}^{T}H(\mathbf{x}))\mathbf{v}+\mathbf{v}^{T}C(\mathbf{x})\mathbf{v}. + \mathbf{v}^{T}(\nabla^{2}g(\mathbf{x}))\mathbf{v} &=& \mathbf{v}^{T}(H+C(\mathbf{x}))\mathbf{v} \nonumber \\ + &=& \mathbf{v}^{T}H(\mathbf{x}))\mathbf{v}+\mathbf{v}^{T}C(\mathbf{x})\mathbf{v}. \end{eqnarray} We already know H is positive definite, so $\mathbf{v}^{T}H(\mathbf{x}))\mathbf{v} > 0$. Since $C(\mathbf{x})$ only has positive entries, we easily see that - \begin{equation} -\mathbf{v}^{T}C(\mathbf{x})\mathbf{v} = \sum\limits_{i=1}^n c_{i}(v_{i}x_{i})^2 \geq 0 + \mathbf{v}^{T}C(\mathbf{x})\mathbf{v} = \sum\limits_{i=1}^n c_{i}(v_{i}x_{i})^2 \geq 0 \end{equation} -Hence $\mathbf{v}^{T}(H+C(\mathbf{x}))\mathbf{v} > 0$, and we see by definition that the Hessian, $\nabla^{2}g(\mathbf{x})$, is positive definite. +Hence $\mathbf{v}^{T}(H+C(\mathbf{x}))\mathbf{v} > 0$, and we see by definition +that the Hessian, $\nabla^{2}g(\mathbf{x})$, is positive definite. \begin{figure}[htb] -\centering -\includegraphics[width=0.8\textwidth]{steepest} -\caption{Plot of relative residual and function values for iterations of the steepest descent method with optimal $\alpha$} -\label{fig:fn_resid} + \centering + \includegraphics[width=0.9\textwidth]{steepest} + \caption{Plot of relative residual and function values for iterations of the steepest descent method with optimal $\alpha$} + \label{fig:fn_resid} \end{figure} \begin{figure}[htb] -\centering -\includegraphics[width=0.9\textwidth]{surface} -\caption{Surface plot of function with points showing iteration of steepest descent method, both with optimal and constant $\alpha$} -\label{fig:surface} + \centering + \includegraphics[width=0.9\textwidth]{surface} + \caption{Surface plot of function with points showing iteration of steepest descent method, both with optimal and constant $\alpha$} + \label{fig:surface} \end{figure} +Consider the equation +\begin{equation} + \label{eq:forward} + \mathbf{r}'(t) = -\nabla g\left(\mathbf{r}(t)\right)\text{, } \mathbf{r}(0) = \mathbf{r}^0. +\end{equation} +One can view the function $\mathbf{r}(t)$ as a parameterisation of the curve +going through the starting point to the minima, always going in the direction of +the steepest descent. By applying the forward Euler method to this differential +vector equation, we get the following iteration: +\begin{equation} + \label{eq:forward_iter} + \mathbf{r}^{(k+1)} = \mathbf{r}^{(k)} - \alpha \nabla g\left(\mathbf{r}^{(k)}\right) +\end{equation} +where $t_{n+1} = t_n + \alpha$. Looking at this result, we see that it is equivalent to the steepest descent iteration with constant step size $\alpha$. + To find the optimal step length, $\alpha^*$, we solve the equation \begin{eqnarray} -\frac{\partial}{\partial \mathbf{\alpha}}g\left(\mathbf{x}+\alpha\mathbf{u}\right) &=& 0, \text{where } \mathbf{u} = -\nabla g(\mathbf{x} ) \nonumber \\ -&\Updownarrow& \nonumber\\ -%HER ER DET FEIL! -A\alpha^3 + B\alpha^2 + C\alpha + D &=& 0, + \frac{\partial}{\partial \mathbf{\alpha}}g\left(\mathbf{x}+\alpha\mathbf{u}\right) &=& 0, \text{where } \mathbf{u} = -\nabla g(\mathbf{x} ) \nonumber \\ + &\Updownarrow& \nonumber\\ + A\alpha^3 + B\alpha^2 + C\alpha + D &=& 0, + \end{eqnarray} +where $A$, $B$, $C$, and $D$ is given by + \begin{eqnarray} + A &=& \frac{1}{3}\mathbf{u}^TC(\mathbf{u})\mathbf{u} \nonumber \\ + B &=& \mathbf{x}^TC(\mathbf{u}) \mathbf{u} \nonumber \\ + C &=& \mathbf{u}^TH\mathbf{u}+\mathbf{u}^TC(\mathbf{x})\mathbf{u} \nonumber \\ + D &=& \frac{1}{3}\mathbf{u}^TC(\mathbf{x})\mathbf{x}+\mathbf{u}^TH\mathbf{x}-\mathbf{b}^T\mathbf{u} \end{eqnarray} -der $A$, $B$, $C$ og $D$ er gitt ved -\begin{eqnarray} -A &=& \frac{1}{3}\mathbf{u}^TC(\mathbf{u}\mathbf{u} \nonumber \\ -B &=& (\mathbf{x})^TC(\mathbf{u}) \mathbf{u} \nonumber \\ -C &=& (\mathbf{u})^TH\mathbf{u}+(\mathbf{u})^TC(\mathbf{x})\mathbf{u}) \nonumber \\ -D &=& \frac{1}{3}(\mathbf{u})^TC(\mathbf{x})\mathbf{x}+(\mathbf{u})^TH\mathbf{x}-\mathbf{b}^T\mathbf{u} -\end{eqnarray} - -% VI MÅ OGSÅ ha utledning av alt det andre, forklaring -% av figurer, og en slags tabell med sammenlikning av metodene \lstinputlisting[language=Python]{bj_optimal.py} diff --git a/steepest.eps b/steepest.eps index bae093b..b441332 100644 --- a/steepest.eps +++ b/steepest.eps @@ -1,9 +1,9 @@ %!PS-Adobe-3.0 EPSF-3.0 %%Title: steepest.eps %%Creator: matplotlib version 0.99.3, http://matplotlib.sourceforge.net/ -%%CreationDate: Fri Sep 30 11:50:53 2011 +%%CreationDate: Fri Sep 30 16:50:42 2011 %%Orientation: portrait -%%BoundingBox: -307 103 919 688 +%%BoundingBox: 13 175 598 616 %%EndComments %%BeginProlog /mpldict 8 dict def @@ -54,7 +54,7 @@ newpath /UnderlinePosition -130 def /UnderlineThickness 90 def end readonly def -/CharStrings 41 dict dup begin +/CharStrings 44 dict dup begin /space{318 0 0 0 0 0 _sc }_d /parenleft{390 0 86 -131 310 759 _sc @@ -239,6 +239,82 @@ _cl}_d 162 384 135 375 108 363 _c 108 729 _l _cl}_e}_d +/six{{636 0 70 -13 573 742 _sc +330 404 _m +286 404 251 388 225 358 _c +199 328 186 286 186 234 _c +186 181 199 139 225 109 _c +251 79 286 64 330 64 _c +374 64 409 79 435 109 _c +461 139 474 181 474 234 _c +474 286 461 328 435 358 _c +409 388 374 404 330 404 _c +526 713 _m +526 623 _l +501 635 476 644 451 650 _c +425 656 400 659 376 659 _c +310 659 260 637 226 593 _c +192 549 172 482 168 394 _c +187 422 211 444 240 459 _c +269 474 301 482 336 482 _c +409 482 467 459 509 415 _c +551 371 573 310 573 234 _c +573 159 550 99 506 54 _c +462 9 403 -13 330 -13 _c +246 -13 181 19 137 83 _c +92 147 70 241 70 364 _c +70 479 97 571 152 639 _c +206 707 280 742 372 742 _c +}_e{396 742 421 739 447 735 _c +472 730 498 723 526 713 _c +_cl}_e}_d +/seven{636 0 82 0 551 729 _sc +82 729 _m +551 729 _l +551 687 _l +286 0 _l +183 0 _l +432 646 _l +82 646 _l +82 729 _l +_cl}_d +/eight{{636 0 68 -13 568 742 _sc +318 346 _m +271 346 234 333 207 308 _c +180 283 167 249 167 205 _c +167 161 180 126 207 101 _c +234 76 271 64 318 64 _c +364 64 401 76 428 102 _c +455 127 469 161 469 205 _c +469 249 455 283 429 308 _c +402 333 365 346 318 346 _c +219 388 _m +177 398 144 418 120 447 _c +96 476 85 511 85 553 _c +85 611 105 657 147 691 _c +188 725 245 742 318 742 _c +390 742 447 725 489 691 _c +530 657 551 611 551 553 _c +551 511 539 476 515 447 _c +491 418 459 398 417 388 _c +464 377 501 355 528 323 _c +554 291 568 251 568 205 _c +568 134 546 80 503 43 _c +459 5 398 -13 318 -13 _c +237 -13 175 5 132 43 _c +89 80 68 134 68 205 _c +68 251 81 291 108 323 _c +134 355 171 377 219 388 _c +}_e{183 544 _m +183 506 194 476 218 455 _c +242 434 275 424 318 424 _c +360 424 393 434 417 455 _c +441 476 453 506 453 544 _c +453 582 441 611 417 632 _c +393 653 360 664 318 664 _c +275 664 242 653 218 632 _c +194 611 183 582 183 544 _c +_cl}_e}_d /equal{838 0 106 172 732 454 _sc 106 454 _m 732 454 _l @@ -834,8 +910,8 @@ FontName currentdict end definefont pop end %%EndProlog mpldict begin --307.8 103.95 translate -1227.6 584.1 0 0 clipbox +13.5 175.5 translate +585 441 0 0 clipbox 1.000 setlinewidth 1 setlinejoin 2 setlinecap @@ -843,9 +919,9 @@ mpldict begin 1.000 setgray gsave 0 0 m -1227.6 0 l -1227.6 584.1 l -0 584.1 l +585 0 l +585 441 l +0 441 l 0 0 l gsave fill @@ -853,82 +929,80 @@ grestore stroke grestore gsave -153.45 330.99 m -1104.84 330.99 l -1104.84 525.69 l -153.45 525.69 l -153.45 330.99 l +73.125 249.9 m +526.5 249.9 l +526.5 396.9 l +73.125 396.9 l +73.125 249.9 l fill grestore 0.000 0.000 1.000 setrgbcolor gsave -951.4 194.7 153.5 331 clipbox -153.45 525.69 m -185.163 421.137 l -216.876 418.999 l -248.589 407.09 l -280.302 406.852 l -312.015 396.796 l -343.728 397.479 l -375.441 388.417 l -407.154 389.631 l -438.867 381.173 l -470.58 382.725 l -502.293 374.662 l +453.4 147 73.12 249.9 clipbox +73.125 396.9 m +105.509 359.277 l +137.893 352.765 l +170.277 346.914 l +202.661 342.517 l +235.045 339.975 l +267.429 336.152 l +299.812 335.025 l +332.196 331.456 l +364.58 331.085 l +396.964 327.655 l +429.348 327.74 l +461.732 324.394 l +494.116 324.773 l +526.5 321.484 l stroke grestore 0.000 0.500 0.000 setrgbcolor gsave -951.4 194.7 153.5 331 clipbox -153.45 525.69 m -185.163 492.048 l -216.876 483.467 l -248.589 476.109 l -280.302 469.343 l -312.015 462.898 l -343.728 456.643 l -375.441 450.509 l -407.154 444.465 l -438.867 438.502 l -470.58 432.632 l -502.293 426.888 l -534.006 421.331 l -565.719 416.056 l -597.432 411.192 l -629.145 406.891 l -660.858 403.285 l -692.571 400.438 l -724.284 398.314 l -755.997 396.792 l -787.71 395.721 l -819.423 394.959 l -851.136 394.399 l -882.849 393.965 l -914.562 393.609 l -946.275 393.301 l -977.988 393.022 l -1009.7 392.762 l -1041.41 392.515 l -1073.13 392.276 l +453.4 147 73.12 249.9 clipbox +73.125 396.9 m +105.509 373.953 l +137.893 371.882 l +170.277 370.06 l +202.661 368.401 l +235.045 366.856 l +267.429 365.392 l +299.812 363.988 l +332.196 362.628 l +364.58 361.304 l +396.964 360.005 l +429.348 358.728 l +461.732 357.466 l +494.116 356.219 l +526.5 354.982 l stroke grestore 1.000 0.000 0.000 setrgbcolor gsave -951.4 194.7 153.5 331 clipbox -153.45 525.69 m -185.163 498.699 l -216.876 466.484 l -248.589 441.148 l -280.302 417.471 l -312.015 396.797 l +453.4 147 73.12 249.9 clipbox +73.125 396.9 m +105.509 385.62 l +137.893 373.761 l +170.277 362.731 l +202.661 351.898 l +235.045 341.522 l +267.429 332.187 l +299.812 324.037 l +332.196 316.36 l +364.58 296.503 l +396.964 258.899 l stroke grestore 0.000 0.750 0.750 setrgbcolor gsave -951.4 194.7 153.5 331 clipbox -153.45 525.69 m -185.163 421.137 l -216.876 389.087 l +453.4 147 73.12 249.9 clipbox +73.125 396.9 m +105.509 359.277 l +137.893 352.765 l +170.277 340.712 l +202.661 328.85 l +235.045 314.75 l +267.429 293.014 l +299.812 252.018 l stroke grestore 0.500 setlinewidth @@ -944,7 +1018,7 @@ translate stroke grestore } bind def -153.45 330.99 o +73.125 249.9 o grestore gsave /o { @@ -956,13 +1030,13 @@ translate stroke grestore } bind def -153.45 525.69 o +73.125 396.9 o grestore /DejaVuSans findfont 12.000 scalefont setfont gsave -150.426563 317.911875 translate +70.101562 236.821875 translate 0.000000 rotate 0.000000 0.171875 m /zero glyphshow grestore @@ -976,7 +1050,7 @@ translate stroke grestore } bind def -312.015 330.99 o +137.893 249.9 o grestore gsave /o { @@ -988,12 +1062,12 @@ translate stroke grestore } bind def -312.015 525.69 o +137.893 396.9 o grestore gsave -309.179063 318.068125 translate +135.111607 236.993750 translate 0.000000 rotate -0.000000 0.171875 m /five glyphshow +0.000000 0.000000 m /two glyphshow grestore gsave /o { @@ -1005,7 +1079,7 @@ translate stroke grestore } bind def -470.58 330.99 o +202.661 249.9 o grestore gsave /o { @@ -1017,13 +1091,12 @@ translate stroke grestore } bind def -470.58 525.69 o +202.661 396.9 o grestore gsave -463.994063 317.911875 translate +199.473214 237.150000 translate 0.000000 rotate -0.000000 0.171875 m /one glyphshow -7.634766 0.171875 m /zero glyphshow +0.000000 0.000000 m /four glyphshow grestore gsave /o { @@ -1035,7 +1108,7 @@ translate stroke grestore } bind def -629.145 330.99 o +267.429 249.9 o grestore gsave /o { @@ -1047,13 +1120,12 @@ translate stroke grestore } bind def -629.145 525.69 o +267.429 396.9 o grestore gsave -622.684063 318.068125 translate +264.412946 236.821875 translate 0.000000 rotate -0.000000 0.171875 m /one glyphshow -7.634766 0.171875 m /five glyphshow +0.000000 0.171875 m /six glyphshow grestore gsave /o { @@ -1065,7 +1137,7 @@ translate stroke grestore } bind def -787.71 330.99 o +332.196 249.9 o grestore gsave /o { @@ -1077,12 +1149,41 @@ translate stroke grestore } bind def -787.71 525.69 o +332.196 396.9 o grestore gsave -780.905313 317.911875 translate +329.196429 236.821875 translate 0.000000 rotate -0.000000 0.171875 m /two glyphshow +0.000000 0.171875 m /eight glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0 0 m +0 4 l +stroke +grestore +} bind def +396.964 249.9 o +grestore +gsave +/o { +gsave +newpath +translate +0 0 m +0 -4 l +stroke +grestore +} bind def +396.964 396.9 o +grestore +gsave +390.378348 236.821875 translate +0.000000 rotate +0.000000 0.171875 m /one glyphshow 7.634766 0.171875 m /zero glyphshow grestore gsave @@ -1095,7 +1196,7 @@ translate stroke grestore } bind def -946.275 330.99 o +461.732 249.9 o grestore gsave /o { @@ -1107,13 +1208,13 @@ translate stroke grestore } bind def -946.275 525.69 o +461.732 396.9 o grestore gsave -939.595313 317.911875 translate +455.349330 236.993750 translate 0.000000 rotate -0.000000 0.171875 m /two glyphshow -7.634766 0.171875 m /five glyphshow +0.000000 0.000000 m /one glyphshow +7.634766 0.000000 m /two glyphshow grestore gsave /o { @@ -1125,7 +1226,7 @@ translate stroke grestore } bind def -1104.84 330.99 o +526.5 249.9 o grestore gsave /o { @@ -1137,15 +1238,15 @@ translate stroke grestore } bind def -1104.84 525.69 o +526.5 396.9 o grestore gsave -1098.058750 317.911875 translate +519.851562 237.150000 translate 0.000000 rotate -0.000000 0.171875 m /three glyphshow -7.634766 0.171875 m /zero glyphshow +0.000000 0.000000 m /one glyphshow +7.634766 0.000000 m /four glyphshow grestore -604.778 303.615 m +275.445 222.525 m 0 0.172 rmoveto (Iteration) show gsave @@ -1158,7 +1259,7 @@ translate stroke grestore } bind def -153.45 330.99 o +73.125 249.9 o grestore gsave /o { @@ -1170,10 +1271,10 @@ translate stroke grestore } bind def -1104.84 330.99 o +526.5 249.9 o grestore gsave -124.450000 323.490000 translate +44.125000 242.400000 translate 0.000000 rotate /DejaVuSans findfont 12.0 scalefont @@ -1191,7 +1292,7 @@ setfont /hyphen glyphshow 18.300586 8.875000 moveto -/four glyphshow +/seven glyphshow grestore @@ -1205,7 +1306,7 @@ translate stroke grestore } bind def -153.45 379.665 o +73.125 270.9 o grestore gsave /o { @@ -1217,10 +1318,10 @@ translate stroke grestore } bind def -1104.84 379.665 o +526.5 270.9 o grestore gsave -124.450000 372.165000 translate +44.125000 263.400000 translate 0.000000 rotate /DejaVuSans findfont 12.0 scalefont @@ -1238,7 +1339,7 @@ setfont /hyphen glyphshow 18.300586 8.765625 moveto -/three glyphshow +/six glyphshow grestore @@ -1252,7 +1353,7 @@ translate stroke grestore } bind def -153.45 428.34 o +73.125 291.9 o grestore gsave /o { @@ -1264,28 +1365,28 @@ translate stroke grestore } bind def -1104.84 428.34 o +526.5 291.9 o grestore gsave -124.450000 420.840000 translate +44.125000 284.400000 translate 0.000000 rotate /DejaVuSans findfont 12.0 scalefont setfont -0.000000 1.828125 moveto +0.000000 1.937500 moveto /one glyphshow -7.634766 1.828125 moveto +7.634766 1.937500 moveto /zero glyphshow /DejaVuSans findfont 8.4 scalefont setfont -15.269531 8.765625 moveto +15.269531 8.875000 moveto /hyphen glyphshow -18.300586 8.765625 moveto -/two glyphshow +18.300586 8.875000 moveto +/five glyphshow grestore @@ -1299,7 +1400,7 @@ translate stroke grestore } bind def -153.45 477.015 o +73.125 312.9 o grestore gsave /o { @@ -1311,10 +1412,10 @@ translate stroke grestore } bind def -1104.84 477.015 o +526.5 312.9 o grestore gsave -124.450000 469.515000 translate +44.125000 305.400000 translate 0.000000 rotate /DejaVuSans findfont 12.0 scalefont @@ -1332,7 +1433,7 @@ setfont /hyphen glyphshow 18.300586 8.875000 moveto -/one glyphshow +/four glyphshow grestore @@ -1346,7 +1447,7 @@ translate stroke grestore } bind def -153.45 525.69 o +73.125 333.9 o grestore gsave /o { @@ -1358,10 +1459,10 @@ translate stroke grestore } bind def -1104.84 525.69 o +526.5 333.9 o grestore gsave -127.450000 518.190000 translate +44.125000 326.400000 translate 0.000000 rotate /DejaVuSans findfont 12.0 scalefont @@ -1376,7 +1477,10 @@ setfont 8.4 scalefont setfont 15.269531 8.765625 moveto -/zero glyphshow +/hyphen glyphshow + +18.300586 8.765625 moveto +/three glyphshow grestore @@ -1386,11 +1490,11 @@ gsave newpath translate 0 0 m -2 0 l +4 0 l stroke grestore } bind def -153.45 345.643 o +73.125 354.9 o grestore gsave /o { @@ -1398,23 +1502,34 @@ gsave newpath translate 0 0 m --2 0 l +-4 0 l stroke grestore } bind def -1104.84 345.643 o +526.5 354.9 o grestore gsave -/o { -gsave -newpath -translate -0 0 m -2 0 l -stroke -grestore -} bind def -153.45 354.214 o +44.125000 347.400000 translate +0.000000 rotate +/DejaVuSans findfont +12.0 scalefont +setfont +0.000000 1.828125 moveto +/one glyphshow + +7.634766 1.828125 moveto +/zero glyphshow + +/DejaVuSans findfont +8.4 scalefont +setfont +15.269531 8.765625 moveto +/hyphen glyphshow + +18.300586 8.765625 moveto +/two glyphshow + + grestore gsave /o { @@ -1422,11 +1537,11 @@ gsave newpath translate 0 0 m --2 0 l +4 0 l stroke grestore } bind def -1104.84 354.214 o +73.125 375.9 o grestore gsave /o { @@ -1434,23 +1549,34 @@ gsave newpath translate 0 0 m -2 0 l +-4 0 l stroke grestore } bind def -153.45 360.295 o +526.5 375.9 o grestore gsave -/o { -gsave -newpath -translate -0 0 m --2 0 l -stroke -grestore -} bind def -1104.84 360.295 o +44.125000 368.400000 translate +0.000000 rotate +/DejaVuSans findfont +12.0 scalefont +setfont +0.000000 1.937500 moveto +/one glyphshow + +7.634766 1.937500 moveto +/zero glyphshow + +/DejaVuSans findfont +8.4 scalefont +setfont +15.269531 8.875000 moveto +/hyphen glyphshow + +18.300586 8.875000 moveto +/one glyphshow + + grestore gsave /o { @@ -1458,11 +1584,11 @@ gsave newpath translate 0 0 m -2 0 l +4 0 l stroke grestore } bind def -153.45 365.012 o +73.125 396.9 o grestore gsave /o { @@ -1470,11 +1596,31 @@ gsave newpath translate 0 0 m --2 0 l +-4 0 l stroke grestore } bind def -1104.84 365.012 o +526.5 396.9 o +grestore +gsave +47.125000 389.400000 translate +0.000000 rotate +/DejaVuSans findfont +12.0 scalefont +setfont +0.000000 1.828125 moveto +/one glyphshow + +7.634766 1.828125 moveto +/zero glyphshow + +/DejaVuSans findfont +8.4 scalefont +setfont +15.269531 8.765625 moveto +/zero glyphshow + + grestore gsave /o { @@ -1486,7 +1632,7 @@ translate stroke grestore } bind def -153.45 368.867 o +73.125 256.222 o grestore gsave /o { @@ -1498,7 +1644,7 @@ translate stroke grestore } bind def -1104.84 368.867 o +526.5 256.222 o grestore gsave /o { @@ -1510,7 +1656,7 @@ translate stroke grestore } bind def -153.45 372.125 o +73.125 262.543 o grestore gsave /o { @@ -1522,7 +1668,7 @@ translate stroke grestore } bind def -1104.84 372.125 o +526.5 262.543 o grestore gsave /o { @@ -1534,7 +1680,7 @@ translate stroke grestore } bind def -153.45 374.948 o +73.125 266.241 o grestore gsave /o { @@ -1546,7 +1692,7 @@ translate stroke grestore } bind def -1104.84 374.948 o +526.5 266.241 o grestore gsave /o { @@ -1558,7 +1704,7 @@ translate stroke grestore } bind def -153.45 377.438 o +73.125 268.865 o grestore gsave /o { @@ -1570,7 +1716,7 @@ translate stroke grestore } bind def -1104.84 377.438 o +526.5 268.865 o grestore gsave /o { @@ -1582,7 +1728,7 @@ translate stroke grestore } bind def -153.45 394.318 o +73.125 277.222 o grestore gsave /o { @@ -1594,7 +1740,7 @@ translate stroke grestore } bind def -1104.84 394.318 o +526.5 277.222 o grestore gsave /o { @@ -1606,7 +1752,7 @@ translate stroke grestore } bind def -153.45 402.889 o +73.125 283.543 o grestore gsave /o { @@ -1618,7 +1764,7 @@ translate stroke grestore } bind def -1104.84 402.889 o +526.5 283.543 o grestore gsave /o { @@ -1630,7 +1776,7 @@ translate stroke grestore } bind def -153.45 408.97 o +73.125 287.241 o grestore gsave /o { @@ -1642,7 +1788,7 @@ translate stroke grestore } bind def -1104.84 408.97 o +526.5 287.241 o grestore gsave /o { @@ -1654,7 +1800,7 @@ translate stroke grestore } bind def -153.45 413.687 o +73.125 289.865 o grestore gsave /o { @@ -1666,7 +1812,7 @@ translate stroke grestore } bind def -1104.84 413.687 o +526.5 289.865 o grestore gsave /o { @@ -1678,7 +1824,7 @@ translate stroke grestore } bind def -153.45 417.542 o +73.125 298.222 o grestore gsave /o { @@ -1690,7 +1836,7 @@ translate stroke grestore } bind def -1104.84 417.542 o +526.5 298.222 o grestore gsave /o { @@ -1702,7 +1848,7 @@ translate stroke grestore } bind def -153.45 420.8 o +73.125 304.543 o grestore gsave /o { @@ -1714,7 +1860,7 @@ translate stroke grestore } bind def -1104.84 420.8 o +526.5 304.543 o grestore gsave /o { @@ -1726,7 +1872,7 @@ translate stroke grestore } bind def -153.45 423.623 o +73.125 308.241 o grestore gsave /o { @@ -1738,7 +1884,7 @@ translate stroke grestore } bind def -1104.84 423.623 o +526.5 308.241 o grestore gsave /o { @@ -1750,7 +1896,7 @@ translate stroke grestore } bind def -153.45 426.113 o +73.125 310.865 o grestore gsave /o { @@ -1762,7 +1908,7 @@ translate stroke grestore } bind def -1104.84 426.113 o +526.5 310.865 o grestore gsave /o { @@ -1774,7 +1920,7 @@ translate stroke grestore } bind def -153.45 442.993 o +73.125 319.222 o grestore gsave /o { @@ -1786,7 +1932,7 @@ translate stroke grestore } bind def -1104.84 442.993 o +526.5 319.222 o grestore gsave /o { @@ -1798,7 +1944,7 @@ translate stroke grestore } bind def -153.45 451.564 o +73.125 325.543 o grestore gsave /o { @@ -1810,7 +1956,7 @@ translate stroke grestore } bind def -1104.84 451.564 o +526.5 325.543 o grestore gsave /o { @@ -1822,7 +1968,7 @@ translate stroke grestore } bind def -153.45 457.645 o +73.125 329.241 o grestore gsave /o { @@ -1834,7 +1980,7 @@ translate stroke grestore } bind def -1104.84 457.645 o +526.5 329.241 o grestore gsave /o { @@ -1846,7 +1992,7 @@ translate stroke grestore } bind def -153.45 462.362 o +73.125 331.865 o grestore gsave /o { @@ -1858,7 +2004,7 @@ translate stroke grestore } bind def -1104.84 462.362 o +526.5 331.865 o grestore gsave /o { @@ -1870,7 +2016,7 @@ translate stroke grestore } bind def -153.45 466.217 o +73.125 340.222 o grestore gsave /o { @@ -1882,7 +2028,7 @@ translate stroke grestore } bind def -1104.84 466.217 o +526.5 340.222 o grestore gsave /o { @@ -1894,7 +2040,7 @@ translate stroke grestore } bind def -153.45 469.475 o +73.125 346.543 o grestore gsave /o { @@ -1906,7 +2052,7 @@ translate stroke grestore } bind def -1104.84 469.475 o +526.5 346.543 o grestore gsave /o { @@ -1918,7 +2064,7 @@ translate stroke grestore } bind def -153.45 472.298 o +73.125 350.241 o grestore gsave /o { @@ -1930,7 +2076,7 @@ translate stroke grestore } bind def -1104.84 472.298 o +526.5 350.241 o grestore gsave /o { @@ -1942,7 +2088,7 @@ translate stroke grestore } bind def -153.45 474.788 o +73.125 352.865 o grestore gsave /o { @@ -1954,7 +2100,7 @@ translate stroke grestore } bind def -1104.84 474.788 o +526.5 352.865 o grestore gsave /o { @@ -1966,7 +2112,7 @@ translate stroke grestore } bind def -153.45 491.668 o +73.125 361.222 o grestore gsave /o { @@ -1978,7 +2124,7 @@ translate stroke grestore } bind def -1104.84 491.668 o +526.5 361.222 o grestore gsave /o { @@ -1990,7 +2136,7 @@ translate stroke grestore } bind def -153.45 500.239 o +73.125 367.543 o grestore gsave /o { @@ -2002,7 +2148,7 @@ translate stroke grestore } bind def -1104.84 500.239 o +526.5 367.543 o grestore gsave /o { @@ -2014,7 +2160,7 @@ translate stroke grestore } bind def -153.45 506.32 o +73.125 371.241 o grestore gsave /o { @@ -2026,7 +2172,7 @@ translate stroke grestore } bind def -1104.84 506.32 o +526.5 371.241 o grestore gsave /o { @@ -2038,7 +2184,7 @@ translate stroke grestore } bind def -153.45 511.037 o +73.125 373.865 o grestore gsave /o { @@ -2050,7 +2196,7 @@ translate stroke grestore } bind def -1104.84 511.037 o +526.5 373.865 o grestore gsave /o { @@ -2062,7 +2208,7 @@ translate stroke grestore } bind def -153.45 514.892 o +73.125 382.222 o grestore gsave /o { @@ -2074,7 +2220,7 @@ translate stroke grestore } bind def -1104.84 514.892 o +526.5 382.222 o grestore gsave /o { @@ -2086,7 +2232,7 @@ translate stroke grestore } bind def -153.45 518.15 o +73.125 388.543 o grestore gsave /o { @@ -2098,7 +2244,7 @@ translate stroke grestore } bind def -1104.84 518.15 o +526.5 388.543 o grestore gsave /o { @@ -2110,7 +2256,7 @@ translate stroke grestore } bind def -153.45 520.973 o +73.125 392.241 o grestore gsave /o { @@ -2122,7 +2268,7 @@ translate stroke grestore } bind def -1104.84 520.973 o +526.5 392.241 o grestore gsave /o { @@ -2134,7 +2280,7 @@ translate stroke grestore } bind def -153.45 523.463 o +73.125 394.865 o grestore gsave /o { @@ -2146,9 +2292,9 @@ translate stroke grestore } bind def -1104.84 523.463 o +526.5 394.865 o grestore -119.45 378.981 m +39.125 274.041 m gsave 90 rotate 0 0.172 rmoveto @@ -2157,37 +2303,37 @@ grestore 1.000 setlinewidth 2 setlinecap gsave -153.45 525.69 m -1104.84 525.69 l +73.125 396.9 m +526.5 396.9 l stroke grestore gsave -1104.84 330.99 m -1104.84 525.69 l +526.5 249.9 m +526.5 396.9 l stroke grestore gsave -153.45 330.99 m -1104.84 330.99 l +73.125 249.9 m +526.5 249.9 l stroke grestore gsave -153.45 330.99 m -153.45 525.69 l +73.125 249.9 m +73.125 396.9 l stroke grestore /DejaVuSans findfont 14.400 scalefont setfont -570.075 530.69 m +240.742 401.9 m 0 0.203 rmoveto (Relative residual) show gsave -849.456 430.37 m -1097.64 430.37 l -1097.64 518.49 l -849.456 518.49 l -849.456 430.37 l +271.116 301.58 m +519.3 301.58 l +519.3 389.7 l +271.116 389.7 l +271.116 301.58 l cl gsave 1.000 setgray @@ -2197,13 +2343,13 @@ stroke grestore 0.000 0.000 1.000 setrgbcolor gsave -859.536 506.77 m -879.696 506.77 l +281.196 377.98 m +301.356 377.98 l stroke grestore 0.000 setgray gsave -895.536250 498.730000 translate +317.196250 369.940000 translate 0.000000 rotate /DejaVuSans findfont 14.4 scalefont @@ -2239,13 +2385,13 @@ setfont grestore 0.000 0.500 0.000 setrgbcolor gsave -859.536 485.57 m -879.696 485.57 l +281.196 356.78 m +301.356 356.78 l stroke grestore 0.000 setgray gsave -895.536250 479.530000 translate +317.196250 350.740000 translate 0.000000 rotate /DejaVuSans findfont 14.4 scalefont @@ -2269,108 +2415,109 @@ setfont /period glyphshow 44.422592 1.609375 moveto -/one glyphshow +/zero glyphshow + +53.578339 1.609375 moveto +/five glyphshow grestore 1.000 0.000 0.000 setrgbcolor gsave -859.536 464.823 m -879.696 464.823 l +281.196 336.033 m +301.356 336.033 l stroke grestore 0.000 setgray -895.536 459.58 m +317.196 330.79 m 0 0.203 rmoveto (Newtons method) show 0.000 0.750 0.750 setrgbcolor gsave -859.536 444.076 m -879.696 444.076 l +281.196 315.286 m +301.356 315.286 l stroke grestore 0.000 setgray -895.536 436.13 m +317.196 307.34 m 0 2.906 rmoveto (Steepest first, then Newton) show gsave -153.45 58.41 m -1104.84 58.41 l -1104.84 253.11 l -153.45 253.11 l -153.45 58.41 l +73.125 44.1 m +526.5 44.1 l +526.5 191.1 l +73.125 191.1 l +73.125 44.1 l 1.000 setgray fill grestore 0.000 0.000 1.000 setrgbcolor gsave -951.4 194.7 153.5 58.41 clipbox -153.45 235.343 m -185.163 86.1989 l -216.876 86.1401 l -248.589 86.1105 l -280.302 86.0941 l -312.015 86.0842 l -343.728 86.0778 l -375.441 86.0736 l -407.154 86.0707 l -438.867 86.0686 l -470.58 86.0672 l -502.293 86.0661 l +453.4 147 73.12 44.1 clipbox +73.125 184.565 m +105.509 65.5942 l +137.893 65.2214 l +170.277 65.1308 l +202.661 65.101 l +235.045 65.0875 l +267.429 65.0808 l +299.812 65.0769 l +332.196 65.0745 l +364.58 65.073 l +396.964 65.072 l +429.348 65.0714 l +461.732 65.0709 l +494.116 65.0705 l +526.5 65.0703 l stroke grestore 0.000 0.500 0.000 setrgbcolor gsave -951.4 194.7 153.5 58.41 clipbox -153.45 235.343 m -185.163 104.106 l -216.876 94.9383 l -248.589 90.7582 l -280.302 88.6472 l -312.015 87.5265 l -343.728 86.9149 l -375.441 86.5756 l -407.154 86.3853 l -438.867 86.2777 l -470.58 86.2164 l -502.293 86.1811 l -534.006 86.1606 l -565.719 86.1484 l -597.432 86.1409 l -629.145 86.1362 l -660.858 86.1329 l -692.571 86.1306 l -724.284 86.1288 l -755.997 86.1273 l -787.71 86.126 l -819.423 86.1248 l -851.136 86.1237 l -882.849 86.1226 l -914.562 86.1216 l -946.275 86.1206 l -977.988 86.1196 l -1009.7 86.1187 l -1041.41 86.1178 l -1073.13 86.1169 l +453.4 147 73.12 44.1 clipbox +73.125 184.565 m +105.509 70.7783 l +137.893 69.017 l +170.277 67.8839 l +202.661 67.1174 l +235.045 66.5815 l +267.429 66.1979 l +299.812 65.9189 l +332.196 65.7132 l +364.58 65.5603 l +396.964 65.4458 l +429.348 65.3596 l +461.732 65.2944 l +494.116 65.2449 l +526.5 65.2072 l stroke grestore 1.000 0.000 0.000 setrgbcolor gsave -951.4 194.7 153.5 58.41 clipbox -153.45 235.343 m -185.163 107.225 l -216.876 88.8794 l -248.589 86.7359 l -280.302 86.2559 l -312.015 86.1239 l +453.4 147 73.12 44.1 clipbox +73.125 184.565 m +105.509 86.0742 l +137.893 68.8444 l +170.277 65.8645 l +202.661 65.2528 l +235.045 65.1195 l +267.429 65.0854 l +299.812 65.0728 l +332.196 65.0699 l +364.58 65.0695 l +396.964 65.0695 l stroke grestore 0.000 0.750 0.750 setrgbcolor gsave -951.4 194.7 153.5 58.41 clipbox -153.45 235.343 m -185.163 86.1989 l -216.876 86.0776 l +453.4 147 73.12 44.1 clipbox +73.125 184.565 m +105.509 65.5942 l +137.893 65.2214 l +170.277 65.0967 l +202.661 65.0733 l +235.045 65.0697 l +267.429 65.0695 l +299.812 65.0695 l stroke grestore 0.500 setlinewidth @@ -2386,7 +2533,7 @@ translate stroke grestore } bind def -153.45 58.41 o +73.125 44.1 o grestore gsave /o { @@ -2398,13 +2545,13 @@ translate stroke grestore } bind def -153.45 253.11 o +73.125 191.1 o grestore /DejaVuSans findfont 12.000 scalefont setfont gsave -150.426563 45.331875 translate +70.101562 31.021875 translate 0.000000 rotate 0.000000 0.171875 m /zero glyphshow grestore @@ -2418,7 +2565,7 @@ translate stroke grestore } bind def -312.015 58.41 o +137.893 44.1 o grestore gsave /o { @@ -2430,12 +2577,12 @@ translate stroke grestore } bind def -312.015 253.11 o +137.893 191.1 o grestore gsave -309.179063 45.488125 translate +135.111607 31.193750 translate 0.000000 rotate -0.000000 0.171875 m /five glyphshow +0.000000 0.000000 m /two glyphshow grestore gsave /o { @@ -2447,7 +2594,7 @@ translate stroke grestore } bind def -470.58 58.41 o +202.661 44.1 o grestore gsave /o { @@ -2459,13 +2606,12 @@ translate stroke grestore } bind def -470.58 253.11 o +202.661 191.1 o grestore gsave -463.994063 45.331875 translate +199.473214 31.350000 translate 0.000000 rotate -0.000000 0.171875 m /one glyphshow -7.634766 0.171875 m /zero glyphshow +0.000000 0.000000 m /four glyphshow grestore gsave /o { @@ -2477,7 +2623,7 @@ translate stroke grestore } bind def -629.145 58.41 o +267.429 44.1 o grestore gsave /o { @@ -2489,13 +2635,12 @@ translate stroke grestore } bind def -629.145 253.11 o +267.429 191.1 o grestore gsave -622.684063 45.488125 translate +264.412946 31.021875 translate 0.000000 rotate -0.000000 0.171875 m /one glyphshow -7.634766 0.171875 m /five glyphshow +0.000000 0.171875 m /six glyphshow grestore gsave /o { @@ -2507,7 +2652,7 @@ translate stroke grestore } bind def -787.71 58.41 o +332.196 44.1 o grestore gsave /o { @@ -2519,12 +2664,41 @@ translate stroke grestore } bind def -787.71 253.11 o +332.196 191.1 o grestore gsave -780.905313 45.331875 translate +329.196429 31.021875 translate 0.000000 rotate -0.000000 0.171875 m /two glyphshow +0.000000 0.171875 m /eight glyphshow +grestore +gsave +/o { +gsave +newpath +translate +0 0 m +0 4 l +stroke +grestore +} bind def +396.964 44.1 o +grestore +gsave +/o { +gsave +newpath +translate +0 0 m +0 -4 l +stroke +grestore +} bind def +396.964 191.1 o +grestore +gsave +390.378348 31.021875 translate +0.000000 rotate +0.000000 0.171875 m /one glyphshow 7.634766 0.171875 m /zero glyphshow grestore gsave @@ -2537,7 +2711,7 @@ translate stroke grestore } bind def -946.275 58.41 o +461.732 44.1 o grestore gsave /o { @@ -2549,13 +2723,13 @@ translate stroke grestore } bind def -946.275 253.11 o +461.732 191.1 o grestore gsave -939.595313 45.331875 translate +455.349330 31.193750 translate 0.000000 rotate -0.000000 0.171875 m /two glyphshow -7.634766 0.171875 m /five glyphshow +0.000000 0.000000 m /one glyphshow +7.634766 0.000000 m /two glyphshow grestore gsave /o { @@ -2567,7 +2741,7 @@ translate stroke grestore } bind def -1104.84 58.41 o +526.5 44.1 o grestore gsave /o { @@ -2579,15 +2753,15 @@ translate stroke grestore } bind def -1104.84 253.11 o +526.5 191.1 o grestore gsave -1098.058750 45.331875 translate +519.851562 31.350000 translate 0.000000 rotate -0.000000 0.171875 m /three glyphshow -7.634766 0.171875 m /zero glyphshow +0.000000 0.000000 m /one glyphshow +7.634766 0.000000 m /four glyphshow grestore -604.778 31.035 m +275.445 16.725 m 0 0.172 rmoveto (Iteration) show gsave @@ -2600,7 +2774,7 @@ translate stroke grestore } bind def -153.45 58.41 o +73.125 44.1 o grestore gsave /o { @@ -2612,13 +2786,14 @@ translate stroke grestore } bind def -1104.84 58.41 o +526.5 44.1 o grestore gsave -134.059375 53.949062 translate +45.843750 39.560937 translate 0.000000 rotate 0.000000 0.171875 m /minus glyphshow -10.054688 0.171875 m /five glyphshow +10.054688 0.171875 m /two glyphshow +17.689453 0.171875 m /zero glyphshow grestore gsave /o { @@ -2630,7 +2805,7 @@ translate stroke grestore } bind def -153.45 86.2243 o +73.125 65.1 o grestore gsave /o { @@ -2642,10 +2817,10 @@ translate stroke grestore } bind def -1104.84 86.2243 o +526.5 65.1 o grestore gsave -143.403125 81.685223 translate +63.078125 60.560937 translate 0.000000 rotate 0.000000 0.171875 m /zero glyphshow grestore @@ -2659,7 +2834,7 @@ translate stroke grestore } bind def -153.45 114.039 o +73.125 86.1 o grestore gsave /o { @@ -2671,12 +2846,13 @@ translate stroke grestore } bind def -1104.84 114.039 o +526.5 86.1 o grestore gsave -143.778125 109.577634 translate +55.515625 81.560937 translate 0.000000 rotate -0.000000 0.171875 m /five glyphshow +0.000000 0.171875 m /two glyphshow +7.634766 0.171875 m /zero glyphshow grestore gsave /o { @@ -2688,7 +2864,7 @@ translate stroke grestore } bind def -153.45 141.853 o +73.125 107.1 o grestore gsave /o { @@ -2700,12 +2876,12 @@ translate stroke grestore } bind def -1104.84 141.853 o +526.5 107.1 o grestore gsave -136.278125 137.313795 translate +55.234375 102.560937 translate 0.000000 rotate -0.000000 0.171875 m /one glyphshow +0.000000 0.171875 m /four glyphshow 7.634766 0.171875 m /zero glyphshow grestore gsave @@ -2718,7 +2894,7 @@ translate stroke grestore } bind def -153.45 169.667 o +73.125 128.1 o grestore gsave /o { @@ -2730,13 +2906,13 @@ translate stroke grestore } bind def -1104.84 169.667 o +526.5 128.1 o grestore gsave -136.528125 165.206205 translate +55.484375 123.560937 translate 0.000000 rotate -0.000000 0.171875 m /one glyphshow -7.634766 0.171875 m /five glyphshow +0.000000 0.171875 m /six glyphshow +7.634766 0.171875 m /zero glyphshow grestore gsave /o { @@ -2748,7 +2924,7 @@ translate stroke grestore } bind def -153.45 197.481 o +73.125 149.1 o grestore gsave /o { @@ -2760,12 +2936,12 @@ translate stroke grestore } bind def -1104.84 197.481 o +526.5 149.1 o grestore gsave -135.840625 192.942366 translate +55.453125 144.560937 translate 0.000000 rotate -0.000000 0.171875 m /two glyphshow +0.000000 0.171875 m /eight glyphshow 7.634766 0.171875 m /zero glyphshow grestore gsave @@ -2778,7 +2954,7 @@ translate stroke grestore } bind def -153.45 225.296 o +73.125 170.1 o grestore gsave /o { @@ -2790,13 +2966,14 @@ translate stroke grestore } bind def -1104.84 225.296 o +526.5 170.1 o grestore gsave -136.090625 220.756652 translate +48.312500 165.560937 translate 0.000000 rotate -0.000000 0.171875 m /two glyphshow -7.634766 0.171875 m /five glyphshow +0.000000 0.171875 m /one glyphshow +7.634766 0.171875 m /zero glyphshow +15.269531 0.171875 m /zero glyphshow grestore gsave /o { @@ -2808,7 +2985,7 @@ translate stroke grestore } bind def -153.45 253.11 o +73.125 191.1 o grestore gsave /o { @@ -2820,15 +2997,16 @@ translate stroke grestore } bind def -1104.84 253.11 o +526.5 191.1 o grestore gsave -135.887500 248.570938 translate +48.312500 186.560937 translate 0.000000 rotate -0.000000 0.171875 m /three glyphshow -7.634766 0.171875 m /zero glyphshow +0.000000 0.171875 m /one glyphshow +7.634766 0.171875 m /two glyphshow +15.269531 0.171875 m /zero glyphshow grestore -129.059 144.549 m +40.844 106.389 m gsave 90 rotate 0 2.5 rmoveto @@ -2837,29 +3015,29 @@ grestore 1.000 setlinewidth 2 setlinecap gsave -153.45 253.11 m -1104.84 253.11 l +73.125 191.1 m +526.5 191.1 l stroke grestore gsave -1104.84 58.41 m -1104.84 253.11 l +526.5 44.1 m +526.5 191.1 l stroke grestore gsave -153.45 58.41 m -1104.84 58.41 l +73.125 44.1 m +526.5 44.1 l stroke grestore gsave -153.45 58.41 m -153.45 253.11 l +73.125 44.1 m +73.125 191.1 l stroke grestore /DejaVuSans findfont 14.400 scalefont setfont -577.004 258.11 m +247.672 196.1 m 0 0.203 rmoveto (Function value) show