latex rapport.tex
latex rapport.tex
dvips rapport.dvi
- ps2pdf rapport.ps
+ #ps2pdf rapport.ps
%!PS-Adobe-3.0 EPSF-3.0
%%Title: steepest.eps
%%Creator: matplotlib version 0.99.3, http://matplotlib.sourceforge.net/
-%%CreationDate: Sun Oct 2 23:02:54 2011
+%%CreationDate: Mon Oct 3 11:59:29 2011
%%Orientation: portrait
-%%BoundingBox: -74 103 686 688
+%%BoundingBox: -74 97 686 694
%%EndComments
%%BeginProlog
/mpldict 8 dict def
end
%%EndProlog
mpldict begin
--74.25 103.95 translate
-760.5 584.1 0 0 clipbox
+-74.25 97.2 translate
+760.5 597.6 0 0 clipbox
1.000 setlinewidth
1 setlinejoin
2 setlinecap
gsave
0 0 m
760.5 0 l
-760.5 584.1 l
-0 584.1 l
+760.5 597.6 l
+0 597.6 l
0 0 l
gsave
fill
stroke
grestore
gsave
-95.0625 330.99 m
-684.45 330.99 l
-684.45 525.69 l
-95.0625 525.69 l
-95.0625 330.99 l
+95.0625 338.64 m
+684.45 338.64 l
+684.45 537.84 l
+95.0625 537.84 l
+95.0625 338.64 l
fill
grestore
0.000 0.000 1.000 setrgbcolor
gsave
-589.4 194.7 95.06 331 clipbox
-95.0625 517.035 m
-137.162 359.459 l
-179.261 358.965 l
-221.36 358.845 l
-263.459 358.806 l
-305.558 358.788 l
-347.657 358.779 l
-389.756 358.774 l
-431.855 358.771 l
-473.954 358.769 l
-516.054 358.767 l
-558.153 358.766 l
-600.252 358.766 l
-642.351 358.765 l
-684.45 358.765 l
+589.4 199.2 95.06 338.6 clipbox
+95.0625 513.571 m
+137.162 372.039 l
+179.261 367.103 l
+221.36 367.097 l
+263.459 367.097 l
+305.558 367.097 l
+347.657 367.097 l
+389.756 367.097 l
+431.855 367.097 l
+473.954 367.097 l
+516.054 367.097 l
+558.153 367.097 l
+600.252 367.097 l
+642.351 367.097 l
+684.45 367.097 l
stroke
grestore
0.000 0.500 0.000 setrgbcolor
gsave
-589.4 194.7 95.06 331 clipbox
-95.0625 517.035 m
-137.162 366.325 l
-179.261 363.992 l
-221.36 362.491 l
-263.459 361.476 l
-305.558 360.766 l
-347.657 360.258 l
-389.756 359.889 l
-431.855 359.617 l
-473.954 359.414 l
-516.054 359.262 l
-558.153 359.148 l
-600.252 359.062 l
-642.351 358.996 l
-684.45 358.946 l
+589.4 199.2 95.06 338.6 clipbox
+95.0625 513.571 m
+137.162 372.111 l
+179.261 369.876 l
+221.36 368.918 l
+263.459 368.4 l
+305.558 368.083 l
+347.657 367.873 l
+389.756 367.725 l
+431.855 367.617 l
+473.954 367.536 l
+516.054 367.472 l
+558.153 367.422 l
+600.252 367.381 l
+642.351 367.348 l
+684.45 367.321 l
stroke
grestore
1.000 0.000 0.000 setrgbcolor
gsave
-589.4 194.7 95.06 331 clipbox
-95.0625 517.035 m
-137.162 386.584 l
-179.261 363.764 l
-221.36 359.817 l
-263.459 359.007 l
-305.558 358.83 l
-347.657 358.785 l
-389.756 358.768 l
-431.855 358.764 l
-473.954 358.764 l
-516.054 358.764 l
+589.4 199.2 95.06 338.6 clipbox
+95.0625 513.571 m
+137.162 396.121 l
+179.261 372.87 l
+221.36 368.254 l
+263.459 367.333 l
+305.558 367.146 l
+347.657 367.107 l
+389.756 367.099 l
+431.855 367.097 l
+473.954 367.097 l
+516.054 367.097 l
+558.153 367.097 l
+600.252 367.097 l
+642.351 367.097 l
stroke
grestore
0.000 0.750 0.750 setrgbcolor
gsave
-589.4 194.7 95.06 331 clipbox
-95.0625 517.035 m
-137.162 359.459 l
-179.261 358.965 l
-221.36 358.8 l
-263.459 358.769 l
-305.558 358.764 l
-347.657 358.764 l
-389.756 358.764 l
+589.4 199.2 95.06 338.6 clipbox
+95.0625 513.571 m
+137.162 372.039 l
+179.261 367.103 l
+221.36 367.097 l
+263.459 367.097 l
+305.558 367.097 l
+347.657 367.097 l
+389.756 367.097 l
+431.855 367.097 l
stroke
grestore
0.500 setlinewidth
stroke
grestore
} bind def
-95.0625 330.99 o
+95.0625 338.64 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 525.69 o
+95.0625 537.84 o
grestore
/DejaVuSans findfont
12.000 scalefont
setfont
gsave
-92.039062 317.911875 translate
+92.039062 325.561875 translate
0.000000 rotate
0.000000 0.171875 m /zero glyphshow
grestore
stroke
grestore
} bind def
-179.261 330.99 o
+179.261 338.64 o
grestore
gsave
/o {
stroke
grestore
} bind def
-179.261 525.69 o
+179.261 537.84 o
grestore
gsave
-176.479464 318.083750 translate
+176.479464 325.733750 translate
0.000000 rotate
0.000000 0.000000 m /two glyphshow
grestore
stroke
grestore
} bind def
-263.459 330.99 o
+263.459 338.64 o
grestore
gsave
/o {
stroke
grestore
} bind def
-263.459 525.69 o
+263.459 537.84 o
grestore
gsave
-260.271429 318.240000 translate
+260.271429 325.890000 translate
0.000000 rotate
0.000000 0.000000 m /four glyphshow
grestore
stroke
grestore
} bind def
-347.657 330.99 o
+347.657 338.64 o
grestore
gsave
/o {
stroke
grestore
} bind def
-347.657 525.69 o
+347.657 537.84 o
grestore
gsave
-344.641518 317.911875 translate
+344.641518 325.561875 translate
0.000000 rotate
0.000000 0.171875 m /six glyphshow
grestore
stroke
grestore
} bind def
-431.855 330.99 o
+431.855 338.64 o
grestore
gsave
/o {
stroke
grestore
} bind def
-431.855 525.69 o
+431.855 537.84 o
grestore
gsave
-428.855357 317.911875 translate
+428.855357 325.561875 translate
0.000000 rotate
0.000000 0.171875 m /eight glyphshow
grestore
stroke
grestore
} bind def
-516.054 330.99 o
+516.054 338.64 o
grestore
gsave
/o {
stroke
grestore
} bind def
-516.054 525.69 o
+516.054 537.84 o
grestore
gsave
-509.467634 317.911875 translate
+509.467634 325.561875 translate
0.000000 rotate
0.000000 0.171875 m /one glyphshow
7.634766 0.171875 m /zero glyphshow
stroke
grestore
} bind def
-600.252 330.99 o
+600.252 338.64 o
grestore
gsave
/o {
stroke
grestore
} bind def
-600.252 525.69 o
+600.252 537.84 o
grestore
gsave
-593.868973 318.083750 translate
+593.868973 325.733750 translate
0.000000 rotate
0.000000 0.000000 m /one glyphshow
7.634766 0.000000 m /two glyphshow
stroke
grestore
} bind def
-684.45 330.99 o
+684.45 338.64 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 525.69 o
+684.45 537.84 o
grestore
gsave
-677.801563 318.240000 translate
+677.801563 325.890000 translate
0.000000 rotate
0.000000 0.000000 m /one glyphshow
7.634766 0.000000 m /four glyphshow
grestore
-365.389 303.615 m
+365.389 311.265 m
0 0.172 rmoveto
(Iteration) show
gsave
stroke
grestore
} bind def
-95.0625 330.99 o
+95.0625 338.64 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 330.99 o
+684.45 338.64 o
grestore
gsave
-67.781250 326.450938 translate
+37.218750 334.100937 translate
0.000000 rotate
0.000000 0.171875 m /minus glyphshow
10.054688 0.171875 m /two glyphshow
17.689453 0.171875 m /zero glyphshow
+25.324219 0.171875 m /zero glyphshow
+32.958984 0.171875 m /zero glyphshow
+40.593750 0.171875 m /zero glyphshow
+48.228516 0.171875 m /zero glyphshow
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 358.804 o
+95.0625 367.097 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 358.804 o
+684.45 367.097 o
grestore
gsave
-85.015625 354.265223 translate
+85.015625 362.558080 translate
0.000000 rotate
0.000000 0.171875 m /zero glyphshow
grestore
stroke
grestore
} bind def
-95.0625 386.619 o
+95.0625 395.554 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 386.619 o
+684.45 395.554 o
grestore
gsave
-77.453125 382.079509 translate
+46.890625 391.015223 translate
0.000000 rotate
0.000000 0.171875 m /two glyphshow
7.634766 0.171875 m /zero glyphshow
+15.269531 0.171875 m /zero glyphshow
+22.904297 0.171875 m /zero glyphshow
+30.539062 0.171875 m /zero glyphshow
+38.173828 0.171875 m /zero glyphshow
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 414.433 o
+95.0625 424.011 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 414.433 o
+684.45 424.011 o
grestore
gsave
-77.171875 409.893795 translate
+46.609375 419.472366 translate
0.000000 rotate
0.000000 0.171875 m /four glyphshow
7.634766 0.171875 m /zero glyphshow
+15.269531 0.171875 m /zero glyphshow
+22.904297 0.171875 m /zero glyphshow
+30.539062 0.171875 m /zero glyphshow
+38.173828 0.171875 m /zero glyphshow
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 442.247 o
+95.0625 452.469 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 442.247 o
+684.45 452.469 o
grestore
gsave
-77.421875 437.708080 translate
+46.859375 447.929509 translate
0.000000 rotate
0.000000 0.171875 m /six glyphshow
7.634766 0.171875 m /zero glyphshow
+15.269531 0.171875 m /zero glyphshow
+22.904297 0.171875 m /zero glyphshow
+30.539062 0.171875 m /zero glyphshow
+38.173828 0.171875 m /zero glyphshow
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 470.061 o
+95.0625 480.926 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 470.061 o
+684.45 480.926 o
grestore
gsave
-77.390625 465.522366 translate
+46.828125 476.386652 translate
0.000000 rotate
0.000000 0.171875 m /eight glyphshow
7.634766 0.171875 m /zero glyphshow
+15.269531 0.171875 m /zero glyphshow
+22.904297 0.171875 m /zero glyphshow
+30.539062 0.171875 m /zero glyphshow
+38.173828 0.171875 m /zero glyphshow
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 497.876 o
+95.0625 509.383 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 497.876 o
+684.45 509.383 o
grestore
gsave
-70.250000 493.336652 translate
+39.687500 504.843795 translate
0.000000 rotate
0.000000 0.171875 m /one glyphshow
7.634766 0.171875 m /zero glyphshow
15.269531 0.171875 m /zero glyphshow
+22.904297 0.171875 m /zero glyphshow
+30.539062 0.171875 m /zero glyphshow
+38.173828 0.171875 m /zero glyphshow
+45.808594 0.171875 m /zero glyphshow
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 525.69 o
+95.0625 537.84 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 525.69 o
+684.45 537.84 o
grestore
gsave
-70.250000 521.150938 translate
+39.687500 533.300938 translate
0.000000 rotate
0.000000 0.171875 m /one glyphshow
7.634766 0.171875 m /two glyphshow
15.269531 0.171875 m /zero glyphshow
+22.904297 0.171875 m /zero glyphshow
+30.539062 0.171875 m /zero glyphshow
+38.173828 0.171875 m /zero glyphshow
+45.808594 0.171875 m /zero glyphshow
grestore
-62.781 417.129 m
+32.219 427.029 m
gsave
90 rotate
0 2.5 rmoveto
1.000 setlinewidth
2 setlinecap
gsave
-95.0625 525.69 m
-684.45 525.69 l
+95.0625 537.84 m
+684.45 537.84 l
stroke
grestore
gsave
-684.45 330.99 m
-684.45 525.69 l
+684.45 338.64 m
+684.45 537.84 l
stroke
grestore
gsave
-95.0625 330.99 m
-684.45 330.99 l
+95.0625 338.64 m
+684.45 338.64 l
stroke
grestore
gsave
-95.0625 330.99 m
-95.0625 525.69 l
+95.0625 338.64 m
+95.0625 537.84 l
stroke
grestore
/DejaVuSans findfont
14.400 scalefont
setfont
-337.616 530.69 m
+337.616 542.84 m
0 0.203 rmoveto
(Function value) show
gsave
-429.066 430.37 m
-677.25 430.37 l
-677.25 518.49 l
-429.066 518.49 l
-429.066 430.37 l
+429.066 442.52 m
+677.25 442.52 l
+677.25 530.64 l
+429.066 530.64 l
+429.066 442.52 l
cl
gsave
1.000 setgray
grestore
0.000 0.000 1.000 setrgbcolor
gsave
-439.146 506.77 m
-459.306 506.77 l
+439.146 518.92 m
+459.306 518.92 l
stroke
grestore
0.000 setgray
gsave
-475.146250 498.730000 translate
+475.146250 510.880000 translate
0.000000 rotate
/DejaVuSans findfont
14.4 scalefont
grestore
0.000 0.500 0.000 setrgbcolor
gsave
-439.146 485.57 m
-459.306 485.57 l
+439.146 497.72 m
+459.306 497.72 l
stroke
grestore
0.000 setgray
gsave
-475.146250 479.530000 translate
+475.146250 491.680000 translate
0.000000 rotate
/DejaVuSans findfont
14.4 scalefont
/zero glyphshow
53.578339 1.609375 moveto
-/five glyphshow
+/zero glyphshow
+
+62.734085 1.609375 moveto
+/one glyphshow
grestore
1.000 0.000 0.000 setrgbcolor
gsave
-439.146 464.823 m
-459.306 464.823 l
+439.146 476.973 m
+459.306 476.973 l
stroke
grestore
0.000 setgray
-475.146 459.58 m
+475.146 471.73 m
0 0.203 rmoveto
(Newtons method) show
0.000 0.750 0.750 setrgbcolor
gsave
-439.146 444.076 m
-459.306 444.076 l
+439.146 456.226 m
+459.306 456.226 l
stroke
grestore
0.000 setgray
-475.146 436.13 m
+475.146 448.28 m
0 2.906 rmoveto
(Steepest first, then Newton) show
gsave
-95.0625 58.41 m
-684.45 58.41 l
-684.45 253.11 l
-95.0625 253.11 l
-95.0625 58.41 l
+95.0625 59.76 m
+684.45 59.76 l
+684.45 258.96 l
+95.0625 258.96 l
+95.0625 59.76 l
1.000 setgray
fill
grestore
0.000 0.000 1.000 setrgbcolor
gsave
-589.4 194.7 95.06 58.41 clipbox
-95.0625 253.11 m
-137.162 203.279 l
-179.261 194.654 l
-221.36 186.904 l
-263.459 181.081 l
-305.558 177.713 l
-347.657 172.65 l
-389.756 171.157 l
-431.855 166.43 l
-473.954 165.939 l
-516.054 161.396 l
-558.153 161.508 l
-600.252 157.077 l
-642.351 157.579 l
-684.45 153.222 l
+589.4 199.2 95.06 59.76 clipbox
+95.0625 258.96 m
+137.162 229.508 l
+179.261 176.541 l
+221.36 134.965 l
+263.459 130.235 l
+305.558 122.458 l
+347.657 120.874 l
+389.756 116.237 l
+431.855 115.547 l
+473.954 112.274 l
+516.054 111.993 l
+558.153 109.477 l
+600.252 109.416 l
+642.351 107.364 l
+684.45 107.431 l
stroke
grestore
0.000 0.500 0.000 setrgbcolor
gsave
-589.4 194.7 95.06 58.41 clipbox
-95.0625 253.11 m
-137.162 222.717 l
-179.261 219.974 l
-221.36 217.561 l
-263.459 215.364 l
-305.558 213.317 l
-347.657 211.377 l
-389.756 209.518 l
-431.855 207.718 l
-473.954 205.963 l
-516.054 204.243 l
-558.153 202.551 l
-600.252 200.881 l
-642.351 199.228 l
-684.45 197.59 l
+589.4 199.2 95.06 59.76 clipbox
+95.0625 258.96 m
+137.162 229.821 l
+179.261 224.926 l
+221.36 221.429 l
+263.459 218.668 l
+305.558 216.371 l
+347.657 214.398 l
+389.756 212.664 l
+431.855 211.116 l
+473.954 209.716 l
+516.054 208.437 l
+558.153 207.259 l
+600.252 206.166 l
+642.351 205.148 l
+684.45 204.194 l
stroke
grestore
1.000 0.000 0.000 setrgbcolor
gsave
-589.4 194.7 95.06 58.41 clipbox
-95.0625 253.11 m
-137.162 238.17 l
-179.261 222.462 l
-221.36 207.853 l
-263.459 193.505 l
-305.558 179.763 l
-347.657 167.399 l
-389.756 156.604 l
-431.855 146.436 l
-473.954 120.135 l
-516.054 70.3295 l
+589.4 199.2 95.06 59.76 clipbox
+95.0625 258.96 m
+137.162 245.811 l
+179.261 232.668 l
+221.36 219.539 l
+263.459 206.438 l
+305.558 193.392 l
+347.657 180.419 l
+389.756 167.318 l
+431.855 152.265 l
+473.954 137.239 l
+516.054 124.504 l
+558.153 112.855 l
+600.252 103.002 l
+642.351 76.034 l
stroke
grestore
0.000 0.750 0.750 setrgbcolor
gsave
-589.4 194.7 95.06 58.41 clipbox
-95.0625 253.11 m
-137.162 203.279 l
-179.261 194.654 l
-221.36 178.69 l
-263.459 162.978 l
-305.558 144.303 l
-347.657 115.514 l
-389.756 61.2154 l
+589.4 199.2 95.06 59.76 clipbox
+95.0625 258.96 m
+137.162 229.508 l
+179.261 176.541 l
+221.36 134.965 l
+263.459 119.553 l
+305.558 109.463 l
+347.657 99.9101 l
+389.756 90.11 l
+431.855 66.4723 l
stroke
grestore
0.500 setlinewidth
stroke
grestore
} bind def
-95.0625 58.41 o
+95.0625 59.76 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 253.11 o
+95.0625 258.96 o
grestore
/DejaVuSans findfont
12.000 scalefont
setfont
gsave
-92.039062 45.331875 translate
+92.039062 46.681875 translate
0.000000 rotate
0.000000 0.171875 m /zero glyphshow
grestore
stroke
grestore
} bind def
-179.261 58.41 o
+179.261 59.76 o
grestore
gsave
/o {
stroke
grestore
} bind def
-179.261 253.11 o
+179.261 258.96 o
grestore
gsave
-176.479464 45.503750 translate
+176.479464 46.853750 translate
0.000000 rotate
0.000000 0.000000 m /two glyphshow
grestore
stroke
grestore
} bind def
-263.459 58.41 o
+263.459 59.76 o
grestore
gsave
/o {
stroke
grestore
} bind def
-263.459 253.11 o
+263.459 258.96 o
grestore
gsave
-260.271429 45.660000 translate
+260.271429 47.010000 translate
0.000000 rotate
0.000000 0.000000 m /four glyphshow
grestore
stroke
grestore
} bind def
-347.657 58.41 o
+347.657 59.76 o
grestore
gsave
/o {
stroke
grestore
} bind def
-347.657 253.11 o
+347.657 258.96 o
grestore
gsave
-344.641518 45.331875 translate
+344.641518 46.681875 translate
0.000000 rotate
0.000000 0.171875 m /six glyphshow
grestore
stroke
grestore
} bind def
-431.855 58.41 o
+431.855 59.76 o
grestore
gsave
/o {
stroke
grestore
} bind def
-431.855 253.11 o
+431.855 258.96 o
grestore
gsave
-428.855357 45.331875 translate
+428.855357 46.681875 translate
0.000000 rotate
0.000000 0.171875 m /eight glyphshow
grestore
stroke
grestore
} bind def
-516.054 58.41 o
+516.054 59.76 o
grestore
gsave
/o {
stroke
grestore
} bind def
-516.054 253.11 o
+516.054 258.96 o
grestore
gsave
-509.467634 45.331875 translate
+509.467634 46.681875 translate
0.000000 rotate
0.000000 0.171875 m /one glyphshow
7.634766 0.171875 m /zero glyphshow
stroke
grestore
} bind def
-600.252 58.41 o
+600.252 59.76 o
grestore
gsave
/o {
stroke
grestore
} bind def
-600.252 253.11 o
+600.252 258.96 o
grestore
gsave
-593.868973 45.503750 translate
+593.868973 46.853750 translate
0.000000 rotate
0.000000 0.000000 m /one glyphshow
7.634766 0.000000 m /two glyphshow
stroke
grestore
} bind def
-684.45 58.41 o
+684.45 59.76 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 253.11 o
+684.45 258.96 o
grestore
gsave
-677.801563 45.660000 translate
+677.801563 47.010000 translate
0.000000 rotate
0.000000 0.000000 m /one glyphshow
7.634766 0.000000 m /four glyphshow
grestore
-365.389 31.035 m
+365.389 32.385 m
0 0.172 rmoveto
(Iteration) show
gsave
stroke
grestore
} bind def
-95.0625 58.41 o
+95.0625 59.76 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-4 0 l
+stroke
+grestore
+} bind def
+684.45 59.76 o
+grestore
+gsave
+66.062500 52.260000 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
+/eight glyphshow
+
+
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+4 0 l
+stroke
+grestore
+} bind def
+95.0625 84.66 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 58.41 o
+684.45 84.66 o
grestore
gsave
-66.062500 50.910000 translate
+66.062500 77.160000 translate
0.000000 rotate
/DejaVuSans findfont
12.0 scalefont
stroke
grestore
} bind def
-95.0625 86.2243 o
+95.0625 109.56 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 86.2243 o
+684.45 109.56 o
grestore
gsave
-66.062500 78.724286 translate
+66.062500 102.060000 translate
0.000000 rotate
/DejaVuSans findfont
12.0 scalefont
stroke
grestore
} bind def
-95.0625 114.039 o
+95.0625 134.46 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 114.039 o
+684.45 134.46 o
grestore
gsave
-66.062500 106.538571 translate
+66.062500 126.960000 translate
0.000000 rotate
/DejaVuSans findfont
12.0 scalefont
stroke
grestore
} bind def
-95.0625 141.853 o
+95.0625 159.36 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 141.853 o
+684.45 159.36 o
grestore
gsave
-66.062500 134.352857 translate
+66.062500 151.860000 translate
0.000000 rotate
/DejaVuSans findfont
12.0 scalefont
stroke
grestore
} bind def
-95.0625 169.667 o
+95.0625 184.26 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 169.667 o
+684.45 184.26 o
grestore
gsave
-66.062500 162.167143 translate
+66.062500 176.760000 translate
0.000000 rotate
/DejaVuSans findfont
12.0 scalefont
stroke
grestore
} bind def
-95.0625 197.481 o
+95.0625 209.16 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 197.481 o
+684.45 209.16 o
grestore
gsave
-66.062500 189.981429 translate
+66.062500 201.660000 translate
0.000000 rotate
/DejaVuSans findfont
12.0 scalefont
stroke
grestore
} bind def
-95.0625 225.296 o
+95.0625 234.06 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 225.296 o
+684.45 234.06 o
grestore
gsave
-66.062500 217.795714 translate
+66.062500 226.560000 translate
0.000000 rotate
/DejaVuSans findfont
12.0 scalefont
stroke
grestore
} bind def
-95.0625 253.11 o
+95.0625 258.96 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 253.11 o
+684.45 258.96 o
grestore
gsave
-69.062500 245.610000 translate
+69.062500 251.460000 translate
0.000000 rotate
/DejaVuSans findfont
12.0 scalefont
stroke
grestore
} bind def
-95.0625 66.7829 o
+95.0625 67.2556 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 67.2556 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 74.7513 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 74.7513 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 79.136 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 79.136 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 82.2469 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 82.2469 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 92.1556 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 66.7829 o
+684.45 92.1556 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 75.1559 o
+95.0625 99.6513 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 75.1559 o
+684.45 99.6513 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 80.0537 o
+95.0625 104.036 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 80.0537 o
+684.45 104.036 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 83.5288 o
+95.0625 107.147 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 83.5288 o
+684.45 107.147 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 94.5972 o
+95.0625 117.056 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 94.5972 o
+684.45 117.056 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 102.97 o
+95.0625 124.551 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 102.97 o
+684.45 124.551 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 107.868 o
+95.0625 128.936 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 107.868 o
+684.45 128.936 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 111.343 o
+95.0625 132.047 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 111.343 o
+684.45 132.047 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 122.412 o
+95.0625 141.956 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 122.412 o
+684.45 141.956 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 130.784 o
+95.0625 149.451 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 130.784 o
+684.45 149.451 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 135.682 o
+95.0625 153.836 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 135.682 o
+684.45 153.836 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 139.157 o
+95.0625 156.947 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 139.157 o
+684.45 156.947 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 150.226 o
+95.0625 166.856 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 150.226 o
+684.45 166.856 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 158.599 o
+95.0625 174.351 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 158.599 o
+684.45 174.351 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 163.497 o
+95.0625 178.736 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 163.497 o
+684.45 178.736 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 166.972 o
+95.0625 181.847 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 166.972 o
+684.45 181.847 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 178.04 o
+95.0625 191.756 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 178.04 o
+684.45 191.756 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 186.413 o
+95.0625 199.251 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 186.413 o
+684.45 199.251 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 191.311 o
+95.0625 203.636 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 191.311 o
+684.45 203.636 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 194.786 o
+95.0625 206.747 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 194.786 o
+684.45 206.747 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 205.854 o
+95.0625 216.656 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 205.854 o
+684.45 216.656 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 214.227 o
+95.0625 224.151 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 214.227 o
+684.45 224.151 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 219.125 o
+95.0625 228.536 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 219.125 o
+684.45 228.536 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 222.6 o
+95.0625 231.647 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 222.6 o
+684.45 231.647 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 233.669 o
+95.0625 241.556 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 233.669 o
+684.45 241.556 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 242.042 o
+95.0625 249.051 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 242.042 o
+684.45 249.051 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 246.939 o
+95.0625 253.436 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 246.939 o
+684.45 253.436 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 250.415 o
+95.0625 256.547 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 250.415 o
+684.45 256.547 o
grestore
-61.062 106.401 m
+61.062 110.001 m
gsave
90 rotate
0 0.172 rmoveto
1.000 setlinewidth
2 setlinecap
gsave
-95.0625 253.11 m
-684.45 253.11 l
+95.0625 258.96 m
+684.45 258.96 l
stroke
grestore
gsave
-684.45 58.41 m
-684.45 253.11 l
+684.45 59.76 m
+684.45 258.96 l
stroke
grestore
gsave
-95.0625 58.41 m
-684.45 58.41 l
+95.0625 59.76 m
+684.45 59.76 l
stroke
grestore
gsave
-95.0625 58.41 m
-95.0625 253.11 l
+95.0625 59.76 m
+95.0625 258.96 l
stroke
grestore
/DejaVuSans findfont
14.400 scalefont
setfont
-330.686 258.11 m
+330.686 263.96 m
0 0.203 rmoveto
(Relative residual) show
--- /dev/null
+# Calculate the next iteration of the Newton method
+def newton_iter(x, grad_g, hess_g):
+ return x - inv(hess_g).dot(grad_g)
+
+# Run the Newton method from point xk
+def newton(xk, H, b, c, tolerance, maxiter, x0_norm=0):
+ if x0_norm == 0:
+ x0_norm = norm(gradient_g(xk, H, b, c))
+
+ relative_residual = norm(gradient_g(xk, H, b, c)) / x0_norm
+ relative_residuals = []
+ points = []
+
+ while relative_residual > tolerance and maxiter > 0:
+ maxiter -= 1
+
+ relative_residuals.append(relative_residual)
+ points.append(xk)
+
+ xk = newton_iter(xk, gradient_g(xk, H, b, c), hessian_g(xk, H, b, c))
+ relative_residual = norm(gradient_g(xk, H, b, c)) / x0_norm
+
+ return (points, relative_residuals)
# Calculate gradient of g in point x
def gradient_g(x, H, b, c):
- print _C(x,c)
return -b + H.dot(x) + (1.0/3.0) * _C(x,c).dot(x)
# Calculate hessian of g in point x
def hessian_g(x, H, b, c):
- return 0.5 * H.T + 0.5 * H + _C(x,c)
+ return H + _C(x,c)
# Small test of the above functions
def main():
b = np.array([-0.3119187, 0.14508516])
c = np.array([ 0.47736331, 1.48834978])
- x0 = np.array([-2.1, 5.2])
+ x0 = np.array([-50, 50])
function_values = []
- alpha = 0.05
+ alpha = 0.001
+ tolerance = 0.000000001
- start = time.clock()
- optimal_points, optimal_residuals = steepest(x0, H, b, c, 0.000000001, 100000, 0)
- stop = time.clock()
+ start = time.time()
+ optimal_points, optimal_residuals = steepest(x0, H, b, c, tolerance, 100000, 0)
+ stop = time.time()
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()
+ start = time.time()
+ constant_points, constant_residuals = steepest(x0, H, b, c, tolerance, 100000, alpha)
+ stop = time.time()
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()
+ start = time.time()
+ newton_points, newton_residuals = newton(x0, H, b, c, tolerance, 100000)
+ stop = time.time()
print "newton brukte %.4f" % (stop - start)
- start = time.clock()
- nwst_points, nwst_residuals = steepestnewton(x0, H, b, c, 0.01, 0.000000001)
- stop = time.clock()
+ start = time.time()
+ nwst_points, nwst_residuals = steepestnewton(x0, H, b, c, 0.00001, 4, tolerance)
+ stop = time.time()
print "newton + steepest brukte %.4f" % (stop - start)
f_optimal = []
plt.plot(f_constant[:plen])
plt.plot(f_newton[:plen])
plt.plot(f_nwst[:plen])
- plt.legend([r'Optimal $\alpha$', r'$\alpha$ = %.2f' % alpha, r'Newtons method', r'Steepest first, then Newton'])
+ plt.legend([r'Optimal $\alpha$', r'$\alpha$ = %.3f' % alpha, r'Newtons method', r'Steepest first, then Newton'])
ax = plt.subplot(212)
plt.title("Relative residual")
--- /dev/null
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: steepest.eps
+%%Creator: matplotlib version 0.99.3, http://matplotlib.sourceforge.net/
+%%CreationDate: Sun Oct 2 23:02:54 2011
+%%Orientation: portrait
+%%BoundingBox: -74 103 686 688
+%%EndComments
+%%BeginProlog
+/mpldict 8 dict def
+mpldict begin
+/m { moveto } bind def
+/l { lineto } bind def
+/r { rlineto } bind def
+/c { curveto } bind def
+/cl { closepath } bind def
+/box {
+m
+1 index 0 r
+0 exch r
+neg 0 r
+cl
+} bind def
+/clipbox {
+box
+clip
+newpath
+} bind def
+%!PS-Adobe-3.0 Resource-Font
+%%Title: DejaVu Sans
+%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain
+%%Creator: Converted from TrueType by PPR
+25 dict begin
+/_d{bind def}bind def
+/_m{moveto}_d
+/_l{lineto}_d
+/_cl{closepath eofill}_d
+/_c{curveto}_d
+/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d
+/_e{exec}_d
+/FontName /DejaVuSans def
+/PaintType 0 def
+/FontMatrix[.001 0 0 .001 0 0]def
+/FontBBox[-1020 -414 1681 1167]def
+/FontType 3 def
+/Encoding StandardEncoding def
+/FontInfo 10 dict dup begin
+/FamilyName (DejaVu Sans) def
+/FullName (DejaVu Sans) def
+/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def
+/Weight (Book) def
+/Version (Version 2.31) def
+/ItalicAngle 0.0 def
+/isFixedPitch false def
+/UnderlinePosition -130 def
+/UnderlineThickness 90 def
+end readonly def
+/CharStrings 44 dict dup begin
+/space{318 0 0 0 0 0 _sc
+}_d
+/parenleft{390 0 86 -131 310 759 _sc
+310 759 _m
+266 683 234 609 213 536 _c
+191 463 181 389 181 314 _c
+181 238 191 164 213 91 _c
+234 17 266 -56 310 -131 _c
+232 -131 _l
+183 -54 146 20 122 94 _c
+98 168 86 241 86 314 _c
+86 386 98 459 122 533 _c
+146 607 182 682 232 759 _c
+310 759 _l
+_cl}_d
+/parenright{390 0 80 -131 304 759 _sc
+80 759 _m
+158 759 _l
+206 682 243 607 267 533 _c
+291 459 304 386 304 314 _c
+304 241 291 168 267 94 _c
+243 20 206 -54 158 -131 _c
+80 -131 _l
+123 -56 155 17 177 91 _c
+198 164 209 238 209 314 _c
+209 389 198 463 177 536 _c
+155 609 123 683 80 759 _c
+_cl}_d
+/comma{318 0 77 -115 220 124 _sc
+117 124 _m
+220 124 _l
+220 40 _l
+140 -115 _l
+77 -115 _l
+117 40 _l
+117 124 _l
+_cl}_d
+/hyphen{361 0 49 234 312 314 _sc
+49 314 _m
+312 314 _l
+312 234 _l
+49 234 _l
+49 314 _l
+_cl}_d
+/period{318 0 107 0 210 124 _sc
+107 124 _m
+210 124 _l
+210 0 _l
+107 0 _l
+107 124 _l
+_cl}_d
+/zero{636 0 66 -13 570 742 _sc
+318 664 _m
+267 664 229 639 203 589 _c
+177 539 165 464 165 364 _c
+165 264 177 189 203 139 _c
+229 89 267 64 318 64 _c
+369 64 407 89 433 139 _c
+458 189 471 264 471 364 _c
+471 464 458 539 433 589 _c
+407 639 369 664 318 664 _c
+318 742 _m
+399 742 461 709 505 645 _c
+548 580 570 486 570 364 _c
+570 241 548 147 505 83 _c
+461 19 399 -13 318 -13 _c
+236 -13 173 19 130 83 _c
+87 147 66 241 66 364 _c
+66 486 87 580 130 645 _c
+173 709 236 742 318 742 _c
+_cl}_d
+/one{636 0 110 0 544 729 _sc
+124 83 _m
+285 83 _l
+285 639 _l
+110 604 _l
+110 694 _l
+284 729 _l
+383 729 _l
+383 83 _l
+544 83 _l
+544 0 _l
+124 0 _l
+124 83 _l
+_cl}_d
+/two{{636 0 73 0 536 742 _sc
+192 83 _m
+536 83 _l
+536 0 _l
+73 0 _l
+73 83 _l
+110 121 161 173 226 239 _c
+290 304 331 346 348 365 _c
+380 400 402 430 414 455 _c
+426 479 433 504 433 528 _c
+433 566 419 598 392 622 _c
+365 646 330 659 286 659 _c
+255 659 222 653 188 643 _c
+154 632 117 616 78 594 _c
+78 694 _l
+118 710 155 722 189 730 _c
+223 738 255 742 284 742 _c
+359 742 419 723 464 685 _c
+509 647 532 597 532 534 _c
+532 504 526 475 515 449 _c
+504 422 484 390 454 354 _c
+446 344 420 317 376 272 _c
+332 227 271 164 192 83 _c
+_cl}_e}_d
+/three{{636 0 76 -13 556 742 _sc
+406 393 _m
+453 383 490 362 516 330 _c
+542 298 556 258 556 212 _c
+556 140 531 84 482 45 _c
+432 6 362 -13 271 -13 _c
+240 -13 208 -10 176 -4 _c
+144 1 110 10 76 22 _c
+76 117 _l
+103 101 133 89 166 81 _c
+198 73 232 69 268 69 _c
+330 69 377 81 409 105 _c
+441 129 458 165 458 212 _c
+458 254 443 288 413 312 _c
+383 336 341 349 287 349 _c
+202 349 _l
+202 430 _l
+291 430 _l
+339 430 376 439 402 459 _c
+428 478 441 506 441 543 _c
+441 580 427 609 401 629 _c
+374 649 336 659 287 659 _c
+260 659 231 656 200 650 _c
+169 644 135 635 98 623 _c
+98 711 _l
+135 721 170 729 203 734 _c
+235 739 266 742 296 742 _c
+}_e{370 742 429 725 473 691 _c
+517 657 539 611 539 553 _c
+539 513 527 479 504 451 _c
+481 423 448 403 406 393 _c
+_cl}_e}_d
+/four{636 0 49 0 580 729 _sc
+378 643 _m
+129 254 _l
+378 254 _l
+378 643 _l
+352 729 _m
+476 729 _l
+476 254 _l
+580 254 _l
+580 172 _l
+476 172 _l
+476 0 _l
+378 0 _l
+378 172 _l
+49 172 _l
+49 267 _l
+352 729 _l
+_cl}_d
+/five{{636 0 77 -13 549 729 _sc
+108 729 _m
+495 729 _l
+495 646 _l
+198 646 _l
+198 467 _l
+212 472 227 476 241 478 _c
+255 480 270 482 284 482 _c
+365 482 429 459 477 415 _c
+525 370 549 310 549 234 _c
+549 155 524 94 475 51 _c
+426 8 357 -13 269 -13 _c
+238 -13 207 -10 175 -6 _c
+143 -1 111 6 77 17 _c
+77 116 _l
+106 100 136 88 168 80 _c
+199 72 232 69 267 69 _c
+323 69 368 83 401 113 _c
+433 143 450 183 450 234 _c
+450 284 433 324 401 354 _c
+368 384 323 399 267 399 _c
+241 399 214 396 188 390 _c
+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
+732 372 _l
+106 372 _l
+106 454 _l
+106 255 _m
+732 255 _l
+732 172 _l
+106 172 _l
+106 255 _l
+_cl}_d
+/F{575 0 98 0 517 729 _sc
+98 729 _m
+517 729 _l
+517 646 _l
+197 646 _l
+197 431 _l
+486 431 _l
+486 348 _l
+197 348 _l
+197 0 _l
+98 0 _l
+98 729 _l
+_cl}_d
+/I{295 0 98 0 197 729 _sc
+98 729 _m
+197 729 _l
+197 0 _l
+98 0 _l
+98 729 _l
+_cl}_d
+/N{748 0 98 0 650 729 _sc
+98 729 _m
+231 729 _l
+554 119 _l
+554 729 _l
+650 729 _l
+650 0 _l
+517 0 _l
+194 610 _l
+194 0 _l
+98 0 _l
+98 729 _l
+_cl}_d
+/O{787 0 56 -13 731 742 _sc
+394 662 _m
+322 662 265 635 223 582 _c
+181 528 160 456 160 364 _c
+160 272 181 199 223 146 _c
+265 92 322 66 394 66 _c
+465 66 522 92 564 146 _c
+606 199 627 272 627 364 _c
+627 456 606 528 564 582 _c
+522 635 465 662 394 662 _c
+394 742 _m
+496 742 577 707 639 639 _c
+700 571 731 479 731 364 _c
+731 248 700 157 639 89 _c
+577 21 496 -13 394 -13 _c
+291 -13 209 21 148 89 _c
+86 157 56 248 56 364 _c
+56 479 86 571 148 639 _c
+209 707 291 742 394 742 _c
+_cl}_d
+/R{{695 0 98 0 666 729 _sc
+444 342 _m
+465 334 486 319 506 296 _c
+526 272 546 240 566 199 _c
+666 0 _l
+560 0 _l
+467 187 _l
+443 235 419 268 397 284 _c
+374 300 343 308 304 308 _c
+197 308 _l
+197 0 _l
+98 0 _l
+98 729 _l
+321 729 _l
+404 729 466 711 507 677 _c
+548 642 569 589 569 519 _c
+569 473 558 434 537 404 _c
+515 374 484 353 444 342 _c
+197 648 _m
+197 389 _l
+321 389 _l
+368 389 404 400 428 422 _c
+452 444 465 476 465 519 _c
+465 561 452 593 428 615 _c
+404 637 368 648 321 648 _c
+197 648 _l
+_cl}_e}_d
+/S{{635 0 66 -13 579 742 _sc
+535 705 _m
+535 609 _l
+497 627 462 640 429 649 _c
+395 657 363 662 333 662 _c
+279 662 237 651 208 631 _c
+179 610 165 580 165 542 _c
+165 510 174 485 194 469 _c
+213 452 250 439 304 429 _c
+364 417 _l
+437 403 491 378 526 343 _c
+561 307 579 260 579 201 _c
+579 130 555 77 508 41 _c
+460 5 391 -13 300 -13 _c
+265 -13 228 -9 189 -2 _c
+150 5 110 16 69 32 _c
+69 134 _l
+109 111 148 94 186 83 _c
+224 71 262 66 300 66 _c
+356 66 399 77 430 99 _c
+460 121 476 152 476 194 _c
+476 230 465 258 443 278 _c
+421 298 385 313 335 323 _c
+275 335 _l
+201 349 148 372 115 404 _c
+82 435 66 478 66 534 _c
+66 598 88 649 134 686 _c
+179 723 242 742 322 742 _c
+}_e{356 742 390 739 426 733 _c
+461 727 497 717 535 705 _c
+_cl}_e}_d
+/a{{613 0 60 -13 522 560 _sc
+343 275 _m
+270 275 220 266 192 250 _c
+164 233 150 205 150 165 _c
+150 133 160 107 181 89 _c
+202 70 231 61 267 61 _c
+317 61 357 78 387 114 _c
+417 149 432 196 432 255 _c
+432 275 _l
+343 275 _l
+522 312 _m
+522 0 _l
+432 0 _l
+432 83 _l
+411 49 385 25 355 10 _c
+325 -5 287 -13 243 -13 _c
+187 -13 142 2 109 33 _c
+76 64 60 106 60 159 _c
+60 220 80 266 122 298 _c
+163 329 224 345 306 345 _c
+432 345 _l
+432 354 _l
+432 395 418 427 391 450 _c
+364 472 326 484 277 484 _c
+245 484 215 480 185 472 _c
+155 464 127 453 100 439 _c
+100 522 _l
+}_e{132 534 164 544 195 550 _c
+226 556 256 560 286 560 _c
+365 560 424 539 463 498 _c
+502 457 522 395 522 312 _c
+_cl}_e}_d
+/c{{550 0 55 -13 488 560 _sc
+488 526 _m
+488 442 _l
+462 456 437 466 411 473 _c
+385 480 360 484 334 484 _c
+276 484 230 465 198 428 _c
+166 391 150 339 150 273 _c
+150 206 166 154 198 117 _c
+230 80 276 62 334 62 _c
+360 62 385 65 411 72 _c
+437 79 462 90 488 104 _c
+488 21 _l
+462 9 436 0 410 -5 _c
+383 -10 354 -13 324 -13 _c
+242 -13 176 12 128 64 _c
+79 115 55 185 55 273 _c
+55 362 79 432 128 483 _c
+177 534 244 560 330 560 _c
+358 560 385 557 411 551 _c
+437 545 463 537 488 526 _c
+_cl}_e}_d
+/d{{635 0 55 -13 544 760 _sc
+454 464 _m
+454 760 _l
+544 760 _l
+544 0 _l
+454 0 _l
+454 82 _l
+435 49 411 25 382 10 _c
+353 -5 319 -13 279 -13 _c
+213 -13 159 13 117 65 _c
+75 117 55 187 55 273 _c
+55 359 75 428 117 481 _c
+159 533 213 560 279 560 _c
+319 560 353 552 382 536 _c
+411 520 435 496 454 464 _c
+148 273 _m
+148 207 161 155 188 117 _c
+215 79 253 61 301 61 _c
+348 61 385 79 413 117 _c
+440 155 454 207 454 273 _c
+454 339 440 390 413 428 _c
+385 466 348 485 301 485 _c
+253 485 215 466 188 428 _c
+161 390 148 339 148 273 _c
+_cl}_e}_d
+/e{{615 0 55 -13 562 560 _sc
+562 296 _m
+562 252 _l
+149 252 _l
+153 190 171 142 205 110 _c
+238 78 284 62 344 62 _c
+378 62 412 66 444 74 _c
+476 82 509 95 541 113 _c
+541 28 _l
+509 14 476 3 442 -3 _c
+408 -9 373 -13 339 -13 _c
+251 -13 182 12 131 62 _c
+80 112 55 181 55 268 _c
+55 357 79 428 127 481 _c
+175 533 241 560 323 560 _c
+397 560 455 536 498 489 _c
+540 441 562 377 562 296 _c
+472 322 _m
+471 371 457 410 431 440 _c
+404 469 368 484 324 484 _c
+274 484 234 469 204 441 _c
+174 413 156 373 152 322 _c
+472 322 _l
+_cl}_e}_d
+/f{352 0 23 0 371 760 _sc
+371 760 _m
+371 685 _l
+285 685 _l
+253 685 230 678 218 665 _c
+205 652 199 629 199 595 _c
+199 547 _l
+347 547 _l
+347 477 _l
+199 477 _l
+199 0 _l
+109 0 _l
+109 477 _l
+23 477 _l
+23 547 _l
+109 547 _l
+109 585 _l
+109 645 123 690 151 718 _c
+179 746 224 760 286 760 _c
+371 760 _l
+_cl}_d
+/g{{635 0 55 -207 544 560 _sc
+454 280 _m
+454 344 440 395 414 431 _c
+387 467 349 485 301 485 _c
+253 485 215 467 188 431 _c
+161 395 148 344 148 280 _c
+148 215 161 165 188 129 _c
+215 93 253 75 301 75 _c
+349 75 387 93 414 129 _c
+440 165 454 215 454 280 _c
+544 68 _m
+544 -24 523 -93 482 -139 _c
+440 -184 377 -207 292 -207 _c
+260 -207 231 -204 203 -200 _c
+175 -195 147 -188 121 -178 _c
+121 -91 _l
+147 -105 173 -115 199 -122 _c
+225 -129 251 -133 278 -133 _c
+336 -133 380 -117 410 -87 _c
+439 -56 454 -10 454 52 _c
+454 96 _l
+435 64 411 40 382 24 _c
+353 8 319 0 279 0 _c
+211 0 157 25 116 76 _c
+75 127 55 195 55 280 _c
+55 364 75 432 116 483 _c
+157 534 211 560 279 560 _c
+}_e{319 560 353 552 382 536 _c
+411 520 435 496 454 464 _c
+454 547 _l
+544 547 _l
+544 68 _l
+_cl}_e}_d
+/h{634 0 91 0 549 760 _sc
+549 330 _m
+549 0 _l
+459 0 _l
+459 327 _l
+459 379 448 417 428 443 _c
+408 469 378 482 338 482 _c
+289 482 251 466 223 435 _c
+195 404 181 362 181 309 _c
+181 0 _l
+91 0 _l
+91 760 _l
+181 760 _l
+181 462 _l
+202 494 227 519 257 535 _c
+286 551 320 560 358 560 _c
+420 560 468 540 500 501 _c
+532 462 549 405 549 330 _c
+_cl}_d
+/i{278 0 94 0 184 760 _sc
+94 547 _m
+184 547 _l
+184 0 _l
+94 0 _l
+94 547 _l
+94 760 _m
+184 760 _l
+184 646 _l
+94 646 _l
+94 760 _l
+_cl}_d
+/l{278 0 94 0 184 760 _sc
+94 760 _m
+184 760 _l
+184 0 _l
+94 0 _l
+94 760 _l
+_cl}_d
+/m{{974 0 91 0 889 560 _sc
+520 442 _m
+542 482 569 511 600 531 _c
+631 550 668 560 711 560 _c
+767 560 811 540 842 500 _c
+873 460 889 403 889 330 _c
+889 0 _l
+799 0 _l
+799 327 _l
+799 379 789 418 771 444 _c
+752 469 724 482 686 482 _c
+639 482 602 466 575 435 _c
+548 404 535 362 535 309 _c
+535 0 _l
+445 0 _l
+445 327 _l
+445 379 435 418 417 444 _c
+398 469 369 482 331 482 _c
+285 482 248 466 221 435 _c
+194 404 181 362 181 309 _c
+181 0 _l
+91 0 _l
+91 547 _l
+181 547 _l
+181 462 _l
+201 495 226 520 255 536 _c
+283 552 317 560 357 560 _c
+397 560 430 550 458 530 _c
+486 510 506 480 520 442 _c
+}_e{_cl}_e}_d
+/n{634 0 91 0 549 560 _sc
+549 330 _m
+549 0 _l
+459 0 _l
+459 327 _l
+459 379 448 417 428 443 _c
+408 469 378 482 338 482 _c
+289 482 251 466 223 435 _c
+195 404 181 362 181 309 _c
+181 0 _l
+91 0 _l
+91 547 _l
+181 547 _l
+181 462 _l
+202 494 227 519 257 535 _c
+286 551 320 560 358 560 _c
+420 560 468 540 500 501 _c
+532 462 549 405 549 330 _c
+_cl}_d
+/o{612 0 55 -13 557 560 _sc
+306 484 _m
+258 484 220 465 192 427 _c
+164 389 150 338 150 273 _c
+150 207 163 156 191 118 _c
+219 80 257 62 306 62 _c
+354 62 392 80 420 118 _c
+448 156 462 207 462 273 _c
+462 337 448 389 420 427 _c
+392 465 354 484 306 484 _c
+306 560 _m
+384 560 445 534 490 484 _c
+534 433 557 363 557 273 _c
+557 183 534 113 490 63 _c
+445 12 384 -13 306 -13 _c
+227 -13 165 12 121 63 _c
+77 113 55 183 55 273 _c
+55 363 77 433 121 484 _c
+165 534 227 560 306 560 _c
+_cl}_d
+/p{{635 0 91 -207 580 560 _sc
+181 82 _m
+181 -207 _l
+91 -207 _l
+91 547 _l
+181 547 _l
+181 464 _l
+199 496 223 520 252 536 _c
+281 552 316 560 356 560 _c
+422 560 476 533 518 481 _c
+559 428 580 359 580 273 _c
+580 187 559 117 518 65 _c
+476 13 422 -13 356 -13 _c
+316 -13 281 -5 252 10 _c
+223 25 199 49 181 82 _c
+487 273 _m
+487 339 473 390 446 428 _c
+418 466 381 485 334 485 _c
+286 485 249 466 222 428 _c
+194 390 181 339 181 273 _c
+181 207 194 155 222 117 _c
+249 79 286 61 334 61 _c
+381 61 418 79 446 117 _c
+473 155 487 207 487 273 _c
+_cl}_e}_d
+/r{411 0 91 0 411 560 _sc
+411 463 _m
+401 469 390 473 378 476 _c
+366 478 353 480 339 480 _c
+288 480 249 463 222 430 _c
+194 397 181 350 181 288 _c
+181 0 _l
+91 0 _l
+91 547 _l
+181 547 _l
+181 462 _l
+199 495 224 520 254 536 _c
+284 552 321 560 365 560 _c
+371 560 378 559 386 559 _c
+393 558 401 557 411 555 _c
+411 463 _l
+_cl}_d
+/s{{521 0 54 -13 472 560 _sc
+443 531 _m
+443 446 _l
+417 458 391 468 364 475 _c
+336 481 308 485 279 485 _c
+234 485 200 478 178 464 _c
+156 450 145 430 145 403 _c
+145 382 153 366 169 354 _c
+185 342 217 330 265 320 _c
+296 313 _l
+360 299 405 279 432 255 _c
+458 230 472 195 472 151 _c
+472 100 452 60 412 31 _c
+372 1 316 -13 246 -13 _c
+216 -13 186 -10 154 -5 _c
+122 0 89 8 54 20 _c
+54 113 _l
+87 95 120 82 152 74 _c
+184 65 216 61 248 61 _c
+290 61 323 68 346 82 _c
+368 96 380 117 380 144 _c
+380 168 371 187 355 200 _c
+339 213 303 226 247 238 _c
+216 245 _l
+160 257 119 275 95 299 _c
+70 323 58 356 58 399 _c
+58 450 76 490 112 518 _c
+148 546 200 560 268 560 _c
+}_e{301 560 332 557 362 552 _c
+391 547 418 540 443 531 _c
+_cl}_e}_d
+/t{392 0 27 0 368 702 _sc
+183 702 _m
+183 547 _l
+368 547 _l
+368 477 _l
+183 477 _l
+183 180 _l
+183 135 189 106 201 94 _c
+213 81 238 75 276 75 _c
+368 75 _l
+368 0 _l
+276 0 _l
+206 0 158 13 132 39 _c
+106 65 93 112 93 180 _c
+93 477 _l
+27 477 _l
+27 547 _l
+93 547 _l
+93 702 _l
+183 702 _l
+_cl}_d
+/u{634 0 85 -13 543 560 _sc
+85 216 _m
+85 547 _l
+175 547 _l
+175 219 _l
+175 167 185 129 205 103 _c
+225 77 255 64 296 64 _c
+344 64 383 79 411 110 _c
+439 141 453 183 453 237 _c
+453 547 _l
+543 547 _l
+543 0 _l
+453 0 _l
+453 84 _l
+431 50 405 26 377 10 _c
+348 -5 315 -13 277 -13 _c
+214 -13 166 6 134 45 _c
+101 83 85 140 85 216 _c
+_cl}_d
+/v{592 0 30 0 562 547 _sc
+30 547 _m
+125 547 _l
+296 88 _l
+467 547 _l
+562 547 _l
+357 0 _l
+235 0 _l
+30 547 _l
+_cl}_d
+/w{818 0 42 0 776 547 _sc
+42 547 _m
+132 547 _l
+244 120 _l
+356 547 _l
+462 547 _l
+574 120 _l
+686 547 _l
+776 547 _l
+633 0 _l
+527 0 _l
+409 448 _l
+291 0 _l
+185 0 _l
+42 547 _l
+_cl}_d
+/x{592 0 29 0 559 547 _sc
+549 547 _m
+351 281 _l
+559 0 _l
+453 0 _l
+294 215 _l
+135 0 _l
+29 0 _l
+241 286 _l
+47 547 _l
+153 547 _l
+298 352 _l
+443 547 _l
+549 547 _l
+_cl}_d
+/alpha{{659 0 55 -11 611 559 _sc
+413 254 _m
+392 367 _l
+377 444 341 483 283 483 _c
+239 483 207 465 188 429 _c
+162 384 150 332 150 273 _c
+150 201 162 148 187 114 _c
+211 79 243 62 283 62 _c
+326 62 359 96 383 166 _c
+413 254 _l
+463 404 _m
+512 547 _l
+592 547 _l
+492 250 _l
+511 144 _l
+514 128 521 113 533 100 _c
+546 84 558 76 568 76 _c
+611 76 _l
+611 0 _l
+558 0 _l
+}_e{527 0 498 13 471 41 _c
+457 55 448 76 442 104 _c
+427 68 404 36 374 8 _c
+360 -4 329 -11 283 -11 _c
+206 -11 149 13 112 62 _c
+74 113 55 183 55 273 _c
+55 369 75 439 117 484 _c
+163 534 218 559 283 559 _c
+384 559 444 507 463 404 _c
+_cl}_e}_d
+/minus{838 0 106 272 732 355 _sc
+106 355 _m
+732 355 _l
+732 272 _l
+106 272 _l
+106 355 _l
+_cl}_d
+end readonly def
+
+/BuildGlyph
+ {exch begin
+ CharStrings exch
+ 2 copy known not{pop /.notdef}if
+ true 3 1 roll get exec
+ end}_d
+
+/BuildChar {
+ 1 index /Encoding get exch get
+ 1 index /BuildGlyph get exec
+}_d
+
+FontName currentdict end definefont pop
+end
+%%EndProlog
+mpldict begin
+-74.25 103.95 translate
+760.5 584.1 0 0 clipbox
+1.000 setlinewidth
+1 setlinejoin
+2 setlinecap
+[] 0 setdash
+1.000 setgray
+gsave
+0 0 m
+760.5 0 l
+760.5 584.1 l
+0 584.1 l
+0 0 l
+gsave
+fill
+grestore
+stroke
+grestore
+gsave
+95.0625 330.99 m
+684.45 330.99 l
+684.45 525.69 l
+95.0625 525.69 l
+95.0625 330.99 l
+fill
+grestore
+0.000 0.000 1.000 setrgbcolor
+gsave
+589.4 194.7 95.06 331 clipbox
+95.0625 517.035 m
+137.162 359.459 l
+179.261 358.965 l
+221.36 358.845 l
+263.459 358.806 l
+305.558 358.788 l
+347.657 358.779 l
+389.756 358.774 l
+431.855 358.771 l
+473.954 358.769 l
+516.054 358.767 l
+558.153 358.766 l
+600.252 358.766 l
+642.351 358.765 l
+684.45 358.765 l
+stroke
+grestore
+0.000 0.500 0.000 setrgbcolor
+gsave
+589.4 194.7 95.06 331 clipbox
+95.0625 517.035 m
+137.162 366.325 l
+179.261 363.992 l
+221.36 362.491 l
+263.459 361.476 l
+305.558 360.766 l
+347.657 360.258 l
+389.756 359.889 l
+431.855 359.617 l
+473.954 359.414 l
+516.054 359.262 l
+558.153 359.148 l
+600.252 359.062 l
+642.351 358.996 l
+684.45 358.946 l
+stroke
+grestore
+1.000 0.000 0.000 setrgbcolor
+gsave
+589.4 194.7 95.06 331 clipbox
+95.0625 517.035 m
+137.162 386.584 l
+179.261 363.764 l
+221.36 359.817 l
+263.459 359.007 l
+305.558 358.83 l
+347.657 358.785 l
+389.756 358.768 l
+431.855 358.764 l
+473.954 358.764 l
+516.054 358.764 l
+stroke
+grestore
+0.000 0.750 0.750 setrgbcolor
+gsave
+589.4 194.7 95.06 331 clipbox
+95.0625 517.035 m
+137.162 359.459 l
+179.261 358.965 l
+221.36 358.8 l
+263.459 358.769 l
+305.558 358.764 l
+347.657 358.764 l
+389.756 358.764 l
+stroke
+grestore
+0.500 setlinewidth
+0 setlinecap
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 4 l
+stroke
+grestore
+} bind def
+95.0625 330.99 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 -4 l
+stroke
+grestore
+} bind def
+95.0625 525.69 o
+grestore
+/DejaVuSans findfont
+12.000 scalefont
+setfont
+gsave
+92.039062 317.911875 translate
+0.000000 rotate
+0.000000 0.171875 m /zero glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 4 l
+stroke
+grestore
+} bind def
+179.261 330.99 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 -4 l
+stroke
+grestore
+} bind def
+179.261 525.69 o
+grestore
+gsave
+176.479464 318.083750 translate
+0.000000 rotate
+0.000000 0.000000 m /two glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 4 l
+stroke
+grestore
+} bind def
+263.459 330.99 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 -4 l
+stroke
+grestore
+} bind def
+263.459 525.69 o
+grestore
+gsave
+260.271429 318.240000 translate
+0.000000 rotate
+0.000000 0.000000 m /four glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 4 l
+stroke
+grestore
+} bind def
+347.657 330.99 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 -4 l
+stroke
+grestore
+} bind def
+347.657 525.69 o
+grestore
+gsave
+344.641518 317.911875 translate
+0.000000 rotate
+0.000000 0.171875 m /six glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 4 l
+stroke
+grestore
+} bind def
+431.855 330.99 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 -4 l
+stroke
+grestore
+} bind def
+431.855 525.69 o
+grestore
+gsave
+428.855357 317.911875 translate
+0.000000 rotate
+0.000000 0.171875 m /eight glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 4 l
+stroke
+grestore
+} bind def
+516.054 330.99 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 -4 l
+stroke
+grestore
+} bind def
+516.054 525.69 o
+grestore
+gsave
+509.467634 317.911875 translate
+0.000000 rotate
+0.000000 0.171875 m /one glyphshow
+7.634766 0.171875 m /zero glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 4 l
+stroke
+grestore
+} bind def
+600.252 330.99 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 -4 l
+stroke
+grestore
+} bind def
+600.252 525.69 o
+grestore
+gsave
+593.868973 318.083750 translate
+0.000000 rotate
+0.000000 0.000000 m /one glyphshow
+7.634766 0.000000 m /two glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 4 l
+stroke
+grestore
+} bind def
+684.45 330.99 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 -4 l
+stroke
+grestore
+} bind def
+684.45 525.69 o
+grestore
+gsave
+677.801563 318.240000 translate
+0.000000 rotate
+0.000000 0.000000 m /one glyphshow
+7.634766 0.000000 m /four glyphshow
+grestore
+365.389 303.615 m
+0 0.172 rmoveto
+(Iteration) show
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+4 0 l
+stroke
+grestore
+} bind def
+95.0625 330.99 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-4 0 l
+stroke
+grestore
+} bind def
+684.45 330.99 o
+grestore
+gsave
+67.781250 326.450938 translate
+0.000000 rotate
+0.000000 0.171875 m /minus glyphshow
+10.054688 0.171875 m /two glyphshow
+17.689453 0.171875 m /zero glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+4 0 l
+stroke
+grestore
+} bind def
+95.0625 358.804 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-4 0 l
+stroke
+grestore
+} bind def
+684.45 358.804 o
+grestore
+gsave
+85.015625 354.265223 translate
+0.000000 rotate
+0.000000 0.171875 m /zero glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+4 0 l
+stroke
+grestore
+} bind def
+95.0625 386.619 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-4 0 l
+stroke
+grestore
+} bind def
+684.45 386.619 o
+grestore
+gsave
+77.453125 382.079509 translate
+0.000000 rotate
+0.000000 0.171875 m /two glyphshow
+7.634766 0.171875 m /zero glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+4 0 l
+stroke
+grestore
+} bind def
+95.0625 414.433 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-4 0 l
+stroke
+grestore
+} bind def
+684.45 414.433 o
+grestore
+gsave
+77.171875 409.893795 translate
+0.000000 rotate
+0.000000 0.171875 m /four glyphshow
+7.634766 0.171875 m /zero glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+4 0 l
+stroke
+grestore
+} bind def
+95.0625 442.247 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-4 0 l
+stroke
+grestore
+} bind def
+684.45 442.247 o
+grestore
+gsave
+77.421875 437.708080 translate
+0.000000 rotate
+0.000000 0.171875 m /six glyphshow
+7.634766 0.171875 m /zero glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+4 0 l
+stroke
+grestore
+} bind def
+95.0625 470.061 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-4 0 l
+stroke
+grestore
+} bind def
+684.45 470.061 o
+grestore
+gsave
+77.390625 465.522366 translate
+0.000000 rotate
+0.000000 0.171875 m /eight glyphshow
+7.634766 0.171875 m /zero glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+4 0 l
+stroke
+grestore
+} bind def
+95.0625 497.876 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-4 0 l
+stroke
+grestore
+} bind def
+684.45 497.876 o
+grestore
+gsave
+70.250000 493.336652 translate
+0.000000 rotate
+0.000000 0.171875 m /one glyphshow
+7.634766 0.171875 m /zero glyphshow
+15.269531 0.171875 m /zero glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+4 0 l
+stroke
+grestore
+} bind def
+95.0625 525.69 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-4 0 l
+stroke
+grestore
+} bind def
+684.45 525.69 o
+grestore
+gsave
+70.250000 521.150938 translate
+0.000000 rotate
+0.000000 0.171875 m /one glyphshow
+7.634766 0.171875 m /two glyphshow
+15.269531 0.171875 m /zero glyphshow
+grestore
+62.781 417.129 m
+gsave
+90 rotate
+0 2.5 rmoveto
+(g\(x\)) show
+grestore
+1.000 setlinewidth
+2 setlinecap
+gsave
+95.0625 525.69 m
+684.45 525.69 l
+stroke
+grestore
+gsave
+684.45 330.99 m
+684.45 525.69 l
+stroke
+grestore
+gsave
+95.0625 330.99 m
+684.45 330.99 l
+stroke
+grestore
+gsave
+95.0625 330.99 m
+95.0625 525.69 l
+stroke
+grestore
+/DejaVuSans findfont
+14.400 scalefont
+setfont
+337.616 530.69 m
+0 0.203 rmoveto
+(Function value) show
+gsave
+429.066 430.37 m
+677.25 430.37 l
+677.25 518.49 l
+429.066 518.49 l
+429.066 430.37 l
+cl
+gsave
+1.000 setgray
+fill
+grestore
+stroke
+grestore
+0.000 0.000 1.000 setrgbcolor
+gsave
+439.146 506.77 m
+459.306 506.77 l
+stroke
+grestore
+0.000 setgray
+gsave
+475.146250 498.730000 translate
+0.000000 rotate
+/DejaVuSans findfont
+14.4 scalefont
+setfont
+0.000000 3.359375 moveto
+/O glyphshow
+
+11.326996 3.359375 moveto
+/p glyphshow
+
+20.461670 3.359375 moveto
+/t glyphshow
+
+26.104080 3.359375 moveto
+/i glyphshow
+
+30.102249 3.359375 moveto
+/m glyphshow
+
+44.120453 3.359375 moveto
+/a glyphshow
+
+52.938919 3.359375 moveto
+/l glyphshow
+
+56.937088 3.359375 moveto
+/space glyphshow
+
+61.511444 3.359375 moveto
+/alpha glyphshow
+
+
+grestore
+0.000 0.500 0.000 setrgbcolor
+gsave
+439.146 485.57 m
+459.306 485.57 l
+stroke
+grestore
+0.000 setgray
+gsave
+475.146250 479.530000 translate
+0.000000 rotate
+/DejaVuSans findfont
+14.4 scalefont
+setfont
+0.000000 1.609375 moveto
+/alpha glyphshow
+
+9.486008 1.609375 moveto
+/space glyphshow
+
+14.060364 1.609375 moveto
+/equal glyphshow
+
+26.118134 1.609375 moveto
+/space glyphshow
+
+30.692490 1.609375 moveto
+/zero glyphshow
+
+39.848236 1.609375 moveto
+/period glyphshow
+
+44.422592 1.609375 moveto
+/zero glyphshow
+
+53.578339 1.609375 moveto
+/five glyphshow
+
+
+grestore
+1.000 0.000 0.000 setrgbcolor
+gsave
+439.146 464.823 m
+459.306 464.823 l
+stroke
+grestore
+0.000 setgray
+475.146 459.58 m
+0 0.203 rmoveto
+(Newtons method) show
+0.000 0.750 0.750 setrgbcolor
+gsave
+439.146 444.076 m
+459.306 444.076 l
+stroke
+grestore
+0.000 setgray
+475.146 436.13 m
+0 2.906 rmoveto
+(Steepest first, then Newton) show
+gsave
+95.0625 58.41 m
+684.45 58.41 l
+684.45 253.11 l
+95.0625 253.11 l
+95.0625 58.41 l
+1.000 setgray
+fill
+grestore
+0.000 0.000 1.000 setrgbcolor
+gsave
+589.4 194.7 95.06 58.41 clipbox
+95.0625 253.11 m
+137.162 203.279 l
+179.261 194.654 l
+221.36 186.904 l
+263.459 181.081 l
+305.558 177.713 l
+347.657 172.65 l
+389.756 171.157 l
+431.855 166.43 l
+473.954 165.939 l
+516.054 161.396 l
+558.153 161.508 l
+600.252 157.077 l
+642.351 157.579 l
+684.45 153.222 l
+stroke
+grestore
+0.000 0.500 0.000 setrgbcolor
+gsave
+589.4 194.7 95.06 58.41 clipbox
+95.0625 253.11 m
+137.162 222.717 l
+179.261 219.974 l
+221.36 217.561 l
+263.459 215.364 l
+305.558 213.317 l
+347.657 211.377 l
+389.756 209.518 l
+431.855 207.718 l
+473.954 205.963 l
+516.054 204.243 l
+558.153 202.551 l
+600.252 200.881 l
+642.351 199.228 l
+684.45 197.59 l
+stroke
+grestore
+1.000 0.000 0.000 setrgbcolor
+gsave
+589.4 194.7 95.06 58.41 clipbox
+95.0625 253.11 m
+137.162 238.17 l
+179.261 222.462 l
+221.36 207.853 l
+263.459 193.505 l
+305.558 179.763 l
+347.657 167.399 l
+389.756 156.604 l
+431.855 146.436 l
+473.954 120.135 l
+516.054 70.3295 l
+stroke
+grestore
+0.000 0.750 0.750 setrgbcolor
+gsave
+589.4 194.7 95.06 58.41 clipbox
+95.0625 253.11 m
+137.162 203.279 l
+179.261 194.654 l
+221.36 178.69 l
+263.459 162.978 l
+305.558 144.303 l
+347.657 115.514 l
+389.756 61.2154 l
+stroke
+grestore
+0.500 setlinewidth
+0 setlinecap
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 4 l
+stroke
+grestore
+} bind def
+95.0625 58.41 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 -4 l
+stroke
+grestore
+} bind def
+95.0625 253.11 o
+grestore
+/DejaVuSans findfont
+12.000 scalefont
+setfont
+gsave
+92.039062 45.331875 translate
+0.000000 rotate
+0.000000 0.171875 m /zero glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 4 l
+stroke
+grestore
+} bind def
+179.261 58.41 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 -4 l
+stroke
+grestore
+} bind def
+179.261 253.11 o
+grestore
+gsave
+176.479464 45.503750 translate
+0.000000 rotate
+0.000000 0.000000 m /two glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 4 l
+stroke
+grestore
+} bind def
+263.459 58.41 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 -4 l
+stroke
+grestore
+} bind def
+263.459 253.11 o
+grestore
+gsave
+260.271429 45.660000 translate
+0.000000 rotate
+0.000000 0.000000 m /four glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 4 l
+stroke
+grestore
+} bind def
+347.657 58.41 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 -4 l
+stroke
+grestore
+} bind def
+347.657 253.11 o
+grestore
+gsave
+344.641518 45.331875 translate
+0.000000 rotate
+0.000000 0.171875 m /six glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 4 l
+stroke
+grestore
+} bind def
+431.855 58.41 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 -4 l
+stroke
+grestore
+} bind def
+431.855 253.11 o
+grestore
+gsave
+428.855357 45.331875 translate
+0.000000 rotate
+0.000000 0.171875 m /eight glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 4 l
+stroke
+grestore
+} bind def
+516.054 58.41 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 -4 l
+stroke
+grestore
+} bind def
+516.054 253.11 o
+grestore
+gsave
+509.467634 45.331875 translate
+0.000000 rotate
+0.000000 0.171875 m /one glyphshow
+7.634766 0.171875 m /zero glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 4 l
+stroke
+grestore
+} bind def
+600.252 58.41 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 -4 l
+stroke
+grestore
+} bind def
+600.252 253.11 o
+grestore
+gsave
+593.868973 45.503750 translate
+0.000000 rotate
+0.000000 0.000000 m /one glyphshow
+7.634766 0.000000 m /two glyphshow
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 4 l
+stroke
+grestore
+} bind def
+684.45 58.41 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+0 -4 l
+stroke
+grestore
+} bind def
+684.45 253.11 o
+grestore
+gsave
+677.801563 45.660000 translate
+0.000000 rotate
+0.000000 0.000000 m /one glyphshow
+7.634766 0.000000 m /four glyphshow
+grestore
+365.389 31.035 m
+0 0.172 rmoveto
+(Iteration) show
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+4 0 l
+stroke
+grestore
+} bind def
+95.0625 58.41 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-4 0 l
+stroke
+grestore
+} bind def
+684.45 58.41 o
+grestore
+gsave
+66.062500 50.910000 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
+/seven glyphshow
+
+
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+4 0 l
+stroke
+grestore
+} bind def
+95.0625 86.2243 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-4 0 l
+stroke
+grestore
+} bind def
+684.45 86.2243 o
+grestore
+gsave
+66.062500 78.724286 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
+/six glyphshow
+
+
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+4 0 l
+stroke
+grestore
+} bind def
+95.0625 114.039 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-4 0 l
+stroke
+grestore
+} bind def
+684.45 114.039 o
+grestore
+gsave
+66.062500 106.538571 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
+/five glyphshow
+
+
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+4 0 l
+stroke
+grestore
+} bind def
+95.0625 141.853 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-4 0 l
+stroke
+grestore
+} bind def
+684.45 141.853 o
+grestore
+gsave
+66.062500 134.352857 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
+/four glyphshow
+
+
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+4 0 l
+stroke
+grestore
+} bind def
+95.0625 169.667 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-4 0 l
+stroke
+grestore
+} bind def
+684.45 169.667 o
+grestore
+gsave
+66.062500 162.167143 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
+/three glyphshow
+
+
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+4 0 l
+stroke
+grestore
+} bind def
+95.0625 197.481 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-4 0 l
+stroke
+grestore
+} bind def
+684.45 197.481 o
+grestore
+gsave
+66.062500 189.981429 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 {
+gsave
+newpath
+translate
+0 0 m
+4 0 l
+stroke
+grestore
+} bind def
+95.0625 225.296 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-4 0 l
+stroke
+grestore
+} bind def
+684.45 225.296 o
+grestore
+gsave
+66.062500 217.795714 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 {
+gsave
+newpath
+translate
+0 0 m
+4 0 l
+stroke
+grestore
+} bind def
+95.0625 253.11 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-4 0 l
+stroke
+grestore
+} bind def
+684.45 253.11 o
+grestore
+gsave
+69.062500 245.610000 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 {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 66.7829 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 66.7829 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 75.1559 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 75.1559 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 80.0537 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 80.0537 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 83.5288 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 83.5288 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 94.5972 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 94.5972 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 102.97 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 102.97 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 107.868 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 107.868 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 111.343 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 111.343 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 122.412 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 122.412 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 130.784 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 130.784 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 135.682 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 135.682 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 139.157 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 139.157 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 150.226 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 150.226 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 158.599 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 158.599 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 163.497 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 163.497 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 166.972 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 166.972 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 178.04 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 178.04 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 186.413 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 186.413 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 191.311 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 191.311 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 194.786 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 194.786 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 205.854 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 205.854 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 214.227 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 214.227 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 219.125 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 219.125 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 222.6 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 222.6 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 233.669 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 233.669 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 242.042 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 242.042 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 246.939 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 246.939 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 250.415 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 250.415 o
+grestore
+61.062 106.401 m
+gsave
+90 rotate
+0 0.172 rmoveto
+(Relative residual) show
+grestore
+1.000 setlinewidth
+2 setlinecap
+gsave
+95.0625 253.11 m
+684.45 253.11 l
+stroke
+grestore
+gsave
+684.45 58.41 m
+684.45 253.11 l
+stroke
+grestore
+gsave
+95.0625 58.41 m
+684.45 58.41 l
+stroke
+grestore
+gsave
+95.0625 58.41 m
+95.0625 253.11 l
+stroke
+grestore
+/DejaVuSans findfont
+14.400 scalefont
+setfont
+330.686 258.11 m
+0 0.203 rmoveto
+(Relative residual) show
+
+end
+showpage
\r
\title{Semester Project 1 in TMA4215}\r
\author{\r
- 10012 \\\r
- 10023 \\\r
- 10056\r
+ Candidate numbers: 10012, 10023, 10056\r
}\r
\r
\maketitle\r
% %\r
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
\section{Resultater}\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
+This project explores how one can approximate the solution to a certain type of\r
+minimization problems. The function considered takes in a symmetric positive\r
+definite matrix, and two vectors. For this purpose we used the following\r
+randomly generated data:\r
\begin{equation}\r
H = \r
\begin{bmatrix}\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
+are square roots of positive numbers from the same distribution. The matrix $H\r
+= U^{T}U$ is then symmetric positive definite.\r
\r
The function analyzed in this project was\r
\begin{equation}\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}H\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
+We already know H is positive definite, so $\mathbf{v}^{T}H\mathbf{v} > 0$. \r
Since $C(\mathbf{x})$ only has positive entries, we easily see that\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\r
that the Hessian, $\nabla^{2}g(\mathbf{x})$, is positive definite.\r
\begin{figure}[htb]\r
\centering\r
\includegraphics[width=0.9\textwidth]{backup}\r
- \caption{Plot of relative residual and function values for iterations of the\r
- steepest descent method with optimal $\alpha$} \label{fig:fn_resid}\r
+ \caption{\sf Plot of relative residual and function values for iterations of the\r
+ 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\r
- descent method, both with optimal and constant $\alpha$} \label{fig:surface}\r
+ \caption{\sf Surface plot of function with points showing iteration of steepest\r
+ 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
+ \mathbf{r}'(t) = -\nabla g\left(\mathbf{r}(t)\right)\text{, } \mathbf{r}(0) =\r
+ \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
\frac{\partial}{\partial\r
\mathbf{\alpha}}g\left(\mathbf{x}+\alpha\mathbf{u}\right) &=& 0, \text{where }\r
\mathbf{u} = -\nabla g(\mathbf{x} ) \nonumber \\\r
- &\Updownarrow& \nonumber \\\r
+ &\Downarrow& \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
+for $\alpha$. Where $A$, $B$, $C$, and $D$ are 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
-Deriving the polynomial results in:\r
+Differentiating the polynomial results in:\r
\begin{eqnarray}\r
\frac{\partial^2}{\partial \alpha^2}\left(g\left(\mathbf{x} +\r
\alpha\mathbf{u}\right)\right) &=& \mathbf{u}^T H \mathbf{u} + \mathbf{u}^T\r
C\left(\mathbf{x}\right)\right]\mathbf{u} + 2\mathbf{x}^T\r
C\left(\mathbf{u}\right) \mathbf{u}\alpha \nonumber \\\r
&=& \mathbf{u}^T H \mathbf{u} + \mathbf{u}^T C\left(\mathbf{x} +\r
- \alpha\mathbf{u}\right) \nonumber \\\r
+ \alpha\mathbf{u}\right)\mathbf{u} \nonumber \\\r
&=& \mathbf{u}^T\nabla^2 g\left(\mathbf{x} + \alpha\mathbf{u}\right)\mathbf{u}.\r
\end{eqnarray}\r
From this we see that the polynomial \eqref{eq:poly} is monotonically increasing\r
and therefore only has one real zero. This is the zero we want to use as our\r
-optimal step length.\r
-\r
+optimal step length. This is implemented in the Python code below.\r
\lstinputlisting[language=Python]{bj_optimal.py}\r
\r
+The Newton method was also implemented to solve $\nabla g\left(\mathbf{x}^*\right)\r
+= 0$. The Python code used for this method is as follows.\r
+\lstinputlisting[language=Python]{bj_newton.py}\r
+\r
+\begin{table}[h]\r
+ \caption{\sf Comparison of the execution time of the four different methods.}\r
+ \begin{center}\r
+ \begin{tabular}{l c}\r
+ \hline\r
+ Method & Time ($s$) \\\r
+ \hline\r
+ Steepest descent, constant $\alpha$ & 7.2021 \\\r
+ Steepest descent, optimal $\alpha$ & 0.0514 \\\r
+ Newtons method & 0.0037 \\\r
+ Steepest first, then Newton & 0.0040 \\\r
+ \hline\r
+ \end{tabular}\r
+ \end{center}\r
+ \label{tab:time}\r
+\end{table}\r
+We see from table \ref{tab:time} that newtons method uses the least time to\r
+solve the problem, even though figure \ref{fig:fn_resid} shows that the\r
+combination method results in fewer iterations. This comes from the fact that\r
+computing the optimal step size requires solving a qubic equation and is\r
+computationally expensive.\r
+\r
\end{document}\r
%!PS-Adobe-3.0 EPSF-3.0
%%Title: steepest.eps
%%Creator: matplotlib version 0.99.3, http://matplotlib.sourceforge.net/
-%%CreationDate: Sun Oct 2 23:02:54 2011
+%%CreationDate: Mon Oct 3 11:59:29 2011
%%Orientation: portrait
-%%BoundingBox: -74 103 686 688
+%%BoundingBox: -74 97 686 694
%%EndComments
%%BeginProlog
/mpldict 8 dict def
end
%%EndProlog
mpldict begin
--74.25 103.95 translate
-760.5 584.1 0 0 clipbox
+-74.25 97.2 translate
+760.5 597.6 0 0 clipbox
1.000 setlinewidth
1 setlinejoin
2 setlinecap
gsave
0 0 m
760.5 0 l
-760.5 584.1 l
-0 584.1 l
+760.5 597.6 l
+0 597.6 l
0 0 l
gsave
fill
stroke
grestore
gsave
-95.0625 330.99 m
-684.45 330.99 l
-684.45 525.69 l
-95.0625 525.69 l
-95.0625 330.99 l
+95.0625 338.64 m
+684.45 338.64 l
+684.45 537.84 l
+95.0625 537.84 l
+95.0625 338.64 l
fill
grestore
0.000 0.000 1.000 setrgbcolor
gsave
-589.4 194.7 95.06 331 clipbox
-95.0625 517.035 m
-137.162 359.459 l
-179.261 358.965 l
-221.36 358.845 l
-263.459 358.806 l
-305.558 358.788 l
-347.657 358.779 l
-389.756 358.774 l
-431.855 358.771 l
-473.954 358.769 l
-516.054 358.767 l
-558.153 358.766 l
-600.252 358.766 l
-642.351 358.765 l
-684.45 358.765 l
+589.4 199.2 95.06 338.6 clipbox
+95.0625 513.571 m
+137.162 372.039 l
+179.261 367.103 l
+221.36 367.097 l
+263.459 367.097 l
+305.558 367.097 l
+347.657 367.097 l
+389.756 367.097 l
+431.855 367.097 l
+473.954 367.097 l
+516.054 367.097 l
+558.153 367.097 l
+600.252 367.097 l
+642.351 367.097 l
+684.45 367.097 l
stroke
grestore
0.000 0.500 0.000 setrgbcolor
gsave
-589.4 194.7 95.06 331 clipbox
-95.0625 517.035 m
-137.162 366.325 l
-179.261 363.992 l
-221.36 362.491 l
-263.459 361.476 l
-305.558 360.766 l
-347.657 360.258 l
-389.756 359.889 l
-431.855 359.617 l
-473.954 359.414 l
-516.054 359.262 l
-558.153 359.148 l
-600.252 359.062 l
-642.351 358.996 l
-684.45 358.946 l
+589.4 199.2 95.06 338.6 clipbox
+95.0625 513.571 m
+137.162 372.111 l
+179.261 369.876 l
+221.36 368.918 l
+263.459 368.4 l
+305.558 368.083 l
+347.657 367.873 l
+389.756 367.725 l
+431.855 367.617 l
+473.954 367.536 l
+516.054 367.472 l
+558.153 367.422 l
+600.252 367.381 l
+642.351 367.348 l
+684.45 367.321 l
stroke
grestore
1.000 0.000 0.000 setrgbcolor
gsave
-589.4 194.7 95.06 331 clipbox
-95.0625 517.035 m
-137.162 386.584 l
-179.261 363.764 l
-221.36 359.817 l
-263.459 359.007 l
-305.558 358.83 l
-347.657 358.785 l
-389.756 358.768 l
-431.855 358.764 l
-473.954 358.764 l
-516.054 358.764 l
+589.4 199.2 95.06 338.6 clipbox
+95.0625 513.571 m
+137.162 396.121 l
+179.261 372.87 l
+221.36 368.254 l
+263.459 367.333 l
+305.558 367.146 l
+347.657 367.107 l
+389.756 367.099 l
+431.855 367.097 l
+473.954 367.097 l
+516.054 367.097 l
+558.153 367.097 l
+600.252 367.097 l
+642.351 367.097 l
stroke
grestore
0.000 0.750 0.750 setrgbcolor
gsave
-589.4 194.7 95.06 331 clipbox
-95.0625 517.035 m
-137.162 359.459 l
-179.261 358.965 l
-221.36 358.8 l
-263.459 358.769 l
-305.558 358.764 l
-347.657 358.764 l
-389.756 358.764 l
+589.4 199.2 95.06 338.6 clipbox
+95.0625 513.571 m
+137.162 372.039 l
+179.261 367.103 l
+221.36 367.097 l
+263.459 367.097 l
+305.558 367.097 l
+347.657 367.097 l
+389.756 367.097 l
+431.855 367.097 l
stroke
grestore
0.500 setlinewidth
stroke
grestore
} bind def
-95.0625 330.99 o
+95.0625 338.64 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 525.69 o
+95.0625 537.84 o
grestore
/DejaVuSans findfont
12.000 scalefont
setfont
gsave
-92.039062 317.911875 translate
+92.039062 325.561875 translate
0.000000 rotate
0.000000 0.171875 m /zero glyphshow
grestore
stroke
grestore
} bind def
-179.261 330.99 o
+179.261 338.64 o
grestore
gsave
/o {
stroke
grestore
} bind def
-179.261 525.69 o
+179.261 537.84 o
grestore
gsave
-176.479464 318.083750 translate
+176.479464 325.733750 translate
0.000000 rotate
0.000000 0.000000 m /two glyphshow
grestore
stroke
grestore
} bind def
-263.459 330.99 o
+263.459 338.64 o
grestore
gsave
/o {
stroke
grestore
} bind def
-263.459 525.69 o
+263.459 537.84 o
grestore
gsave
-260.271429 318.240000 translate
+260.271429 325.890000 translate
0.000000 rotate
0.000000 0.000000 m /four glyphshow
grestore
stroke
grestore
} bind def
-347.657 330.99 o
+347.657 338.64 o
grestore
gsave
/o {
stroke
grestore
} bind def
-347.657 525.69 o
+347.657 537.84 o
grestore
gsave
-344.641518 317.911875 translate
+344.641518 325.561875 translate
0.000000 rotate
0.000000 0.171875 m /six glyphshow
grestore
stroke
grestore
} bind def
-431.855 330.99 o
+431.855 338.64 o
grestore
gsave
/o {
stroke
grestore
} bind def
-431.855 525.69 o
+431.855 537.84 o
grestore
gsave
-428.855357 317.911875 translate
+428.855357 325.561875 translate
0.000000 rotate
0.000000 0.171875 m /eight glyphshow
grestore
stroke
grestore
} bind def
-516.054 330.99 o
+516.054 338.64 o
grestore
gsave
/o {
stroke
grestore
} bind def
-516.054 525.69 o
+516.054 537.84 o
grestore
gsave
-509.467634 317.911875 translate
+509.467634 325.561875 translate
0.000000 rotate
0.000000 0.171875 m /one glyphshow
7.634766 0.171875 m /zero glyphshow
stroke
grestore
} bind def
-600.252 330.99 o
+600.252 338.64 o
grestore
gsave
/o {
stroke
grestore
} bind def
-600.252 525.69 o
+600.252 537.84 o
grestore
gsave
-593.868973 318.083750 translate
+593.868973 325.733750 translate
0.000000 rotate
0.000000 0.000000 m /one glyphshow
7.634766 0.000000 m /two glyphshow
stroke
grestore
} bind def
-684.45 330.99 o
+684.45 338.64 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 525.69 o
+684.45 537.84 o
grestore
gsave
-677.801563 318.240000 translate
+677.801563 325.890000 translate
0.000000 rotate
0.000000 0.000000 m /one glyphshow
7.634766 0.000000 m /four glyphshow
grestore
-365.389 303.615 m
+365.389 311.265 m
0 0.172 rmoveto
(Iteration) show
gsave
stroke
grestore
} bind def
-95.0625 330.99 o
+95.0625 338.64 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 330.99 o
+684.45 338.64 o
grestore
gsave
-67.781250 326.450938 translate
+37.218750 334.100937 translate
0.000000 rotate
0.000000 0.171875 m /minus glyphshow
10.054688 0.171875 m /two glyphshow
17.689453 0.171875 m /zero glyphshow
+25.324219 0.171875 m /zero glyphshow
+32.958984 0.171875 m /zero glyphshow
+40.593750 0.171875 m /zero glyphshow
+48.228516 0.171875 m /zero glyphshow
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 358.804 o
+95.0625 367.097 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 358.804 o
+684.45 367.097 o
grestore
gsave
-85.015625 354.265223 translate
+85.015625 362.558080 translate
0.000000 rotate
0.000000 0.171875 m /zero glyphshow
grestore
stroke
grestore
} bind def
-95.0625 386.619 o
+95.0625 395.554 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 386.619 o
+684.45 395.554 o
grestore
gsave
-77.453125 382.079509 translate
+46.890625 391.015223 translate
0.000000 rotate
0.000000 0.171875 m /two glyphshow
7.634766 0.171875 m /zero glyphshow
+15.269531 0.171875 m /zero glyphshow
+22.904297 0.171875 m /zero glyphshow
+30.539062 0.171875 m /zero glyphshow
+38.173828 0.171875 m /zero glyphshow
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 414.433 o
+95.0625 424.011 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 414.433 o
+684.45 424.011 o
grestore
gsave
-77.171875 409.893795 translate
+46.609375 419.472366 translate
0.000000 rotate
0.000000 0.171875 m /four glyphshow
7.634766 0.171875 m /zero glyphshow
+15.269531 0.171875 m /zero glyphshow
+22.904297 0.171875 m /zero glyphshow
+30.539062 0.171875 m /zero glyphshow
+38.173828 0.171875 m /zero glyphshow
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 442.247 o
+95.0625 452.469 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 442.247 o
+684.45 452.469 o
grestore
gsave
-77.421875 437.708080 translate
+46.859375 447.929509 translate
0.000000 rotate
0.000000 0.171875 m /six glyphshow
7.634766 0.171875 m /zero glyphshow
+15.269531 0.171875 m /zero glyphshow
+22.904297 0.171875 m /zero glyphshow
+30.539062 0.171875 m /zero glyphshow
+38.173828 0.171875 m /zero glyphshow
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 470.061 o
+95.0625 480.926 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 470.061 o
+684.45 480.926 o
grestore
gsave
-77.390625 465.522366 translate
+46.828125 476.386652 translate
0.000000 rotate
0.000000 0.171875 m /eight glyphshow
7.634766 0.171875 m /zero glyphshow
+15.269531 0.171875 m /zero glyphshow
+22.904297 0.171875 m /zero glyphshow
+30.539062 0.171875 m /zero glyphshow
+38.173828 0.171875 m /zero glyphshow
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 497.876 o
+95.0625 509.383 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 497.876 o
+684.45 509.383 o
grestore
gsave
-70.250000 493.336652 translate
+39.687500 504.843795 translate
0.000000 rotate
0.000000 0.171875 m /one glyphshow
7.634766 0.171875 m /zero glyphshow
15.269531 0.171875 m /zero glyphshow
+22.904297 0.171875 m /zero glyphshow
+30.539062 0.171875 m /zero glyphshow
+38.173828 0.171875 m /zero glyphshow
+45.808594 0.171875 m /zero glyphshow
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 525.69 o
+95.0625 537.84 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 525.69 o
+684.45 537.84 o
grestore
gsave
-70.250000 521.150938 translate
+39.687500 533.300938 translate
0.000000 rotate
0.000000 0.171875 m /one glyphshow
7.634766 0.171875 m /two glyphshow
15.269531 0.171875 m /zero glyphshow
+22.904297 0.171875 m /zero glyphshow
+30.539062 0.171875 m /zero glyphshow
+38.173828 0.171875 m /zero glyphshow
+45.808594 0.171875 m /zero glyphshow
grestore
-62.781 417.129 m
+32.219 427.029 m
gsave
90 rotate
0 2.5 rmoveto
1.000 setlinewidth
2 setlinecap
gsave
-95.0625 525.69 m
-684.45 525.69 l
+95.0625 537.84 m
+684.45 537.84 l
stroke
grestore
gsave
-684.45 330.99 m
-684.45 525.69 l
+684.45 338.64 m
+684.45 537.84 l
stroke
grestore
gsave
-95.0625 330.99 m
-684.45 330.99 l
+95.0625 338.64 m
+684.45 338.64 l
stroke
grestore
gsave
-95.0625 330.99 m
-95.0625 525.69 l
+95.0625 338.64 m
+95.0625 537.84 l
stroke
grestore
/DejaVuSans findfont
14.400 scalefont
setfont
-337.616 530.69 m
+337.616 542.84 m
0 0.203 rmoveto
(Function value) show
gsave
-429.066 430.37 m
-677.25 430.37 l
-677.25 518.49 l
-429.066 518.49 l
-429.066 430.37 l
+429.066 442.52 m
+677.25 442.52 l
+677.25 530.64 l
+429.066 530.64 l
+429.066 442.52 l
cl
gsave
1.000 setgray
grestore
0.000 0.000 1.000 setrgbcolor
gsave
-439.146 506.77 m
-459.306 506.77 l
+439.146 518.92 m
+459.306 518.92 l
stroke
grestore
0.000 setgray
gsave
-475.146250 498.730000 translate
+475.146250 510.880000 translate
0.000000 rotate
/DejaVuSans findfont
14.4 scalefont
grestore
0.000 0.500 0.000 setrgbcolor
gsave
-439.146 485.57 m
-459.306 485.57 l
+439.146 497.72 m
+459.306 497.72 l
stroke
grestore
0.000 setgray
gsave
-475.146250 479.530000 translate
+475.146250 491.680000 translate
0.000000 rotate
/DejaVuSans findfont
14.4 scalefont
/zero glyphshow
53.578339 1.609375 moveto
-/five glyphshow
+/zero glyphshow
+
+62.734085 1.609375 moveto
+/one glyphshow
grestore
1.000 0.000 0.000 setrgbcolor
gsave
-439.146 464.823 m
-459.306 464.823 l
+439.146 476.973 m
+459.306 476.973 l
stroke
grestore
0.000 setgray
-475.146 459.58 m
+475.146 471.73 m
0 0.203 rmoveto
(Newtons method) show
0.000 0.750 0.750 setrgbcolor
gsave
-439.146 444.076 m
-459.306 444.076 l
+439.146 456.226 m
+459.306 456.226 l
stroke
grestore
0.000 setgray
-475.146 436.13 m
+475.146 448.28 m
0 2.906 rmoveto
(Steepest first, then Newton) show
gsave
-95.0625 58.41 m
-684.45 58.41 l
-684.45 253.11 l
-95.0625 253.11 l
-95.0625 58.41 l
+95.0625 59.76 m
+684.45 59.76 l
+684.45 258.96 l
+95.0625 258.96 l
+95.0625 59.76 l
1.000 setgray
fill
grestore
0.000 0.000 1.000 setrgbcolor
gsave
-589.4 194.7 95.06 58.41 clipbox
-95.0625 253.11 m
-137.162 203.279 l
-179.261 194.654 l
-221.36 186.904 l
-263.459 181.081 l
-305.558 177.713 l
-347.657 172.65 l
-389.756 171.157 l
-431.855 166.43 l
-473.954 165.939 l
-516.054 161.396 l
-558.153 161.508 l
-600.252 157.077 l
-642.351 157.579 l
-684.45 153.222 l
+589.4 199.2 95.06 59.76 clipbox
+95.0625 258.96 m
+137.162 229.508 l
+179.261 176.541 l
+221.36 134.965 l
+263.459 130.235 l
+305.558 122.458 l
+347.657 120.874 l
+389.756 116.237 l
+431.855 115.547 l
+473.954 112.274 l
+516.054 111.993 l
+558.153 109.477 l
+600.252 109.416 l
+642.351 107.364 l
+684.45 107.431 l
stroke
grestore
0.000 0.500 0.000 setrgbcolor
gsave
-589.4 194.7 95.06 58.41 clipbox
-95.0625 253.11 m
-137.162 222.717 l
-179.261 219.974 l
-221.36 217.561 l
-263.459 215.364 l
-305.558 213.317 l
-347.657 211.377 l
-389.756 209.518 l
-431.855 207.718 l
-473.954 205.963 l
-516.054 204.243 l
-558.153 202.551 l
-600.252 200.881 l
-642.351 199.228 l
-684.45 197.59 l
+589.4 199.2 95.06 59.76 clipbox
+95.0625 258.96 m
+137.162 229.821 l
+179.261 224.926 l
+221.36 221.429 l
+263.459 218.668 l
+305.558 216.371 l
+347.657 214.398 l
+389.756 212.664 l
+431.855 211.116 l
+473.954 209.716 l
+516.054 208.437 l
+558.153 207.259 l
+600.252 206.166 l
+642.351 205.148 l
+684.45 204.194 l
stroke
grestore
1.000 0.000 0.000 setrgbcolor
gsave
-589.4 194.7 95.06 58.41 clipbox
-95.0625 253.11 m
-137.162 238.17 l
-179.261 222.462 l
-221.36 207.853 l
-263.459 193.505 l
-305.558 179.763 l
-347.657 167.399 l
-389.756 156.604 l
-431.855 146.436 l
-473.954 120.135 l
-516.054 70.3295 l
+589.4 199.2 95.06 59.76 clipbox
+95.0625 258.96 m
+137.162 245.811 l
+179.261 232.668 l
+221.36 219.539 l
+263.459 206.438 l
+305.558 193.392 l
+347.657 180.419 l
+389.756 167.318 l
+431.855 152.265 l
+473.954 137.239 l
+516.054 124.504 l
+558.153 112.855 l
+600.252 103.002 l
+642.351 76.034 l
stroke
grestore
0.000 0.750 0.750 setrgbcolor
gsave
-589.4 194.7 95.06 58.41 clipbox
-95.0625 253.11 m
-137.162 203.279 l
-179.261 194.654 l
-221.36 178.69 l
-263.459 162.978 l
-305.558 144.303 l
-347.657 115.514 l
-389.756 61.2154 l
+589.4 199.2 95.06 59.76 clipbox
+95.0625 258.96 m
+137.162 229.508 l
+179.261 176.541 l
+221.36 134.965 l
+263.459 119.553 l
+305.558 109.463 l
+347.657 99.9101 l
+389.756 90.11 l
+431.855 66.4723 l
stroke
grestore
0.500 setlinewidth
stroke
grestore
} bind def
-95.0625 58.41 o
+95.0625 59.76 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 253.11 o
+95.0625 258.96 o
grestore
/DejaVuSans findfont
12.000 scalefont
setfont
gsave
-92.039062 45.331875 translate
+92.039062 46.681875 translate
0.000000 rotate
0.000000 0.171875 m /zero glyphshow
grestore
stroke
grestore
} bind def
-179.261 58.41 o
+179.261 59.76 o
grestore
gsave
/o {
stroke
grestore
} bind def
-179.261 253.11 o
+179.261 258.96 o
grestore
gsave
-176.479464 45.503750 translate
+176.479464 46.853750 translate
0.000000 rotate
0.000000 0.000000 m /two glyphshow
grestore
stroke
grestore
} bind def
-263.459 58.41 o
+263.459 59.76 o
grestore
gsave
/o {
stroke
grestore
} bind def
-263.459 253.11 o
+263.459 258.96 o
grestore
gsave
-260.271429 45.660000 translate
+260.271429 47.010000 translate
0.000000 rotate
0.000000 0.000000 m /four glyphshow
grestore
stroke
grestore
} bind def
-347.657 58.41 o
+347.657 59.76 o
grestore
gsave
/o {
stroke
grestore
} bind def
-347.657 253.11 o
+347.657 258.96 o
grestore
gsave
-344.641518 45.331875 translate
+344.641518 46.681875 translate
0.000000 rotate
0.000000 0.171875 m /six glyphshow
grestore
stroke
grestore
} bind def
-431.855 58.41 o
+431.855 59.76 o
grestore
gsave
/o {
stroke
grestore
} bind def
-431.855 253.11 o
+431.855 258.96 o
grestore
gsave
-428.855357 45.331875 translate
+428.855357 46.681875 translate
0.000000 rotate
0.000000 0.171875 m /eight glyphshow
grestore
stroke
grestore
} bind def
-516.054 58.41 o
+516.054 59.76 o
grestore
gsave
/o {
stroke
grestore
} bind def
-516.054 253.11 o
+516.054 258.96 o
grestore
gsave
-509.467634 45.331875 translate
+509.467634 46.681875 translate
0.000000 rotate
0.000000 0.171875 m /one glyphshow
7.634766 0.171875 m /zero glyphshow
stroke
grestore
} bind def
-600.252 58.41 o
+600.252 59.76 o
grestore
gsave
/o {
stroke
grestore
} bind def
-600.252 253.11 o
+600.252 258.96 o
grestore
gsave
-593.868973 45.503750 translate
+593.868973 46.853750 translate
0.000000 rotate
0.000000 0.000000 m /one glyphshow
7.634766 0.000000 m /two glyphshow
stroke
grestore
} bind def
-684.45 58.41 o
+684.45 59.76 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 253.11 o
+684.45 258.96 o
grestore
gsave
-677.801563 45.660000 translate
+677.801563 47.010000 translate
0.000000 rotate
0.000000 0.000000 m /one glyphshow
7.634766 0.000000 m /four glyphshow
grestore
-365.389 31.035 m
+365.389 32.385 m
0 0.172 rmoveto
(Iteration) show
gsave
stroke
grestore
} bind def
-95.0625 58.41 o
+95.0625 59.76 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-4 0 l
+stroke
+grestore
+} bind def
+684.45 59.76 o
+grestore
+gsave
+66.062500 52.260000 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
+/eight glyphshow
+
+
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+4 0 l
+stroke
+grestore
+} bind def
+95.0625 84.66 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 58.41 o
+684.45 84.66 o
grestore
gsave
-66.062500 50.910000 translate
+66.062500 77.160000 translate
0.000000 rotate
/DejaVuSans findfont
12.0 scalefont
stroke
grestore
} bind def
-95.0625 86.2243 o
+95.0625 109.56 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 86.2243 o
+684.45 109.56 o
grestore
gsave
-66.062500 78.724286 translate
+66.062500 102.060000 translate
0.000000 rotate
/DejaVuSans findfont
12.0 scalefont
stroke
grestore
} bind def
-95.0625 114.039 o
+95.0625 134.46 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 114.039 o
+684.45 134.46 o
grestore
gsave
-66.062500 106.538571 translate
+66.062500 126.960000 translate
0.000000 rotate
/DejaVuSans findfont
12.0 scalefont
stroke
grestore
} bind def
-95.0625 141.853 o
+95.0625 159.36 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 141.853 o
+684.45 159.36 o
grestore
gsave
-66.062500 134.352857 translate
+66.062500 151.860000 translate
0.000000 rotate
/DejaVuSans findfont
12.0 scalefont
stroke
grestore
} bind def
-95.0625 169.667 o
+95.0625 184.26 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 169.667 o
+684.45 184.26 o
grestore
gsave
-66.062500 162.167143 translate
+66.062500 176.760000 translate
0.000000 rotate
/DejaVuSans findfont
12.0 scalefont
stroke
grestore
} bind def
-95.0625 197.481 o
+95.0625 209.16 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 197.481 o
+684.45 209.16 o
grestore
gsave
-66.062500 189.981429 translate
+66.062500 201.660000 translate
0.000000 rotate
/DejaVuSans findfont
12.0 scalefont
stroke
grestore
} bind def
-95.0625 225.296 o
+95.0625 234.06 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 225.296 o
+684.45 234.06 o
grestore
gsave
-66.062500 217.795714 translate
+66.062500 226.560000 translate
0.000000 rotate
/DejaVuSans findfont
12.0 scalefont
stroke
grestore
} bind def
-95.0625 253.11 o
+95.0625 258.96 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 253.11 o
+684.45 258.96 o
grestore
gsave
-69.062500 245.610000 translate
+69.062500 251.460000 translate
0.000000 rotate
/DejaVuSans findfont
12.0 scalefont
stroke
grestore
} bind def
-95.0625 66.7829 o
+95.0625 67.2556 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 67.2556 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 74.7513 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 74.7513 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 79.136 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 79.136 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 82.2469 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+-2 0 l
+stroke
+grestore
+} bind def
+684.45 82.2469 o
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0 0 m
+2 0 l
+stroke
+grestore
+} bind def
+95.0625 92.1556 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 66.7829 o
+684.45 92.1556 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 75.1559 o
+95.0625 99.6513 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 75.1559 o
+684.45 99.6513 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 80.0537 o
+95.0625 104.036 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 80.0537 o
+684.45 104.036 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 83.5288 o
+95.0625 107.147 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 83.5288 o
+684.45 107.147 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 94.5972 o
+95.0625 117.056 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 94.5972 o
+684.45 117.056 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 102.97 o
+95.0625 124.551 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 102.97 o
+684.45 124.551 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 107.868 o
+95.0625 128.936 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 107.868 o
+684.45 128.936 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 111.343 o
+95.0625 132.047 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 111.343 o
+684.45 132.047 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 122.412 o
+95.0625 141.956 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 122.412 o
+684.45 141.956 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 130.784 o
+95.0625 149.451 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 130.784 o
+684.45 149.451 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 135.682 o
+95.0625 153.836 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 135.682 o
+684.45 153.836 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 139.157 o
+95.0625 156.947 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 139.157 o
+684.45 156.947 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 150.226 o
+95.0625 166.856 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 150.226 o
+684.45 166.856 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 158.599 o
+95.0625 174.351 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 158.599 o
+684.45 174.351 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 163.497 o
+95.0625 178.736 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 163.497 o
+684.45 178.736 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 166.972 o
+95.0625 181.847 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 166.972 o
+684.45 181.847 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 178.04 o
+95.0625 191.756 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 178.04 o
+684.45 191.756 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 186.413 o
+95.0625 199.251 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 186.413 o
+684.45 199.251 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 191.311 o
+95.0625 203.636 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 191.311 o
+684.45 203.636 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 194.786 o
+95.0625 206.747 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 194.786 o
+684.45 206.747 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 205.854 o
+95.0625 216.656 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 205.854 o
+684.45 216.656 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 214.227 o
+95.0625 224.151 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 214.227 o
+684.45 224.151 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 219.125 o
+95.0625 228.536 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 219.125 o
+684.45 228.536 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 222.6 o
+95.0625 231.647 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 222.6 o
+684.45 231.647 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 233.669 o
+95.0625 241.556 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 233.669 o
+684.45 241.556 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 242.042 o
+95.0625 249.051 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 242.042 o
+684.45 249.051 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 246.939 o
+95.0625 253.436 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 246.939 o
+684.45 253.436 o
grestore
gsave
/o {
stroke
grestore
} bind def
-95.0625 250.415 o
+95.0625 256.547 o
grestore
gsave
/o {
stroke
grestore
} bind def
-684.45 250.415 o
+684.45 256.547 o
grestore
-61.062 106.401 m
+61.062 110.001 m
gsave
90 rotate
0 0.172 rmoveto
1.000 setlinewidth
2 setlinecap
gsave
-95.0625 253.11 m
-684.45 253.11 l
+95.0625 258.96 m
+684.45 258.96 l
stroke
grestore
gsave
-684.45 58.41 m
-684.45 253.11 l
+684.45 59.76 m
+684.45 258.96 l
stroke
grestore
gsave
-95.0625 58.41 m
-684.45 58.41 l
+95.0625 59.76 m
+684.45 59.76 l
stroke
grestore
gsave
-95.0625 58.41 m
-95.0625 253.11 l
+95.0625 59.76 m
+95.0625 258.96 l
stroke
grestore
/DejaVuSans findfont
14.400 scalefont
setfont
-330.686 258.11 m
+330.686 263.96 m
0 0.203 rmoveto
(Relative residual) show
function_values = []
for point in points:
- print point
+ #print point
z = function_g(point, H, b, c)
function_values.append(z)
p = mlab.points3d([point[0]], [point[1]], [z], scale_factor=0.05)
# Run steepest method until tolerance steep_tol, then continue with Newtons
# method until tolerance newt_tol
-def steepestnewton(x0, H, b, c, steep_tol, newt_tol):
+def steepestnewton(x0, H, b, c, steep_tol, steep_max, newt_tol):
x = []
r = []
# Use the starting norm to calculate relative residuals in both algorithms
x0_norm = norm(gradient_g(x0, H, b, c))
- points, residuals = steepest(x0, H, b, c, steep_tol, 100, 0, x0_norm)
+ points, residuals = steepest(x0, H, b, c, steep_tol, steep_max, 0, x0_norm)
x.extend(points)
r.extend(residuals)