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
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 = []
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)
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")
% %\r
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
\section{Resultater}\r
-We used the following data:\r
-\r
+This project explores how one can approximate the local minima of a function.\r
+The function considered takes in a symmetric positive definite matrix, and two\r
+vectors. For this purpose we used the following randomly generated data:\r
\begin{equation}\r
-H = \r
-\begin{bmatrix}\r
-1.8580682 & -1.01197101 \\\r
--1.01197101 & 0.63456543 \r
-\end{bmatrix}\r
-, \mathbf{b} =\r
-\begin{bmatrix}\r
--0.3119187 \\\r
-0.14508516\r
-\end{bmatrix}\r
-, \mathbf{c} =\r
-\begin{bmatrix}\r
-0.47736331 \\\r
-1.48834978\r
-\end{bmatrix}.\r
-\nonumber\r
+ H = \r
+ \begin{bmatrix}\r
+ 1.8580682 & -1.01197101 \\\r
+ -1.01197101 & 0.63456543 \r
+ \end{bmatrix}\r
+ , \mathbf{b} =\r
+ \begin{bmatrix}\r
+ -0.3119187 \\\r
+ 0.14508516\r
+ \end{bmatrix}\r
+ , \mathbf{c} =\r
+ \begin{bmatrix}\r
+ 0.47736331 \\\r
+ 1.48834978\r
+ \end{bmatrix}.\r
+ \nonumber\r
\end{equation}\r
+The elements of $\mathbf{b}$ are randomly generated numbers from a uniform\r
+distribution over $[-1, 1]$, and the elements of $\mathbf{c}$ are randomly\r
+generated positive numbers from a uniform distribution over $(0, 3]$\r
\r
-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.\r
-\r
-To generate the nxn matrix, $H$, we first generate a upper triangular nxn matrix $U$.\r
-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.\r
-$H = U^{T}U$ is then a symmetric positive definite matrix.\r
+To generate the $n\times n$ matrix $H$, we first generate a upper triangular\r
+$n\times n$ matrix $U$. The elements above the diagonal are randomly generated\r
+in the uniform distribution over $[-3, 3]$, while the numbers on the diagonal\r
+are square roots of positive numbers from the same distribution. $H = U^{T}U$ is\r
+then a symmetric positive definite matrix.\r
\r
The function analyzed in this project was\r
-\r
\begin{equation}\r
-\label{eq:func_g}\r
-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}\r
+ \label{eq:func_g}\r
+ g(\mathbf{x}) := -\mathbf{b}^{T}\mathbf{x} +\r
+ \frac{1}{2}\mathbf{x}^{T}H\mathbf{x} +\r
+ \frac{1}{12}\mathbf{x}^{T}C(\mathbf{x})\mathbf{x}.\r
\end{equation}\r
From equation \ref{eq:func_g} we get\r
\begin{eqnarray}\r
-\label{eq:grad_g}\r
-\nabla g(\mathbf{x}) &=& -\mathbf{b}+H\mathbf{x}+\frac{1}{3}C(\mathbf{x})\mathbf{x} \\\r
-\label{eq:hess_g}\r
-\nabla^{2}g(\mathbf{x}) &=& H+C(\mathbf{x}).\r
+ \label{eq:grad_g}\r
+ \nabla g(\mathbf{x}) &=& -\mathbf{b}+H\mathbf{x}+\frac{1}{3}C(\mathbf{x})\mathbf{x} \\\r
+ \label{eq:hess_g}\r
+ \nabla^{2}g(\mathbf{x}) &=& H+C(\mathbf{x}).\r
\end{eqnarray}\r
-The three functions, \ref{eq:func_g}, \ref{eq:grad_g} and \ref{eq:hess_g}, are implemented in the Python code below.\r
+The three functions, \ref{eq:func_g}, \ref{eq:grad_g} and \ref{eq:hess_g}, are\r
+implemented in the Python code below.\r
\r
\lstinputlisting[language=Python]{bj_function.py}\r
\r
-Consider the Hessian $\nabla^{2}g(\mathbf{x})$, and any vector $\mathbf{v} \in \mathbb{R}^{n}_{*}$.\r
-Then we have\r
+Consider the Hessian $\nabla^{2}g(\mathbf{x})$, and any vector $\mathbf{v} \in\r
+\mathbb{R}^{n}_{*}$. Then we have\r
\r
\begin{eqnarray}\r
-\mathbf{v}^{T}(\nabla^{2}g(\mathbf{x}))\mathbf{v} &=& \mathbf{v}^{T}(H+C(\mathbf{x}))\mathbf{v} \nonumber \\\r
-&=& \mathbf{v}^{T}H(\mathbf{x}))\mathbf{v}+\mathbf{v}^{T}C(\mathbf{x})\mathbf{v}.\r
+ \mathbf{v}^{T}(\nabla^{2}g(\mathbf{x}))\mathbf{v} &=& \mathbf{v}^{T}(H+C(\mathbf{x}))\mathbf{v} \nonumber \\\r
+ &=& \mathbf{v}^{T}H(\mathbf{x}))\mathbf{v}+\mathbf{v}^{T}C(\mathbf{x})\mathbf{v}.\r
\end{eqnarray}\r
We already know H is positive definite, so $\mathbf{v}^{T}H(\mathbf{x}))\mathbf{v} > 0$. \r
Since $C(\mathbf{x})$ only has positive entries, we easily see that\r
-\r
\begin{equation}\r
-\mathbf{v}^{T}C(\mathbf{x})\mathbf{v} = \sum\limits_{i=1}^n c_{i}(v_{i}x_{i})^2 \geq 0\r
+ \mathbf{v}^{T}C(\mathbf{x})\mathbf{v} = \sum\limits_{i=1}^n c_{i}(v_{i}x_{i})^2 \geq 0\r
\end{equation}\r
-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.\r
+Hence $\mathbf{v}^{T}(H+C(\mathbf{x}))\mathbf{v} > 0$, and we see by definition\r
+that the Hessian, $\nabla^{2}g(\mathbf{x})$, is positive definite.\r
\r
\begin{figure}[htb]\r
-\centering\r
-\includegraphics[width=0.8\textwidth]{steepest}\r
-\caption{Plot of relative residual and function values for iterations of the steepest descent method with optimal $\alpha$}\r
-\label{fig:fn_resid}\r
+ \centering\r
+ \includegraphics[width=0.9\textwidth]{steepest}\r
+ \caption{Plot of relative residual and function values for iterations of the steepest descent method with optimal $\alpha$}\r
+ \label{fig:fn_resid}\r
\end{figure}\r
\r
\begin{figure}[htb]\r
-\centering\r
-\includegraphics[width=0.9\textwidth]{surface}\r
-\caption{Surface plot of function with points showing iteration of steepest descent method, both with optimal and constant $\alpha$}\r
-\label{fig:surface}\r
+ \centering\r
+ \includegraphics[width=0.9\textwidth]{surface}\r
+ \caption{Surface plot of function with points showing iteration of steepest descent method, both with optimal and constant $\alpha$}\r
+ \label{fig:surface}\r
\end{figure}\r
\r
+Consider the equation\r
+\begin{equation}\r
+ \label{eq:forward}\r
+ \mathbf{r}'(t) = -\nabla g\left(\mathbf{r}(t)\right)\text{, } \mathbf{r}(0) = \mathbf{r}^0.\r
+\end{equation}\r
+One can view the function $\mathbf{r}(t)$ as a parameterisation of the curve\r
+going through the starting point to the minima, always going in the direction of\r
+the steepest descent. By applying the forward Euler method to this differential\r
+vector equation, we get the following iteration:\r
+\begin{equation}\r
+ \label{eq:forward_iter}\r
+ \mathbf{r}^{(k+1)} = \mathbf{r}^{(k)} - \alpha \nabla g\left(\mathbf{r}^{(k)}\right)\r
+\end{equation}\r
+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$. \r
+\r
To find the optimal step length, $\alpha^*$, we solve the equation\r
\begin{eqnarray}\r
-\frac{\partial}{\partial \mathbf{\alpha}}g\left(\mathbf{x}+\alpha\mathbf{u}\right) &=& 0, \text{where } \mathbf{u} = -\nabla g(\mathbf{x} ) \nonumber \\\r
-&\Updownarrow& \nonumber\\\r
-%HER ER DET FEIL! \r
-A\alpha^3 + B\alpha^2 + C\alpha + D &=& 0,\r
+ \frac{\partial}{\partial \mathbf{\alpha}}g\left(\mathbf{x}+\alpha\mathbf{u}\right) &=& 0, \text{where } \mathbf{u} = -\nabla g(\mathbf{x} ) \nonumber \\\r
+ &\Updownarrow& \nonumber\\\r
+ A\alpha^3 + B\alpha^2 + C\alpha + D &=& 0,\r
+ \end{eqnarray}\r
+where $A$, $B$, $C$, and $D$ is given by\r
+ \begin{eqnarray}\r
+ A &=& \frac{1}{3}\mathbf{u}^TC(\mathbf{u})\mathbf{u} \nonumber \\\r
+ B &=& \mathbf{x}^TC(\mathbf{u}) \mathbf{u} \nonumber \\\r
+ C &=& \mathbf{u}^TH\mathbf{u}+\mathbf{u}^TC(\mathbf{x})\mathbf{u} \nonumber \\\r
+ D &=& \frac{1}{3}\mathbf{u}^TC(\mathbf{x})\mathbf{x}+\mathbf{u}^TH\mathbf{x}-\mathbf{b}^T\mathbf{u}\r
\end{eqnarray}\r
-der $A$, $B$, $C$ og $D$ er gitt ved\r
-\begin{eqnarray}\r
-A &=& \frac{1}{3}\mathbf{u}^TC(\mathbf{u}\mathbf{u} \nonumber \\\r
-B &=& (\mathbf{x})^TC(\mathbf{u}) \mathbf{u} \nonumber \\\r
-C &=& (\mathbf{u})^TH\mathbf{u}+(\mathbf{u})^TC(\mathbf{x})\mathbf{u}) \nonumber \\\r
-D &=& \frac{1}{3}(\mathbf{u})^TC(\mathbf{x})\mathbf{x}+(\mathbf{u})^TH\mathbf{x}-\mathbf{b}^T\mathbf{u}\r
-\end{eqnarray}\r
-\r
-% VI MÅ OGSÅ ha utledning av alt det andre, forklaring \r
-% av figurer, og en slags tabell med sammenlikning av metodene\r
\r
\lstinputlisting[language=Python]{bj_optimal.py}\r
\r
%!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
/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
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
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
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
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
stroke
grestore
} bind def
-153.45 330.99 o
+73.125 249.9 o
grestore
gsave
/o {
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
stroke
grestore
} bind def
-312.015 330.99 o
+137.893 249.9 o
grestore
gsave
/o {
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 {
stroke
grestore
} bind def
-470.58 330.99 o
+202.661 249.9 o
grestore
gsave
/o {
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 {
stroke
grestore
} bind def
-629.145 330.99 o
+267.429 249.9 o
grestore
gsave
/o {
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 {
stroke
grestore
} bind def
-787.71 330.99 o
+332.196 249.9 o
grestore
gsave
/o {
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
stroke
grestore
} bind def
-946.275 330.99 o
+461.732 249.9 o
grestore
gsave
/o {
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 {
stroke
grestore
} bind def
-1104.84 330.99 o
+526.5 249.9 o
grestore
gsave
/o {
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
stroke
grestore
} bind def
-153.45 330.99 o
+73.125 249.9 o
grestore
gsave
/o {
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
/hyphen glyphshow
18.300586 8.875000 moveto
-/four glyphshow
+/seven glyphshow
grestore
stroke
grestore
} bind def
-153.45 379.665 o
+73.125 270.9 o
grestore
gsave
/o {
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
/hyphen glyphshow
18.300586 8.765625 moveto
-/three glyphshow
+/six glyphshow
grestore
stroke
grestore
} bind def
-153.45 428.34 o
+73.125 291.9 o
grestore
gsave
/o {
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
stroke
grestore
} bind def
-153.45 477.015 o
+73.125 312.9 o
grestore
gsave
/o {
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
/hyphen glyphshow
18.300586 8.875000 moveto
-/one glyphshow
+/four glyphshow
grestore
stroke
grestore
} bind def
-153.45 525.69 o
+73.125 333.9 o
grestore
gsave
/o {
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
8.4 scalefont
setfont
15.269531 8.765625 moveto
-/zero glyphshow
+/hyphen glyphshow
+
+18.300586 8.765625 moveto
+/three glyphshow
grestore
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 {
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 {
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 {
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 {
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 {
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 {
stroke
grestore
} bind def
-153.45 368.867 o
+73.125 256.222 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 368.867 o
+526.5 256.222 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 372.125 o
+73.125 262.543 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 372.125 o
+526.5 262.543 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 374.948 o
+73.125 266.241 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 374.948 o
+526.5 266.241 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 377.438 o
+73.125 268.865 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 377.438 o
+526.5 268.865 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 394.318 o
+73.125 277.222 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 394.318 o
+526.5 277.222 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 402.889 o
+73.125 283.543 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 402.889 o
+526.5 283.543 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 408.97 o
+73.125 287.241 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 408.97 o
+526.5 287.241 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 413.687 o
+73.125 289.865 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 413.687 o
+526.5 289.865 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 417.542 o
+73.125 298.222 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 417.542 o
+526.5 298.222 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 420.8 o
+73.125 304.543 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 420.8 o
+526.5 304.543 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 423.623 o
+73.125 308.241 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 423.623 o
+526.5 308.241 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 426.113 o
+73.125 310.865 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 426.113 o
+526.5 310.865 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 442.993 o
+73.125 319.222 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 442.993 o
+526.5 319.222 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 451.564 o
+73.125 325.543 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 451.564 o
+526.5 325.543 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 457.645 o
+73.125 329.241 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 457.645 o
+526.5 329.241 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 462.362 o
+73.125 331.865 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 462.362 o
+526.5 331.865 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 466.217 o
+73.125 340.222 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 466.217 o
+526.5 340.222 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 469.475 o
+73.125 346.543 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 469.475 o
+526.5 346.543 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 472.298 o
+73.125 350.241 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 472.298 o
+526.5 350.241 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 474.788 o
+73.125 352.865 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 474.788 o
+526.5 352.865 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 491.668 o
+73.125 361.222 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 491.668 o
+526.5 361.222 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 500.239 o
+73.125 367.543 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 500.239 o
+526.5 367.543 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 506.32 o
+73.125 371.241 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 506.32 o
+526.5 371.241 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 511.037 o
+73.125 373.865 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 511.037 o
+526.5 373.865 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 514.892 o
+73.125 382.222 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 514.892 o
+526.5 382.222 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 518.15 o
+73.125 388.543 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 518.15 o
+526.5 388.543 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 520.973 o
+73.125 392.241 o
grestore
gsave
/o {
stroke
grestore
} bind def
-1104.84 520.973 o
+526.5 392.241 o
grestore
gsave
/o {
stroke
grestore
} bind def
-153.45 523.463 o
+73.125 394.865 o
grestore
gsave
/o {
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
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
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
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
/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
stroke
grestore
} bind def
-153.45 58.41 o
+73.125 44.1 o
grestore
gsave
/o {
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
stroke
grestore
} bind def
-312.015 58.41 o
+137.893 44.1 o
grestore
gsave
/o {
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 {
stroke
grestore
} bind def
-470.58 58.41 o
+202.661 44.1 o
grestore
gsave
/o {
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 {
stroke
grestore
} bind def
-629.145 58.41 o
+267.429 44.1 o
grestore
gsave
/o {
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 {
stroke
grestore
} bind def
-787.71 58.41 o
+332.196 44.1 o
grestore
gsave
/o {
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
stroke
grestore
} bind def
-946.275 58.41 o
+461.732 44.1 o
grestore
gsave
/o {
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 {
stroke
grestore
} bind def
-1104.84 58.41 o
+526.5 44.1 o
grestore
gsave
/o {
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
stroke
grestore
} bind def
-153.45 58.41 o
+73.125 44.1 o
grestore
gsave
/o {
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 {
stroke
grestore
} bind def
-153.45 86.2243 o
+73.125 65.1 o
grestore
gsave
/o {
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
stroke
grestore
} bind def
-153.45 114.039 o
+73.125 86.1 o
grestore
gsave
/o {
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 {
stroke
grestore
} bind def
-153.45 141.853 o
+73.125 107.1 o
grestore
gsave
/o {
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
stroke
grestore
} bind def
-153.45 169.667 o
+73.125 128.1 o
grestore
gsave
/o {
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 {
stroke
grestore
} bind def
-153.45 197.481 o
+73.125 149.1 o
grestore
gsave
/o {
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
stroke
grestore
} bind def
-153.45 225.296 o
+73.125 170.1 o
grestore
gsave
/o {
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 {
stroke
grestore
} bind def
-153.45 253.11 o
+73.125 191.1 o
grestore
gsave
/o {
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
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