-
-
Save fperez/2841547 to your computer and use it in GitHub Desktop.
Sample notebook for backgrounding a simulation on IPython engines
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"metadata": { | |
"name": "BackgroundLoop" | |
}, | |
"nbformat": 3, | |
"worksheets": [ | |
{ | |
"cells": [ | |
{ | |
"cell_type": "heading", | |
"level": 1, | |
"source": [ | |
"Real-time monitoring of a parallel MPI simulation" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"In this notebook, we show how IPython can be used to monitor a running MPI simulation by connecting to the IPython engines and reading data from them for display in the notebook.", | |
"", | |
"The toy example we use to illustrate things here is a plot of the sine function with an increasingly fine grid, that sleeps for 1 second in each 'timestep', but does so *while holding the GIL*. It is thus a realistic example of how a computationally-intensive process would work.", | |
"", | |
"For optimal results, this demo assumes you have configured an MPI profile [as explained in our documentation](http://ipython.org/ipython-doc/rel-0.12.1/parallel/parallel_process.html#using-ipcluster-in-mpiexec-mpirun-mode), you should consult that document and configure your MPI profile first if that's not the case. If you don't have MPI you can still run the demo, as we supply a few dummy stand-in methods for the MPI facilities, though some results may get out of sync in this dummy mode.", | |
"", | |
"Once your MPI profile is ready, use it to start a cluster from the [clusters tab](/#tab2) of the Notebook Dashboard." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"%pylab inline", | |
"", | |
"import sys, time", | |
"import numpy as np", | |
"import matplotlib.pyplot as plt" | |
], | |
"language": "python", | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"", | |
"Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].", | |
"For more information, type 'help(pylab)'.", | |
"" | |
] | |
} | |
], | |
"prompt_number": 1 | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Create the Client and View:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"from IPython import parallel", | |
"rc = parallel.Client(profile=\"mpi\")", | |
"dv = rc[:]", | |
"dv.block = True", | |
"dv.activate()", | |
"dv" | |
], | |
"language": "python", | |
"outputs": [ | |
{ | |
"output_type": "pyout", | |
"prompt_number": 2, | |
"text": [ | |
"<DirectView [0, 1]>" | |
] | |
} | |
], | |
"prompt_number": 2 | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Check for MPI. It's fine for this example if we don't have it, but it will technically be possible for", | |
"simulation nodes to get slightly out of sync." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"%%px", | |
"try:", | |
" from mpi4py import MPI", | |
"except ImportError:", | |
" bcast = lambda buf: buf", | |
" barrier = lambda : None", | |
" rank = 0", | |
" print \"No MPI, dummy sims may get slightly out of sync\"", | |
"else:", | |
" mpi = MPI.COMM_WORLD", | |
" bcast = mpi.bcast", | |
" barrier = mpi.barrier", | |
" rank = mpi.rank", | |
" print \"MPI rank: %i/%i\" % (mpi.rank,mpi.size)" | |
], | |
"language": "python", | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"Parallel execution on engine(s): [0, 1]", | |
"[stdout:0] MPI rank: 0/2", | |
"[stdout:1] MPI rank: 1/2", | |
"" | |
] | |
} | |
], | |
"prompt_number": 3 | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Quick test of the broadcast:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"%px bcast(rank)" | |
], | |
"language": "python", | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"Parallel execution on engine(s): [0, 1]", | |
"" | |
] | |
}, | |
{ | |
"output_type": "display_data", | |
"text": [ | |
"[0] \u001b[0;31mOut[39]: \u001b[0m0" | |
] | |
}, | |
{ | |
"output_type": "display_data", | |
"text": [ | |
"[1] \u001b[0;31mOut[39]: \u001b[0m0" | |
] | |
} | |
], | |
"prompt_number": 4 | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Define a function on the engines that holds the GIL for a period of time", | |
"(like time.sleep, but holding the GIL to simulate blocking computation):" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"%%px", | |
"from cython import inline", | |
"", | |
"def gilsleep(t):", | |
" \"\"\"gil-holding sleep with cython.inline\"\"\"", | |
" code = '\\n'.join([", | |
" 'from posix cimport unistd',", | |
" 'unistd.sleep(t)',", | |
" ])", | |
" inline(code, quiet=True, t=t)", | |
"", | |
"gilsleep(1)" | |
], | |
"language": "python", | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"Parallel execution on engine(s): [0, 1]", | |
"" | |
] | |
} | |
], | |
"prompt_number": 5 | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"And define our dummy simulation, which just refines the appropriate slice of sin(x),", | |
"after grabbing the GIL for a period of time:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"%%px", | |
"import numpy as np", | |
"", | |
"class DummySimulation(object):", | |
" def __init__(self, x1, x2, n, p, dt=1):", | |
" self.x1 = x1", | |
" self.x2 = x2", | |
" self.n = n", | |
" self.p = p", | |
" self.dt = dt", | |
" self.y = None", | |
" self.step = 0", | |
" ", | |
" def advance(self):", | |
" # include mpi barrier, for good measure", | |
" barrier()", | |
" self.step += 1", | |
" n = self.n", | |
" p = self.p", | |
" gilsleep(self.dt)", | |
" npoints = p * self.step", | |
" X = np.linspace(x1, x2, npoints)", | |
" x = X[n * npoints / p : (n+1) * npoints / p]", | |
" self.y = np.sin(x)", | |
" return self.step", | |
"" | |
], | |
"language": "python", | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"Parallel execution on engine(s): [0, 1]", | |
"" | |
] | |
} | |
], | |
"prompt_number": 6 | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Set up the global state (we are just sampling sin(x) on an interval), and instantiate the Simulation objects:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"x1 = 0", | |
"x2 = 10*np.pi", | |
"dv['x1'] = x1", | |
"dv['x2'] = x2", | |
"", | |
"dv.scatter('n', range(len(dv)), flatten=True)", | |
"dv['p'] = len(dv)", | |
"dv['step'] = 0", | |
"", | |
"%px sim = DummySimulation(x1, x2, n, p, dt=1)" | |
], | |
"language": "python", | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"Parallel execution on engine(s): [0, 1]", | |
"" | |
] | |
} | |
], | |
"prompt_number": 7 | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Take the first step, to make sure everything is in working order:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"%px sim.advance()" | |
], | |
"language": "python", | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"Parallel execution on engine(s): [0, 1]", | |
"" | |
] | |
}, | |
{ | |
"output_type": "display_data", | |
"text": [ | |
"[0] \u001b[0;31mOut[43]: \u001b[0m1" | |
] | |
}, | |
{ | |
"output_type": "display_data", | |
"text": [ | |
"[1] \u001b[0;31mOut[43]: \u001b[0m1" | |
] | |
} | |
], | |
"prompt_number": 8 | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"This is the function we are going to use to inspect our intermediate result.", | |
"It fetches the current value of the simulation step, and the value of 'y',", | |
"and makes a plot." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"from IPython.core.display import display, clear_output", | |
"", | |
"def check_y():", | |
" \"\"\"fetch and plot the current state of the simulation\"\"\"", | |
" states = dv.apply_sync(lambda : (sim.step, sim.y))", | |
" steps, ys = zip(*states)", | |
" Y = np.concatenate(ys)", | |
" X = linspace(0, 10*np.pi, len(Y))", | |
" ", | |
" fig = plt.figure()", | |
" plt.title(\"step %i (%i points)\" % (steps[0], len(X)))", | |
" plt.plot(X, Y, 'o-')", | |
" clear_output()", | |
" display(fig)", | |
" plt.close(fig)" | |
], | |
"language": "python", | |
"outputs": [], | |
"prompt_number": 9 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"check_y()" | |
], | |
"language": "python", | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"svg": [ | |
"<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>", | |
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"", | |
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">", | |
"<!-- Created with matplotlib (http://matplotlib.sourceforge.net/) -->", | |
"<svg height=\"257pt\" version=\"1.1\" viewBox=\"0 0 381 257\" width=\"381pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">", | |
" <defs>", | |
" <style type=\"text/css\">", | |
"*{stroke-linecap:square;stroke-linejoin:round;}", | |
" </style>", | |
" </defs>", | |
" <g id=\"figure_1\">", | |
" <g id=\"patch_1\">", | |
" <path d=\"", | |
"M1.11022e-15 257.522", | |
"L381.407 257.522", | |
"L381.407 0", | |
"L1.11022e-15 0", | |
"z", | |
"\" style=\"fill:#ffffff;\"/>", | |
" </g>", | |
" <g id=\"axes_1\">", | |
" <g id=\"patch_2\">", | |
" <path d=\"", | |
"M33.8625 238.758", | |
"L368.663 238.758", | |
"L368.663 21.3181", | |
"L33.8625 21.3181", | |
"z", | |
"\" style=\"fill:#ffffff;\"/>", | |
" </g>", | |
" <g id=\"line2d_1\">", | |
" <path clip-path=\"url(#pb852ba6bc0)\" d=\"", | |
"M33.8625 21.3181", | |
"L334.378 211.517\" style=\"fill:none;stroke:#0000ff;\"/>", | |
" <defs>", | |
" <path d=\"", | |
"M0 3", | |
"C0.795609 3 1.55874 2.6839 2.12132 2.12132", | |
"C2.6839 1.55874 3 0.795609 3 0", | |
"C3 -0.795609 2.6839 -1.55874 2.12132 -2.12132", | |
"C1.55874 -2.6839 0.795609 -3 0 -3", | |
"C-0.795609 -3 -1.55874 -2.6839 -2.12132 -2.12132", | |
"C-2.6839 -1.55874 -3 -0.795609 -3 0", | |
"C-3 0.795609 -2.6839 1.55874 -2.12132 2.12132", | |
"C-1.55874 2.6839 -0.795609 3 0 3", | |
"z", | |
"\" id=\"m0f54036a79\" style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\"/>", | |
" </defs>", | |
" <g clip-path=\"url(#pb852ba6bc0)\">", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.8625\" xlink:href=\"#m0f54036a79\" y=\"21.318125\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"334.378277263\" xlink:href=\"#m0f54036a79\" y=\"211.516986125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"matplotlib.axis_1\">", | |
" <g id=\"xtick_1\">", | |
" <g id=\"line2d_2\">", | |
" <defs>", | |
" <path d=\"", | |
"M0 0", | |
"L0 -4\" id=\"mcb557df647\" style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\"/>", | |
" </defs>", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.8625\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_3\">", | |
" <defs>", | |
" <path d=\"", | |
"M0 0", | |
"L0 4\" id=\"mdad270ee8e\" style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\"/>", | |
" </defs>", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.8625\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_1\">", | |
" <!-- 0 -->", | |
" <defs>", | |
" <path d=\"", | |
"M31.7812 66.4062", | |
"Q24.1719 66.4062 20.3281 58.9062", | |
"Q16.5 51.4219 16.5 36.375", | |
"Q16.5 21.3906 20.3281 13.8906", | |
"Q24.1719 6.39062 31.7812 6.39062", | |
"Q39.4531 6.39062 43.2812 13.8906", | |
"Q47.125 21.3906 47.125 36.375", | |
"Q47.125 51.4219 43.2812 58.9062", | |
"Q39.4531 66.4062 31.7812 66.4062", | |
"M31.7812 74.2188", | |
"Q44.0469 74.2188 50.5156 64.5156", | |
"Q56.9844 54.8281 56.9844 36.375", | |
"Q56.9844 17.9688 50.5156 8.26562", | |
"Q44.0469 -1.42188 31.7812 -1.42188", | |
"Q19.5312 -1.42188 13.0625 8.26562", | |
"Q6.59375 17.9688 6.59375 36.375", | |
"Q6.59375 54.8281 13.0625 64.5156", | |
"Q19.5312 74.2188 31.7812 74.2188\" id=\"BitstreamVeraSans-Roman-30\"/>", | |
" </defs>", | |
" <g transform=\"translate(31.34296875 250.18)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_2\">", | |
" <g id=\"line2d_4\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"81.6910714286\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_5\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"81.6910714286\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_2\">", | |
" <!-- 5 -->", | |
" <defs>", | |
" <path d=\"", | |
"M10.7969 72.9062", | |
"L49.5156 72.9062", | |
"L49.5156 64.5938", | |
"L19.8281 64.5938", | |
"L19.8281 46.7344", | |
"Q21.9688 47.4688 24.1094 47.8281", | |
"Q26.2656 48.1875 28.4219 48.1875", | |
"Q40.625 48.1875 47.75 41.5", | |
"Q54.8906 34.8125 54.8906 23.3906", | |
"Q54.8906 11.625 47.5625 5.09375", | |
"Q40.2344 -1.42188 26.9062 -1.42188", | |
"Q22.3125 -1.42188 17.5469 -0.640625", | |
"Q12.7969 0.140625 7.71875 1.70312", | |
"L7.71875 11.625", | |
"Q12.1094 9.23438 16.7969 8.0625", | |
"Q21.4844 6.89062 26.7031 6.89062", | |
"Q35.1562 6.89062 40.0781 11.3281", | |
"Q45.0156 15.7656 45.0156 23.3906", | |
"Q45.0156 31 40.0781 35.4375", | |
"Q35.1562 39.8906 26.7031 39.8906", | |
"Q22.75 39.8906 18.8125 39.0156", | |
"Q14.8906 38.1406 10.7969 36.2812", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-35\"/>", | |
" </defs>", | |
" <g transform=\"translate(79.3324776786 250.04875)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-35\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_3\">", | |
" <g id=\"line2d_6\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"129.519642857\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_7\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"129.519642857\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_3\">", | |
" <!-- 10 -->", | |
" <defs>", | |
" <path d=\"", | |
"M12.4062 8.29688", | |
"L28.5156 8.29688", | |
"L28.5156 63.9219", | |
"L10.9844 60.4062", | |
"L10.9844 69.3906", | |
"L28.4219 72.9062", | |
"L38.2812 72.9062", | |
"L38.2812 8.29688", | |
"L54.3906 8.29688", | |
"L54.3906 0", | |
"L12.4062 0", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-31\"/>", | |
" </defs>", | |
" <g transform=\"translate(124.038392857 250.18)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-31\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_4\">", | |
" <g id=\"line2d_8\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"177.348214286\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_9\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"177.348214286\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_4\">", | |
" <!-- 15 -->", | |
" <g transform=\"translate(171.971651786 250.04875)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-31\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-35\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_5\">", | |
" <g id=\"line2d_10\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"225.176785714\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_11\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"225.176785714\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_5\">", | |
" <!-- 20 -->", | |
" <defs>", | |
" <path d=\"", | |
"M19.1875 8.29688", | |
"L53.6094 8.29688", | |
"L53.6094 0", | |
"L7.32812 0", | |
"L7.32812 8.29688", | |
"Q12.9375 14.1094 22.625 23.8906", | |
"Q32.3281 33.6875 34.8125 36.5312", | |
"Q39.5469 41.8438 41.4219 45.5312", | |
"Q43.3125 49.2188 43.3125 52.7812", | |
"Q43.3125 58.5938 39.2344 62.25", | |
"Q35.1562 65.9219 28.6094 65.9219", | |
"Q23.9688 65.9219 18.8125 64.3125", | |
"Q13.6719 62.7031 7.8125 59.4219", | |
"L7.8125 69.3906", | |
"Q13.7656 71.7812 18.9375 73", | |
"Q24.125 74.2188 28.4219 74.2188", | |
"Q39.75 74.2188 46.4844 68.5469", | |
"Q53.2188 62.8906 53.2188 53.4219", | |
"Q53.2188 48.9219 51.5312 44.8906", | |
"Q49.8594 40.875 45.4062 35.4062", | |
"Q44.1875 33.9844 37.6406 27.2188", | |
"Q31.1094 20.4531 19.1875 8.29688\" id=\"BitstreamVeraSans-Roman-32\"/>", | |
" </defs>", | |
" <g transform=\"translate(219.512723214 250.18)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-32\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_6\">", | |
" <g id=\"line2d_12\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"273.005357143\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_13\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"273.005357143\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_6\">", | |
" <!-- 25 -->", | |
" <g transform=\"translate(267.445982143 250.18)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-32\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-35\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_7\">", | |
" <g id=\"line2d_14\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"320.833928571\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_15\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"320.833928571\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_7\">", | |
" <!-- 30 -->", | |
" <defs>", | |
" <path d=\"", | |
"M40.5781 39.3125", | |
"Q47.6562 37.7969 51.625 33", | |
"Q55.6094 28.2188 55.6094 21.1875", | |
"Q55.6094 10.4062 48.1875 4.48438", | |
"Q40.7656 -1.42188 27.0938 -1.42188", | |
"Q22.5156 -1.42188 17.6562 -0.515625", | |
"Q12.7969 0.390625 7.625 2.20312", | |
"L7.625 11.7188", | |
"Q11.7188 9.32812 16.5938 8.10938", | |
"Q21.4844 6.89062 26.8125 6.89062", | |
"Q36.0781 6.89062 40.9375 10.5469", | |
"Q45.7969 14.2031 45.7969 21.1875", | |
"Q45.7969 27.6406 41.2812 31.2656", | |
"Q36.7656 34.9062 28.7188 34.9062", | |
"L20.2188 34.9062", | |
"L20.2188 43.0156", | |
"L29.1094 43.0156", | |
"Q36.375 43.0156 40.2344 45.9219", | |
"Q44.0938 48.8281 44.0938 54.2969", | |
"Q44.0938 59.9062 40.1094 62.9062", | |
"Q36.1406 65.9219 28.7188 65.9219", | |
"Q24.6562 65.9219 20.0156 65.0312", | |
"Q15.375 64.1562 9.8125 62.3125", | |
"L9.8125 71.0938", | |
"Q15.4375 72.6562 20.3438 73.4375", | |
"Q25.25 74.2188 29.5938 74.2188", | |
"Q40.8281 74.2188 47.3594 69.1094", | |
"Q53.9062 64.0156 53.9062 55.3281", | |
"Q53.9062 49.2656 50.4375 45.0938", | |
"Q46.9688 40.9219 40.5781 39.3125\" id=\"BitstreamVeraSans-Roman-33\"/>", | |
" </defs>", | |
" <g transform=\"translate(315.184709821 250.18)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-33\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_8\">", | |
" <g id=\"line2d_16\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.6625\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_17\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.6625\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_8\">", | |
" <!-- 35 -->", | |
" <g transform=\"translate(363.11796875 250.18)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-33\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-35\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"matplotlib.axis_2\">", | |
" <g id=\"ytick_1\">", | |
" <g id=\"line2d_18\">", | |
" <defs>", | |
" <path d=\"", | |
"M0 0", | |
"L4 0\" id=\"mc8fcea1516\" style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\"/>", | |
" </defs>", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.8625\" xlink:href=\"#mc8fcea1516\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_19\">", | |
" <defs>", | |
" <path d=\"", | |
"M0 0", | |
"L-4 0\" id=\"m0d5b0a6425\" style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\"/>", | |
" </defs>", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.6625\" xlink:href=\"#m0d5b0a6425\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_9\">", | |
" <!-- \u22121.4 -->", | |
" <defs>", | |
" <path d=\"", | |
"M10.5938 35.5", | |
"L73.1875 35.5", | |
"L73.1875 27.2031", | |
"L10.5938 27.2031", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-2212\"/>", | |
" <path d=\"", | |
"M10.6875 12.4062", | |
"L21 12.4062", | |
"L21 0", | |
"L10.6875 0", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-2e\"/>", | |
" <path d=\"", | |
"M37.7969 64.3125", | |
"L12.8906 25.3906", | |
"L37.7969 25.3906", | |
"z", | |
"", | |
"M35.2031 72.9062", | |
"L47.6094 72.9062", | |
"L47.6094 25.3906", | |
"L58.0156 25.3906", | |
"L58.0156 17.1875", | |
"L47.6094 17.1875", | |
"L47.6094 0", | |
"L37.7969 0", | |
"L37.7969 17.1875", | |
"L4.89062 17.1875", | |
"L4.89062 26.7031", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-34\"/>", | |
" </defs>", | |
" <g transform=\"translate(7.2 242.4034375)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-2212\"/>", | |
" <use x=\"83.7890625\" xlink:href=\"#BitstreamVeraSans-Roman-31\"/>", | |
" <use x=\"147.412109375\" xlink:href=\"#BitstreamVeraSans-Roman-2e\"/>", | |
" <use x=\"179.19921875\" xlink:href=\"#BitstreamVeraSans-Roman-34\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"ytick_2\">", | |
" <g id=\"line2d_20\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.8625\" xlink:href=\"#mc8fcea1516\" y=\"207.695267857\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_21\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.6625\" xlink:href=\"#m0d5b0a6425\" y=\"207.695267857\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_10\">", | |
" <!-- \u22121.2 -->", | |
" <g transform=\"translate(7.640625 211.406205357)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-2212\"/>", | |
" <use x=\"83.7890625\" xlink:href=\"#BitstreamVeraSans-Roman-31\"/>", | |
" <use x=\"147.412109375\" xlink:href=\"#BitstreamVeraSans-Roman-2e\"/>", | |
" <use x=\"179.19921875\" xlink:href=\"#BitstreamVeraSans-Roman-32\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"ytick_3\">", | |
" <g id=\"line2d_22\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.8625\" xlink:href=\"#mc8fcea1516\" y=\"176.632410714\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_23\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.6625\" xlink:href=\"#m0d5b0a6425\" y=\"176.632410714\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_11\">", | |
" <!-- \u22121.0 -->", | |
" <g transform=\"translate(7.303125 180.272254464)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-2212\"/>", | |
" <use x=\"83.7890625\" xlink:href=\"#BitstreamVeraSans-Roman-31\"/>", | |
" <use x=\"147.412109375\" xlink:href=\"#BitstreamVeraSans-Roman-2e\"/>", | |
" <use x=\"179.19921875\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"ytick_4\">", | |
" <g id=\"line2d_24\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.8625\" xlink:href=\"#mc8fcea1516\" y=\"145.569553571\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_25\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.6625\" xlink:href=\"#m0d5b0a6425\" y=\"145.569553571\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_12\">", | |
" <!-- \u22120.8 -->", | |
" <defs>", | |
" <path d=\"", | |
"M31.7812 34.625", | |
"Q24.75 34.625 20.7188 30.8594", | |
"Q16.7031 27.0938 16.7031 20.5156", | |
"Q16.7031 13.9219 20.7188 10.1562", | |
"Q24.75 6.39062 31.7812 6.39062", | |
"Q38.8125 6.39062 42.8594 10.1719", | |
"Q46.9219 13.9688 46.9219 20.5156", | |
"Q46.9219 27.0938 42.8906 30.8594", | |
"Q38.875 34.625 31.7812 34.625", | |
"M21.9219 38.8125", | |
"Q15.5781 40.375 12.0312 44.7188", | |
"Q8.5 49.0781 8.5 55.3281", | |
"Q8.5 64.0625 14.7188 69.1406", | |
"Q20.9531 74.2188 31.7812 74.2188", | |
"Q42.6719 74.2188 48.875 69.1406", | |
"Q55.0781 64.0625 55.0781 55.3281", | |
"Q55.0781 49.0781 51.5312 44.7188", | |
"Q48 40.375 41.7031 38.8125", | |
"Q48.8281 37.1562 52.7969 32.3125", | |
"Q56.7812 27.4844 56.7812 20.5156", | |
"Q56.7812 9.90625 50.3125 4.23438", | |
"Q43.8438 -1.42188 31.7812 -1.42188", | |
"Q19.7344 -1.42188 13.25 4.23438", | |
"Q6.78125 9.90625 6.78125 20.5156", | |
"Q6.78125 27.4844 10.7812 32.3125", | |
"Q14.7969 37.1562 21.9219 38.8125", | |
"M18.3125 54.3906", | |
"Q18.3125 48.7344 21.8438 45.5625", | |
"Q25.3906 42.3906 31.7812 42.3906", | |
"Q38.1406 42.3906 41.7188 45.5625", | |
"Q45.3125 48.7344 45.3125 54.3906", | |
"Q45.3125 60.0625 41.7188 63.2344", | |
"Q38.1406 66.4062 31.7812 66.4062", | |
"Q25.3906 66.4062 21.8438 63.2344", | |
"Q18.3125 60.0625 18.3125 54.3906\" id=\"BitstreamVeraSans-Roman-38\"/>", | |
" </defs>", | |
" <g transform=\"translate(7.3234375 149.209397321)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-2212\"/>", | |
" <use x=\"83.7890625\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" <use x=\"147.412109375\" xlink:href=\"#BitstreamVeraSans-Roman-2e\"/>", | |
" <use x=\"179.19921875\" xlink:href=\"#BitstreamVeraSans-Roman-38\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"ytick_5\">", | |
" <g id=\"line2d_26\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.8625\" xlink:href=\"#mc8fcea1516\" y=\"114.506696429\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_27\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.6625\" xlink:href=\"#m0d5b0a6425\" y=\"114.506696429\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_13\">", | |
" <!-- \u22120.6 -->", | |
" <defs>", | |
" <path d=\"", | |
"M33.0156 40.375", | |
"Q26.375 40.375 22.4844 35.8281", | |
"Q18.6094 31.2969 18.6094 23.3906", | |
"Q18.6094 15.5312 22.4844 10.9531", | |
"Q26.375 6.39062 33.0156 6.39062", | |
"Q39.6562 6.39062 43.5312 10.9531", | |
"Q47.4062 15.5312 47.4062 23.3906", | |
"Q47.4062 31.2969 43.5312 35.8281", | |
"Q39.6562 40.375 33.0156 40.375", | |
"M52.5938 71.2969", | |
"L52.5938 62.3125", | |
"Q48.875 64.0625 45.0938 64.9844", | |
"Q41.3125 65.9219 37.5938 65.9219", | |
"Q27.8281 65.9219 22.6719 59.3281", | |
"Q17.5312 52.7344 16.7969 39.4062", | |
"Q19.6719 43.6562 24.0156 45.9219", | |
"Q28.375 48.1875 33.5938 48.1875", | |
"Q44.5781 48.1875 50.9531 41.5156", | |
"Q57.3281 34.8594 57.3281 23.3906", | |
"Q57.3281 12.1562 50.6875 5.35938", | |
"Q44.0469 -1.42188 33.0156 -1.42188", | |
"Q20.3594 -1.42188 13.6719 8.26562", | |
"Q6.98438 17.9688 6.98438 36.375", | |
"Q6.98438 53.6562 15.1875 63.9375", | |
"Q23.3906 74.2188 37.2031 74.2188", | |
"Q40.9219 74.2188 44.7031 73.4844", | |
"Q48.4844 72.75 52.5938 71.2969\" id=\"BitstreamVeraSans-Roman-36\"/>", | |
" </defs>", | |
" <g transform=\"translate(7.26875 118.146540179)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-2212\"/>", | |
" <use x=\"83.7890625\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" <use x=\"147.412109375\" xlink:href=\"#BitstreamVeraSans-Roman-2e\"/>", | |
" <use x=\"179.19921875\" xlink:href=\"#BitstreamVeraSans-Roman-36\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"ytick_6\">", | |
" <g id=\"line2d_28\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.8625\" xlink:href=\"#mc8fcea1516\" y=\"83.4438392857\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_29\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.6625\" xlink:href=\"#m0d5b0a6425\" y=\"83.4438392857\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_14\">", | |
" <!-- \u22120.4 -->", | |
" <g transform=\"translate(7.2 87.0836830357)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-2212\"/>", | |
" <use x=\"83.7890625\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" <use x=\"147.412109375\" xlink:href=\"#BitstreamVeraSans-Roman-2e\"/>", | |
" <use x=\"179.19921875\" xlink:href=\"#BitstreamVeraSans-Roman-34\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"ytick_7\">", | |
" <g id=\"line2d_30\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.8625\" xlink:href=\"#mc8fcea1516\" y=\"52.3809821429\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_31\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.6625\" xlink:href=\"#m0d5b0a6425\" y=\"52.3809821429\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_15\">", | |
" <!-- \u22120.2 -->", | |
" <g transform=\"translate(7.640625 56.0208258929)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-2212\"/>", | |
" <use x=\"83.7890625\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" <use x=\"147.412109375\" xlink:href=\"#BitstreamVeraSans-Roman-2e\"/>", | |
" <use x=\"179.19921875\" xlink:href=\"#BitstreamVeraSans-Roman-32\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"ytick_8\">", | |
" <g id=\"line2d_32\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.8625\" xlink:href=\"#mc8fcea1516\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_33\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.6625\" xlink:href=\"#m0d5b0a6425\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_16\">", | |
" <!-- 0.0 -->", | |
" <g transform=\"translate(15.2828125 24.95796875)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-2e\"/>", | |
" <use x=\"95.41015625\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_17\">", | |
" <!-- 1e\u221215 -->", | |
" <defs>", | |
" <path d=\"", | |
"M56.2031 29.5938", | |
"L56.2031 25.2031", | |
"L14.8906 25.2031", | |
"Q15.4844 15.9219 20.4844 11.0625", | |
"Q25.4844 6.20312 34.4219 6.20312", | |
"Q39.5938 6.20312 44.4531 7.46875", | |
"Q49.3125 8.73438 54.1094 11.2812", | |
"L54.1094 2.78125", | |
"Q49.2656 0.734375 44.1875 -0.34375", | |
"Q39.1094 -1.42188 33.8906 -1.42188", | |
"Q20.7969 -1.42188 13.1562 6.1875", | |
"Q5.51562 13.8125 5.51562 26.8125", | |
"Q5.51562 40.2344 12.7656 48.1094", | |
"Q20.0156 56 32.3281 56", | |
"Q43.3594 56 49.7812 48.8906", | |
"Q56.2031 41.7969 56.2031 29.5938", | |
"M47.2188 32.2344", | |
"Q47.125 39.5938 43.0938 43.9844", | |
"Q39.0625 48.3906 32.4219 48.3906", | |
"Q24.9062 48.3906 20.3906 44.1406", | |
"Q15.875 39.8906 15.1875 32.1719", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-65\"/>", | |
" </defs>", | |
" <g transform=\"translate(33.8625 18.318125)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-31\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-65\"/>", | |
" <use x=\"125.146484375\" xlink:href=\"#BitstreamVeraSans-Roman-2212\"/>", | |
" <use x=\"208.935546875\" xlink:href=\"#BitstreamVeraSans-Roman-31\"/>", | |
" <use x=\"272.55859375\" xlink:href=\"#BitstreamVeraSans-Roman-35\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"patch_3\">", | |
" <path d=\"", | |
"M33.8625 21.3181", | |
"L368.663 21.3181\" style=\"fill:none;stroke:#000000;\"/>", | |
" </g>", | |
" <g id=\"patch_4\">", | |
" <path d=\"", | |
"M368.663 238.758", | |
"L368.663 21.3181\" style=\"fill:none;stroke:#000000;\"/>", | |
" </g>", | |
" <g id=\"patch_5\">", | |
" <path d=\"", | |
"M33.8625 238.758", | |
"L368.663 238.758\" style=\"fill:none;stroke:#000000;\"/>", | |
" </g>", | |
" <g id=\"patch_6\">", | |
" <path d=\"", | |
"M33.8625 238.758", | |
"L33.8625 21.3181\" style=\"fill:none;stroke:#000000;\"/>", | |
" </g>", | |
" <g id=\"text_18\">", | |
" <!-- step 1 (2 points) -->", | |
" <defs>", | |
" <path id=\"BitstreamVeraSans-Roman-20\"/>", | |
" <path d=\"", | |
"M54.8906 33.0156", | |
"L54.8906 0", | |
"L45.9062 0", | |
"L45.9062 32.7188", | |
"Q45.9062 40.4844 42.875 44.3281", | |
"Q39.8438 48.1875 33.7969 48.1875", | |
"Q26.5156 48.1875 22.3125 43.5469", | |
"Q18.1094 38.9219 18.1094 30.9062", | |
"L18.1094 0", | |
"L9.07812 0", | |
"L9.07812 54.6875", | |
"L18.1094 54.6875", | |
"L18.1094 46.1875", | |
"Q21.3438 51.125 25.7031 53.5625", | |
"Q30.0781 56 35.7969 56", | |
"Q45.2188 56 50.0469 50.1719", | |
"Q54.8906 44.3438 54.8906 33.0156\" id=\"BitstreamVeraSans-Roman-6e\"/>", | |
" <path d=\"", | |
"M31 75.875", | |
"Q24.4688 64.6562 21.2812 53.6562", | |
"Q18.1094 42.6719 18.1094 31.3906", | |
"Q18.1094 20.125 21.3125 9.0625", | |
"Q24.5156 -2 31 -13.1875", | |
"L23.1875 -13.1875", | |
"Q15.875 -1.70312 12.2344 9.375", | |
"Q8.59375 20.4531 8.59375 31.3906", | |
"Q8.59375 42.2812 12.2031 53.3125", | |
"Q15.8281 64.3594 23.1875 75.875", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-28\"/>", | |
" <path d=\"", | |
"M30.6094 48.3906", | |
"Q23.3906 48.3906 19.1875 42.75", | |
"Q14.9844 37.1094 14.9844 27.2969", | |
"Q14.9844 17.4844 19.1562 11.8438", | |
"Q23.3438 6.20312 30.6094 6.20312", | |
"Q37.7969 6.20312 41.9844 11.8594", | |
"Q46.1875 17.5312 46.1875 27.2969", | |
"Q46.1875 37.0156 41.9844 42.7031", | |
"Q37.7969 48.3906 30.6094 48.3906", | |
"M30.6094 56", | |
"Q42.3281 56 49.0156 48.375", | |
"Q55.7188 40.7656 55.7188 27.2969", | |
"Q55.7188 13.875 49.0156 6.21875", | |
"Q42.3281 -1.42188 30.6094 -1.42188", | |
"Q18.8438 -1.42188 12.1719 6.21875", | |
"Q5.51562 13.875 5.51562 27.2969", | |
"Q5.51562 40.7656 12.1719 48.375", | |
"Q18.8438 56 30.6094 56\" id=\"BitstreamVeraSans-Roman-6f\"/>", | |
" <path d=\"", | |
"M8.01562 75.875", | |
"L15.8281 75.875", | |
"Q23.1406 64.3594 26.7812 53.3125", | |
"Q30.4219 42.2812 30.4219 31.3906", | |
"Q30.4219 20.4531 26.7812 9.375", | |
"Q23.1406 -1.70312 15.8281 -13.1875", | |
"L8.01562 -13.1875", | |
"Q14.5 -2 17.7031 9.0625", | |
"Q20.9062 20.125 20.9062 31.3906", | |
"Q20.9062 42.6719 17.7031 53.6562", | |
"Q14.5 64.6562 8.01562 75.875\" id=\"BitstreamVeraSans-Roman-29\"/>", | |
" <path d=\"", | |
"M9.42188 54.6875", | |
"L18.4062 54.6875", | |
"L18.4062 0", | |
"L9.42188 0", | |
"z", | |
"", | |
"M9.42188 75.9844", | |
"L18.4062 75.9844", | |
"L18.4062 64.5938", | |
"L9.42188 64.5938", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-69\"/>", | |
" <path d=\"", | |
"M18.3125 70.2188", | |
"L18.3125 54.6875", | |
"L36.8125 54.6875", | |
"L36.8125 47.7031", | |
"L18.3125 47.7031", | |
"L18.3125 18.0156", | |
"Q18.3125 11.3281 20.1406 9.42188", | |
"Q21.9688 7.51562 27.5938 7.51562", | |
"L36.8125 7.51562", | |
"L36.8125 0", | |
"L27.5938 0", | |
"Q17.1875 0 13.2344 3.875", | |
"Q9.28125 7.76562 9.28125 18.0156", | |
"L9.28125 47.7031", | |
"L2.6875 47.7031", | |
"L2.6875 54.6875", | |
"L9.28125 54.6875", | |
"L9.28125 70.2188", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-74\"/>", | |
" <path d=\"", | |
"M44.2812 53.0781", | |
"L44.2812 44.5781", | |
"Q40.4844 46.5312 36.375 47.5", | |
"Q32.2812 48.4844 27.875 48.4844", | |
"Q21.1875 48.4844 17.8438 46.4375", | |
"Q14.5 44.3906 14.5 40.2812", | |
"Q14.5 37.1562 16.8906 35.375", | |
"Q19.2812 33.5938 26.5156 31.9844", | |
"L29.5938 31.2969", | |
"Q39.1562 29.25 43.1875 25.5156", | |
"Q47.2188 21.7812 47.2188 15.0938", | |
"Q47.2188 7.46875 41.1875 3.01562", | |
"Q35.1562 -1.42188 24.6094 -1.42188", | |
"Q20.2188 -1.42188 15.4531 -0.5625", | |
"Q10.6875 0.296875 5.42188 2", | |
"L5.42188 11.2812", | |
"Q10.4062 8.6875 15.2344 7.39062", | |
"Q20.0625 6.10938 24.8125 6.10938", | |
"Q31.1562 6.10938 34.5625 8.28125", | |
"Q37.9844 10.4531 37.9844 14.4062", | |
"Q37.9844 18.0625 35.5156 20.0156", | |
"Q33.0625 21.9688 24.7031 23.7812", | |
"L21.5781 24.5156", | |
"Q13.2344 26.2656 9.51562 29.9062", | |
"Q5.8125 33.5469 5.8125 39.8906", | |
"Q5.8125 47.6094 11.2812 51.7969", | |
"Q16.75 56 26.8125 56", | |
"Q31.7812 56 36.1719 55.2656", | |
"Q40.5781 54.5469 44.2812 53.0781\" id=\"BitstreamVeraSans-Roman-73\"/>", | |
" <path d=\"", | |
"M18.1094 8.20312", | |
"L18.1094 -20.7969", | |
"L9.07812 -20.7969", | |
"L9.07812 54.6875", | |
"L18.1094 54.6875", | |
"L18.1094 46.3906", | |
"Q20.9531 51.2656 25.2656 53.625", | |
"Q29.5938 56 35.5938 56", | |
"Q45.5625 56 51.7812 48.0938", | |
"Q58.0156 40.1875 58.0156 27.2969", | |
"Q58.0156 14.4062 51.7812 6.48438", | |
"Q45.5625 -1.42188 35.5938 -1.42188", | |
"Q29.5938 -1.42188 25.2656 0.953125", | |
"Q20.9531 3.32812 18.1094 8.20312", | |
"M48.6875 27.2969", | |
"Q48.6875 37.2031 44.6094 42.8438", | |
"Q40.5312 48.4844 33.4062 48.4844", | |
"Q26.2656 48.4844 22.1875 42.8438", | |
"Q18.1094 37.2031 18.1094 27.2969", | |
"Q18.1094 17.3906 22.1875 11.75", | |
"Q26.2656 6.10938 33.4062 6.10938", | |
"Q40.5312 6.10938 44.6094 11.75", | |
"Q48.6875 17.3906 48.6875 27.2969\" id=\"BitstreamVeraSans-Roman-70\"/>", | |
" </defs>", | |
" <g transform=\"translate(152.334375 16.318125)scale(0.12 -0.12)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-73\"/>", | |
" <use x=\"52.099609375\" xlink:href=\"#BitstreamVeraSans-Roman-74\"/>", | |
" <use x=\"91.30859375\" xlink:href=\"#BitstreamVeraSans-Roman-65\"/>", | |
" <use x=\"152.83203125\" xlink:href=\"#BitstreamVeraSans-Roman-70\"/>", | |
" <use x=\"216.30859375\" xlink:href=\"#BitstreamVeraSans-Roman-20\"/>", | |
" <use x=\"248.095703125\" xlink:href=\"#BitstreamVeraSans-Roman-31\"/>", | |
" <use x=\"311.71875\" xlink:href=\"#BitstreamVeraSans-Roman-20\"/>", | |
" <use x=\"343.505859375\" xlink:href=\"#BitstreamVeraSans-Roman-28\"/>", | |
" <use x=\"382.51953125\" xlink:href=\"#BitstreamVeraSans-Roman-32\"/>", | |
" <use x=\"446.142578125\" xlink:href=\"#BitstreamVeraSans-Roman-20\"/>", | |
" <use x=\"477.9296875\" xlink:href=\"#BitstreamVeraSans-Roman-70\"/>", | |
" <use x=\"541.40625\" xlink:href=\"#BitstreamVeraSans-Roman-6f\"/>", | |
" <use x=\"602.587890625\" xlink:href=\"#BitstreamVeraSans-Roman-69\"/>", | |
" <use x=\"630.37109375\" xlink:href=\"#BitstreamVeraSans-Roman-6e\"/>", | |
" <use x=\"693.75\" xlink:href=\"#BitstreamVeraSans-Roman-74\"/>", | |
" <use x=\"732.958984375\" xlink:href=\"#BitstreamVeraSans-Roman-73\"/>", | |
" <use x=\"785.05859375\" xlink:href=\"#BitstreamVeraSans-Roman-29\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <defs>", | |
" <clipPath id=\"pb852ba6bc0\">", | |
" <rect height=\"217.44\" width=\"334.8\" x=\"33.8625\" y=\"21.318125\"/>", | |
" </clipPath>", | |
" </defs>", | |
"</svg>", | |
"" | |
], | |
"text": [ | |
"<matplotlib.figure.Figure at 0xa6f262c>" | |
] | |
} | |
], | |
"prompt_number": 10 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 2, | |
"source": [ | |
"Now the interesting part" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Here we start a Thread that advances the simulation *in the background*.", | |
"", | |
"The engines should be responsive on the timescale of the gilsleep threshold (**1 seconds**, here):" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"%%px --block", | |
"from threading import Thread", | |
"", | |
"class BackgroundAdvance(Thread):", | |
" \"\"\"Call a function periodically in a thread, until self.stop() is called\"\"\"", | |
" def __init__(self, advance):", | |
" Thread.__init__(self)", | |
" self._done = False", | |
" self._paused = False", | |
" self._advance = advance", | |
" ", | |
" ", | |
" def stop(self):", | |
" self._done = True", | |
" ", | |
" def pause(self):", | |
" self._paused = True", | |
" ", | |
" def resume(self):", | |
" self._paused = False", | |
" ", | |
" def run(self):", | |
" while True:", | |
" # all stop together:", | |
" self._done = bcast(self._done)", | |
" if self._done:", | |
" return", | |
" if self._paused:", | |
" barrier()", | |
" time.sleep(1)", | |
" else:", | |
" self._advance()", | |
"", | |
"sim_thread = BackgroundAdvance(sim.advance)", | |
"sim_thread.start()", | |
"" | |
], | |
"language": "python", | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"Parallel execution on engine(s): [0, 1]", | |
"" | |
] | |
} | |
], | |
"prompt_number": 11 | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Note how that cell actually finished running.", | |
"", | |
"Now the simulation is running in a background thread, and we can check in on it with out check_y():" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"for i in range(6):", | |
" check_y()", | |
" time.sleep(2)" | |
], | |
"language": "python", | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"svg": [ | |
"<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>", | |
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"", | |
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">", | |
"<!-- Created with matplotlib (http://matplotlib.sourceforge.net/) -->", | |
"<svg height=\"257pt\" version=\"1.1\" viewBox=\"0 0 381 257\" width=\"381pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">", | |
" <defs>", | |
" <style type=\"text/css\">", | |
"*{stroke-linecap:square;stroke-linejoin:round;}", | |
" </style>", | |
" </defs>", | |
" <g id=\"figure_1\">", | |
" <g id=\"patch_1\">", | |
" <path d=\"", | |
"M1.22125e-15 257.522", | |
"L381.304 257.522", | |
"L381.304 0", | |
"L1.22125e-15 0", | |
"z", | |
"\" style=\"fill:#ffffff;\"/>", | |
" </g>", | |
" <g id=\"axes_1\">", | |
" <g id=\"patch_2\">", | |
" <path d=\"", | |
"M33.7594 238.758", | |
"L368.559 238.758", | |
"L368.559 21.3181", | |
"L33.7594 21.3181", | |
"z", | |
"\" style=\"fill:#ffffff;\"/>", | |
" </g>", | |
" <g id=\"line2d_1\">", | |
" <path clip-path=\"url(#pa7fa3dd341)\" d=\"", | |
"M33.7594 130.038", | |
"L48.0697 21.6221", | |
"L62.3799 113.834", | |
"L76.6902 236.032", | |
"L91.0005 162.084", | |
"L105.311 28.8335", | |
"L119.621 82.8663", | |
"L133.931 224.192", | |
"L148.242 191.282", | |
"L162.552 45.0374", | |
"L176.862 56.0897", | |
"L191.172 203.987", | |
"L205.483 215.039", | |
"L219.793 68.794", | |
"L234.103 35.8838", | |
"L248.414 177.21", | |
"L262.724 231.243", | |
"L277.034 97.9923", | |
"L291.344 24.044", | |
"L305.655 146.242", | |
"L319.965 238.454", | |
"L334.275 130.038\" style=\"fill:none;stroke:#0000ff;\"/>", | |
" <defs>", | |
" <path d=\"", | |
"M0 3", | |
"C0.795609 3 1.55874 2.6839 2.12132 2.12132", | |
"C2.6839 1.55874 3 0.795609 3 0", | |
"C3 -0.795609 2.6839 -1.55874 2.12132 -2.12132", | |
"C1.55874 -2.6839 0.795609 -3 0 -3", | |
"C-0.795609 -3 -1.55874 -2.6839 -2.12132 -2.12132", | |
"C-2.6839 -1.55874 -3 -0.795609 -3 0", | |
"C-3 0.795609 -2.6839 1.55874 -2.12132 2.12132", | |
"C-1.55874 2.6839 -0.795609 3 0 3", | |
"z", | |
"\" id=\"m0f54036a79\" style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\"/>", | |
" </defs>", | |
" <g clip-path=\"url(#pa7fa3dd341)\">", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.759375\" xlink:href=\"#m0f54036a79\" y=\"130.038125\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"48.0696501078\" xlink:href=\"#m0f54036a79\" y=\"21.6221281705\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"62.3799252156\" xlink:href=\"#m0f54036a79\" y=\"113.834249821\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"76.6902003233\" xlink:href=\"#m0f54036a79\" y=\"236.032287612\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"91.0004754311\" xlink:href=\"#m0f54036a79\" y=\"162.083907562\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"105.310750539\" xlink:href=\"#m0f54036a79\" y=\"28.8335310474\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"119.621025647\" xlink:href=\"#m0f54036a79\" y=\"82.8662848831\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"133.931300754\" xlink:href=\"#m0f54036a79\" y=\"224.192406899\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"148.241575862\" xlink:href=\"#m0f54036a79\" y=\"191.282281713\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"162.55185097\" xlink:href=\"#m0f54036a79\" y=\"45.0374062261\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"176.862126078\" xlink:href=\"#m0f54036a79\" y=\"56.0897449495\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"191.172401186\" xlink:href=\"#m0f54036a79\" y=\"203.98650505\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"205.482676293\" xlink:href=\"#m0f54036a79\" y=\"215.038843774\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"219.792951401\" xlink:href=\"#m0f54036a79\" y=\"68.7939682873\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"234.103226509\" xlink:href=\"#m0f54036a79\" y=\"35.8838431006\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"248.413501617\" xlink:href=\"#m0f54036a79\" y=\"177.209965117\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"262.723776724\" xlink:href=\"#m0f54036a79\" y=\"231.242718953\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"277.034051832\" xlink:href=\"#m0f54036a79\" y=\"97.992342438\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"291.34432694\" xlink:href=\"#m0f54036a79\" y=\"24.0439623876\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"305.654602048\" xlink:href=\"#m0f54036a79\" y=\"146.242000179\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"319.964877156\" xlink:href=\"#m0f54036a79\" y=\"238.45412183\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"334.275152263\" xlink:href=\"#m0f54036a79\" y=\"130.038125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"matplotlib.axis_1\">", | |
" <g id=\"xtick_1\">", | |
" <g id=\"line2d_2\">", | |
" <defs>", | |
" <path d=\"", | |
"M0 0", | |
"L0 -4\" id=\"mcb557df647\" style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\"/>", | |
" </defs>", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.759375\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_3\">", | |
" <defs>", | |
" <path d=\"", | |
"M0 0", | |
"L0 4\" id=\"mdad270ee8e\" style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\"/>", | |
" </defs>", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.759375\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_1\">", | |
" <!-- 0 -->", | |
" <defs>", | |
" <path d=\"", | |
"M31.7812 66.4062", | |
"Q24.1719 66.4062 20.3281 58.9062", | |
"Q16.5 51.4219 16.5 36.375", | |
"Q16.5 21.3906 20.3281 13.8906", | |
"Q24.1719 6.39062 31.7812 6.39062", | |
"Q39.4531 6.39062 43.2812 13.8906", | |
"Q47.125 21.3906 47.125 36.375", | |
"Q47.125 51.4219 43.2812 58.9062", | |
"Q39.4531 66.4062 31.7812 66.4062", | |
"M31.7812 74.2188", | |
"Q44.0469 74.2188 50.5156 64.5156", | |
"Q56.9844 54.8281 56.9844 36.375", | |
"Q56.9844 17.9688 50.5156 8.26562", | |
"Q44.0469 -1.42188 31.7812 -1.42188", | |
"Q19.5312 -1.42188 13.0625 8.26562", | |
"Q6.59375 17.9688 6.59375 36.375", | |
"Q6.59375 54.8281 13.0625 64.5156", | |
"Q19.5312 74.2188 31.7812 74.2188\" id=\"BitstreamVeraSans-Roman-30\"/>", | |
" </defs>", | |
" <g transform=\"translate(31.23984375 250.18)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_2\">", | |
" <g id=\"line2d_4\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"81.5879464286\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_5\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"81.5879464286\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_2\">", | |
" <!-- 5 -->", | |
" <defs>", | |
" <path d=\"", | |
"M10.7969 72.9062", | |
"L49.5156 72.9062", | |
"L49.5156 64.5938", | |
"L19.8281 64.5938", | |
"L19.8281 46.7344", | |
"Q21.9688 47.4688 24.1094 47.8281", | |
"Q26.2656 48.1875 28.4219 48.1875", | |
"Q40.625 48.1875 47.75 41.5", | |
"Q54.8906 34.8125 54.8906 23.3906", | |
"Q54.8906 11.625 47.5625 5.09375", | |
"Q40.2344 -1.42188 26.9062 -1.42188", | |
"Q22.3125 -1.42188 17.5469 -0.640625", | |
"Q12.7969 0.140625 7.71875 1.70312", | |
"L7.71875 11.625", | |
"Q12.1094 9.23438 16.7969 8.0625", | |
"Q21.4844 6.89062 26.7031 6.89062", | |
"Q35.1562 6.89062 40.0781 11.3281", | |
"Q45.0156 15.7656 45.0156 23.3906", | |
"Q45.0156 31 40.0781 35.4375", | |
"Q35.1562 39.8906 26.7031 39.8906", | |
"Q22.75 39.8906 18.8125 39.0156", | |
"Q14.8906 38.1406 10.7969 36.2812", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-35\"/>", | |
" </defs>", | |
" <g transform=\"translate(79.2293526786 250.04875)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-35\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_3\">", | |
" <g id=\"line2d_6\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"129.416517857\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_7\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"129.416517857\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_3\">", | |
" <!-- 10 -->", | |
" <defs>", | |
" <path d=\"", | |
"M12.4062 8.29688", | |
"L28.5156 8.29688", | |
"L28.5156 63.9219", | |
"L10.9844 60.4062", | |
"L10.9844 69.3906", | |
"L28.4219 72.9062", | |
"L38.2812 72.9062", | |
"L38.2812 8.29688", | |
"L54.3906 8.29688", | |
"L54.3906 0", | |
"L12.4062 0", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-31\"/>", | |
" </defs>", | |
" <g transform=\"translate(123.935267857 250.18)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-31\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_4\">", | |
" <g id=\"line2d_8\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"177.245089286\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_9\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"177.245089286\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_4\">", | |
" <!-- 15 -->", | |
" <g transform=\"translate(171.868526786 250.04875)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-31\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-35\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_5\">", | |
" <g id=\"line2d_10\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"225.073660714\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_11\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"225.073660714\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_5\">", | |
" <!-- 20 -->", | |
" <defs>", | |
" <path d=\"", | |
"M19.1875 8.29688", | |
"L53.6094 8.29688", | |
"L53.6094 0", | |
"L7.32812 0", | |
"L7.32812 8.29688", | |
"Q12.9375 14.1094 22.625 23.8906", | |
"Q32.3281 33.6875 34.8125 36.5312", | |
"Q39.5469 41.8438 41.4219 45.5312", | |
"Q43.3125 49.2188 43.3125 52.7812", | |
"Q43.3125 58.5938 39.2344 62.25", | |
"Q35.1562 65.9219 28.6094 65.9219", | |
"Q23.9688 65.9219 18.8125 64.3125", | |
"Q13.6719 62.7031 7.8125 59.4219", | |
"L7.8125 69.3906", | |
"Q13.7656 71.7812 18.9375 73", | |
"Q24.125 74.2188 28.4219 74.2188", | |
"Q39.75 74.2188 46.4844 68.5469", | |
"Q53.2188 62.8906 53.2188 53.4219", | |
"Q53.2188 48.9219 51.5312 44.8906", | |
"Q49.8594 40.875 45.4062 35.4062", | |
"Q44.1875 33.9844 37.6406 27.2188", | |
"Q31.1094 20.4531 19.1875 8.29688\" id=\"BitstreamVeraSans-Roman-32\"/>", | |
" </defs>", | |
" <g transform=\"translate(219.409598214 250.18)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-32\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_6\">", | |
" <g id=\"line2d_12\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"272.902232143\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_13\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"272.902232143\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_6\">", | |
" <!-- 25 -->", | |
" <g transform=\"translate(267.342857143 250.18)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-32\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-35\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_7\">", | |
" <g id=\"line2d_14\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"320.730803571\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_15\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"320.730803571\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_7\">", | |
" <!-- 30 -->", | |
" <defs>", | |
" <path d=\"", | |
"M40.5781 39.3125", | |
"Q47.6562 37.7969 51.625 33", | |
"Q55.6094 28.2188 55.6094 21.1875", | |
"Q55.6094 10.4062 48.1875 4.48438", | |
"Q40.7656 -1.42188 27.0938 -1.42188", | |
"Q22.5156 -1.42188 17.6562 -0.515625", | |
"Q12.7969 0.390625 7.625 2.20312", | |
"L7.625 11.7188", | |
"Q11.7188 9.32812 16.5938 8.10938", | |
"Q21.4844 6.89062 26.8125 6.89062", | |
"Q36.0781 6.89062 40.9375 10.5469", | |
"Q45.7969 14.2031 45.7969 21.1875", | |
"Q45.7969 27.6406 41.2812 31.2656", | |
"Q36.7656 34.9062 28.7188 34.9062", | |
"L20.2188 34.9062", | |
"L20.2188 43.0156", | |
"L29.1094 43.0156", | |
"Q36.375 43.0156 40.2344 45.9219", | |
"Q44.0938 48.8281 44.0938 54.2969", | |
"Q44.0938 59.9062 40.1094 62.9062", | |
"Q36.1406 65.9219 28.7188 65.9219", | |
"Q24.6562 65.9219 20.0156 65.0312", | |
"Q15.375 64.1562 9.8125 62.3125", | |
"L9.8125 71.0938", | |
"Q15.4375 72.6562 20.3438 73.4375", | |
"Q25.25 74.2188 29.5938 74.2188", | |
"Q40.8281 74.2188 47.3594 69.1094", | |
"Q53.9062 64.0156 53.9062 55.3281", | |
"Q53.9062 49.2656 50.4375 45.0938", | |
"Q46.9688 40.9219 40.5781 39.3125\" id=\"BitstreamVeraSans-Roman-33\"/>", | |
" </defs>", | |
" <g transform=\"translate(315.081584821 250.18)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-33\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_8\">", | |
" <g id=\"line2d_16\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.559375\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_17\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.559375\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_8\">", | |
" <!-- 35 -->", | |
" <g transform=\"translate(363.01484375 250.18)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-33\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-35\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"matplotlib.axis_2\">", | |
" <g id=\"ytick_1\">", | |
" <g id=\"line2d_18\">", | |
" <defs>", | |
" <path d=\"", | |
"M0 0", | |
"L4 0\" id=\"mc8fcea1516\" style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\"/>", | |
" </defs>", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.759375\" xlink:href=\"#mc8fcea1516\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_19\">", | |
" <defs>", | |
" <path d=\"", | |
"M0 0", | |
"L-4 0\" id=\"m0d5b0a6425\" style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\"/>", | |
" </defs>", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.559375\" xlink:href=\"#m0d5b0a6425\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_9\">", | |
" <!-- \u22121.0 -->", | |
" <defs>", | |
" <path d=\"", | |
"M10.5938 35.5", | |
"L73.1875 35.5", | |
"L73.1875 27.2031", | |
"L10.5938 27.2031", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-2212\"/>", | |
" <path d=\"", | |
"M10.6875 12.4062", | |
"L21 12.4062", | |
"L21 0", | |
"L10.6875 0", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-2e\"/>", | |
" </defs>", | |
" <g transform=\"translate(7.2 242.39796875)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-2212\"/>", | |
" <use x=\"83.7890625\" xlink:href=\"#BitstreamVeraSans-Roman-31\"/>", | |
" <use x=\"147.412109375\" xlink:href=\"#BitstreamVeraSans-Roman-2e\"/>", | |
" <use x=\"179.19921875\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"ytick_2\">", | |
" <g id=\"line2d_20\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.759375\" xlink:href=\"#mc8fcea1516\" y=\"184.398125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_21\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.559375\" xlink:href=\"#m0d5b0a6425\" y=\"184.398125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_10\">", | |
" <!-- \u22120.5 -->", | |
" <g transform=\"translate(7.409375 188.03796875)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-2212\"/>", | |
" <use x=\"83.7890625\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" <use x=\"147.412109375\" xlink:href=\"#BitstreamVeraSans-Roman-2e\"/>", | |
" <use x=\"179.19921875\" xlink:href=\"#BitstreamVeraSans-Roman-35\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"ytick_3\">", | |
" <g id=\"line2d_22\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.759375\" xlink:href=\"#mc8fcea1516\" y=\"130.038125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_23\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.559375\" xlink:href=\"#m0d5b0a6425\" y=\"130.038125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_11\">", | |
" <!-- 0.0 -->", | |
" <g transform=\"translate(15.1796875 133.67796875)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-2e\"/>", | |
" <use x=\"95.41015625\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"ytick_4\">", | |
" <g id=\"line2d_24\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.759375\" xlink:href=\"#mc8fcea1516\" y=\"75.678125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_25\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.559375\" xlink:href=\"#m0d5b0a6425\" y=\"75.678125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_12\">", | |
" <!-- 0.5 -->", | |
" <g transform=\"translate(15.3890625 79.31796875)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-2e\"/>", | |
" <use x=\"95.41015625\" xlink:href=\"#BitstreamVeraSans-Roman-35\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"ytick_5\">", | |
" <g id=\"line2d_26\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.759375\" xlink:href=\"#mc8fcea1516\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_27\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.559375\" xlink:href=\"#m0d5b0a6425\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_13\">", | |
" <!-- 1.0 -->", | |
" <g transform=\"translate(15.61875 24.95796875)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-31\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-2e\"/>", | |
" <use x=\"95.41015625\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"patch_3\">", | |
" <path d=\"", | |
"M33.7594 21.3181", | |
"L368.559 21.3181\" style=\"fill:none;stroke:#000000;\"/>", | |
" </g>", | |
" <g id=\"patch_4\">", | |
" <path d=\"", | |
"M368.559 238.758", | |
"L368.559 21.3181\" style=\"fill:none;stroke:#000000;\"/>", | |
" </g>", | |
" <g id=\"patch_5\">", | |
" <path d=\"", | |
"M33.7594 238.758", | |
"L368.559 238.758\" style=\"fill:none;stroke:#000000;\"/>", | |
" </g>", | |
" <g id=\"patch_6\">", | |
" <path d=\"", | |
"M33.7594 238.758", | |
"L33.7594 21.3181\" style=\"fill:none;stroke:#000000;\"/>", | |
" </g>", | |
" <g id=\"text_14\">", | |
" <!-- step 12 (22 points) -->", | |
" <defs>", | |
" <path id=\"BitstreamVeraSans-Roman-20\"/>", | |
" <path d=\"", | |
"M54.8906 33.0156", | |
"L54.8906 0", | |
"L45.9062 0", | |
"L45.9062 32.7188", | |
"Q45.9062 40.4844 42.875 44.3281", | |
"Q39.8438 48.1875 33.7969 48.1875", | |
"Q26.5156 48.1875 22.3125 43.5469", | |
"Q18.1094 38.9219 18.1094 30.9062", | |
"L18.1094 0", | |
"L9.07812 0", | |
"L9.07812 54.6875", | |
"L18.1094 54.6875", | |
"L18.1094 46.1875", | |
"Q21.3438 51.125 25.7031 53.5625", | |
"Q30.0781 56 35.7969 56", | |
"Q45.2188 56 50.0469 50.1719", | |
"Q54.8906 44.3438 54.8906 33.0156\" id=\"BitstreamVeraSans-Roman-6e\"/>", | |
" <path d=\"", | |
"M31 75.875", | |
"Q24.4688 64.6562 21.2812 53.6562", | |
"Q18.1094 42.6719 18.1094 31.3906", | |
"Q18.1094 20.125 21.3125 9.0625", | |
"Q24.5156 -2 31 -13.1875", | |
"L23.1875 -13.1875", | |
"Q15.875 -1.70312 12.2344 9.375", | |
"Q8.59375 20.4531 8.59375 31.3906", | |
"Q8.59375 42.2812 12.2031 53.3125", | |
"Q15.8281 64.3594 23.1875 75.875", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-28\"/>", | |
" <path d=\"", | |
"M30.6094 48.3906", | |
"Q23.3906 48.3906 19.1875 42.75", | |
"Q14.9844 37.1094 14.9844 27.2969", | |
"Q14.9844 17.4844 19.1562 11.8438", | |
"Q23.3438 6.20312 30.6094 6.20312", | |
"Q37.7969 6.20312 41.9844 11.8594", | |
"Q46.1875 17.5312 46.1875 27.2969", | |
"Q46.1875 37.0156 41.9844 42.7031", | |
"Q37.7969 48.3906 30.6094 48.3906", | |
"M30.6094 56", | |
"Q42.3281 56 49.0156 48.375", | |
"Q55.7188 40.7656 55.7188 27.2969", | |
"Q55.7188 13.875 49.0156 6.21875", | |
"Q42.3281 -1.42188 30.6094 -1.42188", | |
"Q18.8438 -1.42188 12.1719 6.21875", | |
"Q5.51562 13.875 5.51562 27.2969", | |
"Q5.51562 40.7656 12.1719 48.375", | |
"Q18.8438 56 30.6094 56\" id=\"BitstreamVeraSans-Roman-6f\"/>", | |
" <path d=\"", | |
"M8.01562 75.875", | |
"L15.8281 75.875", | |
"Q23.1406 64.3594 26.7812 53.3125", | |
"Q30.4219 42.2812 30.4219 31.3906", | |
"Q30.4219 20.4531 26.7812 9.375", | |
"Q23.1406 -1.70312 15.8281 -13.1875", | |
"L8.01562 -13.1875", | |
"Q14.5 -2 17.7031 9.0625", | |
"Q20.9062 20.125 20.9062 31.3906", | |
"Q20.9062 42.6719 17.7031 53.6562", | |
"Q14.5 64.6562 8.01562 75.875\" id=\"BitstreamVeraSans-Roman-29\"/>", | |
" <path d=\"", | |
"M9.42188 54.6875", | |
"L18.4062 54.6875", | |
"L18.4062 0", | |
"L9.42188 0", | |
"z", | |
"", | |
"M9.42188 75.9844", | |
"L18.4062 75.9844", | |
"L18.4062 64.5938", | |
"L9.42188 64.5938", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-69\"/>", | |
" <path d=\"", | |
"M56.2031 29.5938", | |
"L56.2031 25.2031", | |
"L14.8906 25.2031", | |
"Q15.4844 15.9219 20.4844 11.0625", | |
"Q25.4844 6.20312 34.4219 6.20312", | |
"Q39.5938 6.20312 44.4531 7.46875", | |
"Q49.3125 8.73438 54.1094 11.2812", | |
"L54.1094 2.78125", | |
"Q49.2656 0.734375 44.1875 -0.34375", | |
"Q39.1094 -1.42188 33.8906 -1.42188", | |
"Q20.7969 -1.42188 13.1562 6.1875", | |
"Q5.51562 13.8125 5.51562 26.8125", | |
"Q5.51562 40.2344 12.7656 48.1094", | |
"Q20.0156 56 32.3281 56", | |
"Q43.3594 56 49.7812 48.8906", | |
"Q56.2031 41.7969 56.2031 29.5938", | |
"M47.2188 32.2344", | |
"Q47.125 39.5938 43.0938 43.9844", | |
"Q39.0625 48.3906 32.4219 48.3906", | |
"Q24.9062 48.3906 20.3906 44.1406", | |
"Q15.875 39.8906 15.1875 32.1719", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-65\"/>", | |
" <path d=\"", | |
"M18.3125 70.2188", | |
"L18.3125 54.6875", | |
"L36.8125 54.6875", | |
"L36.8125 47.7031", | |
"L18.3125 47.7031", | |
"L18.3125 18.0156", | |
"Q18.3125 11.3281 20.1406 9.42188", | |
"Q21.9688 7.51562 27.5938 7.51562", | |
"L36.8125 7.51562", | |
"L36.8125 0", | |
"L27.5938 0", | |
"Q17.1875 0 13.2344 3.875", | |
"Q9.28125 7.76562 9.28125 18.0156", | |
"L9.28125 47.7031", | |
"L2.6875 47.7031", | |
"L2.6875 54.6875", | |
"L9.28125 54.6875", | |
"L9.28125 70.2188", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-74\"/>", | |
" <path d=\"", | |
"M44.2812 53.0781", | |
"L44.2812 44.5781", | |
"Q40.4844 46.5312 36.375 47.5", | |
"Q32.2812 48.4844 27.875 48.4844", | |
"Q21.1875 48.4844 17.8438 46.4375", | |
"Q14.5 44.3906 14.5 40.2812", | |
"Q14.5 37.1562 16.8906 35.375", | |
"Q19.2812 33.5938 26.5156 31.9844", | |
"L29.5938 31.2969", | |
"Q39.1562 29.25 43.1875 25.5156", | |
"Q47.2188 21.7812 47.2188 15.0938", | |
"Q47.2188 7.46875 41.1875 3.01562", | |
"Q35.1562 -1.42188 24.6094 -1.42188", | |
"Q20.2188 -1.42188 15.4531 -0.5625", | |
"Q10.6875 0.296875 5.42188 2", | |
"L5.42188 11.2812", | |
"Q10.4062 8.6875 15.2344 7.39062", | |
"Q20.0625 6.10938 24.8125 6.10938", | |
"Q31.1562 6.10938 34.5625 8.28125", | |
"Q37.9844 10.4531 37.9844 14.4062", | |
"Q37.9844 18.0625 35.5156 20.0156", | |
"Q33.0625 21.9688 24.7031 23.7812", | |
"L21.5781 24.5156", | |
"Q13.2344 26.2656 9.51562 29.9062", | |
"Q5.8125 33.5469 5.8125 39.8906", | |
"Q5.8125 47.6094 11.2812 51.7969", | |
"Q16.75 56 26.8125 56", | |
"Q31.7812 56 36.1719 55.2656", | |
"Q40.5781 54.5469 44.2812 53.0781\" id=\"BitstreamVeraSans-Roman-73\"/>", | |
" <path d=\"", | |
"M18.1094 8.20312", | |
"L18.1094 -20.7969", | |
"L9.07812 -20.7969", | |
"L9.07812 54.6875", | |
"L18.1094 54.6875", | |
"L18.1094 46.3906", | |
"Q20.9531 51.2656 25.2656 53.625", | |
"Q29.5938 56 35.5938 56", | |
"Q45.5625 56 51.7812 48.0938", | |
"Q58.0156 40.1875 58.0156 27.2969", | |
"Q58.0156 14.4062 51.7812 6.48438", | |
"Q45.5625 -1.42188 35.5938 -1.42188", | |
"Q29.5938 -1.42188 25.2656 0.953125", | |
"Q20.9531 3.32812 18.1094 8.20312", | |
"M48.6875 27.2969", | |
"Q48.6875 37.2031 44.6094 42.8438", | |
"Q40.5312 48.4844 33.4062 48.4844", | |
"Q26.2656 48.4844 22.1875 42.8438", | |
"Q18.1094 37.2031 18.1094 27.2969", | |
"Q18.1094 17.3906 22.1875 11.75", | |
"Q26.2656 6.10938 33.4062 6.10938", | |
"Q40.5312 6.10938 44.6094 11.75", | |
"Q48.6875 17.3906 48.6875 27.2969\" id=\"BitstreamVeraSans-Roman-70\"/>", | |
" </defs>", | |
" <g transform=\"translate(144.59625 16.318125)scale(0.12 -0.12)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-73\"/>", | |
" <use x=\"52.099609375\" xlink:href=\"#BitstreamVeraSans-Roman-74\"/>", | |
" <use x=\"91.30859375\" xlink:href=\"#BitstreamVeraSans-Roman-65\"/>", | |
" <use x=\"152.83203125\" xlink:href=\"#BitstreamVeraSans-Roman-70\"/>", | |
" <use x=\"216.30859375\" xlink:href=\"#BitstreamVeraSans-Roman-20\"/>", | |
" <use x=\"248.095703125\" xlink:href=\"#BitstreamVeraSans-Roman-31\"/>", | |
" <use x=\"311.71875\" xlink:href=\"#BitstreamVeraSans-Roman-32\"/>", | |
" <use x=\"375.341796875\" xlink:href=\"#BitstreamVeraSans-Roman-20\"/>", | |
" <use x=\"407.12890625\" xlink:href=\"#BitstreamVeraSans-Roman-28\"/>", | |
" <use x=\"446.142578125\" xlink:href=\"#BitstreamVeraSans-Roman-32\"/>", | |
" <use x=\"509.765625\" xlink:href=\"#BitstreamVeraSans-Roman-32\"/>", | |
" <use x=\"573.388671875\" xlink:href=\"#BitstreamVeraSans-Roman-20\"/>", | |
" <use x=\"605.17578125\" xlink:href=\"#BitstreamVeraSans-Roman-70\"/>", | |
" <use x=\"668.65234375\" xlink:href=\"#BitstreamVeraSans-Roman-6f\"/>", | |
" <use x=\"729.833984375\" xlink:href=\"#BitstreamVeraSans-Roman-69\"/>", | |
" <use x=\"757.6171875\" xlink:href=\"#BitstreamVeraSans-Roman-6e\"/>", | |
" <use x=\"820.99609375\" xlink:href=\"#BitstreamVeraSans-Roman-74\"/>", | |
" <use x=\"860.205078125\" xlink:href=\"#BitstreamVeraSans-Roman-73\"/>", | |
" <use x=\"912.3046875\" xlink:href=\"#BitstreamVeraSans-Roman-29\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <defs>", | |
" <clipPath id=\"pa7fa3dd341\">", | |
" <rect height=\"217.44\" width=\"334.8\" x=\"33.759375\" y=\"21.318125\"/>", | |
" </clipPath>", | |
" </defs>", | |
"</svg>", | |
"" | |
], | |
"text": [ | |
"<matplotlib.figure.Figure at 0xab6e38c>" | |
] | |
} | |
], | |
"prompt_number": 12 | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"And we can stop the background thread with a simple call:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"%px sim_thread.stop()" | |
], | |
"language": "python", | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"Parallel execution on engine(s): [0, 1]", | |
"" | |
] | |
} | |
], | |
"prompt_number": 13 | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"And hopefully all the engines are on the same step at the end:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"%px sim.step" | |
], | |
"language": "python", | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"Parallel execution on engine(s): [0, 1]", | |
"" | |
] | |
}, | |
{ | |
"output_type": "display_data", | |
"text": [ | |
"[0] \u001b[0;31mOut[46]: \u001b[0m15" | |
] | |
}, | |
{ | |
"output_type": "display_data", | |
"text": [ | |
"[1] \u001b[0;31mOut[46]: \u001b[0m15" | |
] | |
} | |
], | |
"prompt_number": 14 | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"And hopefully they are all stopped, as well:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"%px sim_thread.is_alive()" | |
], | |
"language": "python", | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"Parallel execution on engine(s): [0, 1]", | |
"" | |
] | |
}, | |
{ | |
"output_type": "display_data", | |
"text": [ | |
"[0] \u001b[0;31mOut[47]: \u001b[0mFalse" | |
] | |
}, | |
{ | |
"output_type": "display_data", | |
"text": [ | |
"[1] \u001b[0;31mOut[47]: \u001b[0mFalse" | |
] | |
} | |
], | |
"prompt_number": 15 | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"And we can continue to advance the sim manually, as well:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"for i in range(5):", | |
" %px sim.advance()", | |
" check_y()", | |
" sys.stdout.flush()", | |
"" | |
], | |
"language": "python", | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"svg": [ | |
"<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>", | |
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"", | |
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">", | |
"<!-- Created with matplotlib (http://matplotlib.sourceforge.net/) -->", | |
"<svg height=\"257pt\" version=\"1.1\" viewBox=\"0 0 381 257\" width=\"381pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">", | |
" <defs>", | |
" <style type=\"text/css\">", | |
"*{stroke-linecap:square;stroke-linejoin:round;}", | |
" </style>", | |
" </defs>", | |
" <g id=\"figure_1\">", | |
" <g id=\"patch_1\">", | |
" <path d=\"", | |
"M1.22125e-15 257.522", | |
"L381.304 257.522", | |
"L381.304 0", | |
"L1.22125e-15 0", | |
"z", | |
"\" style=\"fill:#ffffff;\"/>", | |
" </g>", | |
" <g id=\"axes_1\">", | |
" <g id=\"patch_2\">", | |
" <path d=\"", | |
"M33.7594 238.758", | |
"L368.559 238.758", | |
"L368.559 21.3181", | |
"L33.7594 21.3181", | |
"z", | |
"\" style=\"fill:#ffffff;\"/>", | |
" </g>", | |
" <g id=\"line2d_1\">", | |
" <path clip-path=\"url(#pa7fa3dd341)\" d=\"", | |
"M33.7594 130.038", | |
"L41.4649 51.629", | |
"L49.1704 21.4063", | |
"L56.876 57.9434", | |
"L64.5815 138.786", | |
"L72.287 214.253", | |
"L79.9926 237.965", | |
"L87.6981 195.351", | |
"L95.4036 112.598", | |
"L103.109 40.5633", | |
"L110.815 23.5153", | |
"L118.52 71.931", | |
"L126.226 156.057", | |
"L133.931 224.192", | |
"L141.637 234.466", | |
"L149.342 180.563", | |
"L157.048 95.61", | |
"L164.753 31.815", | |
"L172.459 28.3832", | |
"L180.164 87.4235", | |
"L187.87 172.653", | |
"L195.576 231.693", | |
"L203.281 228.261", | |
"L210.987 164.466", | |
"L218.692 79.5134", | |
"L226.398 25.6106", | |
"L234.103 35.8838", | |
"L241.809 104.02", | |
"L249.514 188.145", | |
"L257.22 236.561", | |
"L264.925 219.513", | |
"L272.631 147.478", | |
"L280.336 64.7254", | |
"L288.042 22.1108", | |
"L295.747 45.8231", | |
"L303.453 121.29", | |
"L311.159 202.133", | |
"L318.864 238.67", | |
"L326.57 208.447", | |
"L334.275 130.038\" style=\"fill:none;stroke:#0000ff;\"/>", | |
" <defs>", | |
" <path d=\"", | |
"M0 3", | |
"C0.795609 3 1.55874 2.6839 2.12132 2.12132", | |
"C2.6839 1.55874 3 0.795609 3 0", | |
"C3 -0.795609 2.6839 -1.55874 2.12132 -2.12132", | |
"C1.55874 -2.6839 0.795609 -3 0 -3", | |
"C-0.795609 -3 -1.55874 -2.6839 -2.12132 -2.12132", | |
"C-2.6839 -1.55874 -3 -0.795609 -3 0", | |
"C-3 0.795609 -2.6839 1.55874 -2.12132 2.12132", | |
"C-1.55874 2.6839 -0.795609 3 0 3", | |
"z", | |
"\" id=\"m0f54036a79\" style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\"/>", | |
" </defs>", | |
" <g clip-path=\"url(#pa7fa3dd341)\">", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.759375\" xlink:href=\"#m0f54036a79\" y=\"130.038125\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"41.4649077503\" xlink:href=\"#m0f54036a79\" y=\"51.6289949248\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"49.1704405007\" xlink:href=\"#m0f54036a79\" y=\"21.4062971188\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"56.875973251\" xlink:href=\"#m0f54036a79\" y=\"57.9434295961\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"64.5815060014\" xlink:href=\"#m0f54036a79\" y=\"138.786450351\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"72.2870387517\" xlink:href=\"#m0f54036a79\" y=\"214.25317645\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"79.9925715021\" xlink:href=\"#m0f54036a79\" y=\"237.965433792\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"87.6981042524\" xlink:href=\"#m0f54036a79\" y=\"195.350823968\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"95.4036370027\" xlink:href=\"#m0f54036a79\" y=\"112.598210545\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"103.109169753\" xlink:href=\"#m0f54036a79\" y=\"40.5633191\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"110.814702503\" xlink:href=\"#m0f54036a79\" y=\"23.51528531\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"118.520235254\" xlink:href=\"#m0f54036a79\" y=\"71.9310003834\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"126.225768004\" xlink:href=\"#m0f54036a79\" y=\"156.056524021\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"133.931300754\" xlink:href=\"#m0f54036a79\" y=\"224.192406899\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"141.636833505\" xlink:href=\"#m0f54036a79\" y=\"234.465654097\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"149.342366255\" xlink:href=\"#m0f54036a79\" y=\"180.562828265\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"157.047899005\" xlink:href=\"#m0f54036a79\" y=\"95.6099807139\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"164.753431756\" xlink:href=\"#m0f54036a79\" y=\"31.8149937492\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"172.458964506\" xlink:href=\"#m0f54036a79\" y=\"28.3831590952\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"180.164497257\" xlink:href=\"#m0f54036a79\" y=\"87.423515176\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"187.870030007\" xlink:href=\"#m0f54036a79\" y=\"172.652734824\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"195.575562757\" xlink:href=\"#m0f54036a79\" y=\"231.693090905\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"203.281095508\" xlink:href=\"#m0f54036a79\" y=\"228.261256251\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"210.986628258\" xlink:href=\"#m0f54036a79\" y=\"164.466269286\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"218.692161008\" xlink:href=\"#m0f54036a79\" y=\"79.5134217354\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"226.397693759\" xlink:href=\"#m0f54036a79\" y=\"25.6105959034\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"234.103226509\" xlink:href=\"#m0f54036a79\" y=\"35.8838431006\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"241.808759259\" xlink:href=\"#m0f54036a79\" y=\"104.019725979\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"249.51429201\" xlink:href=\"#m0f54036a79\" y=\"188.145249617\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"257.21982476\" xlink:href=\"#m0f54036a79\" y=\"236.56096469\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"264.92535751\" xlink:href=\"#m0f54036a79\" y=\"219.5129309\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"272.630890261\" xlink:href=\"#m0f54036a79\" y=\"147.478039455\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"280.336423011\" xlink:href=\"#m0f54036a79\" y=\"64.725426032\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"288.041955761\" xlink:href=\"#m0f54036a79\" y=\"22.1108162081\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"295.747488512\" xlink:href=\"#m0f54036a79\" y=\"45.8230735501\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"303.453021262\" xlink:href=\"#m0f54036a79\" y=\"121.289799649\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"311.158554012\" xlink:href=\"#m0f54036a79\" y=\"202.132820404\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"318.864086763\" xlink:href=\"#m0f54036a79\" y=\"238.669952881\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"326.569619513\" xlink:href=\"#m0f54036a79\" y=\"208.447255075\"/>", | |
" <use style=\"fill:#0000ff;stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"334.275152263\" xlink:href=\"#m0f54036a79\" y=\"130.038125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"matplotlib.axis_1\">", | |
" <g id=\"xtick_1\">", | |
" <g id=\"line2d_2\">", | |
" <defs>", | |
" <path d=\"", | |
"M0 0", | |
"L0 -4\" id=\"mcb557df647\" style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\"/>", | |
" </defs>", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.759375\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_3\">", | |
" <defs>", | |
" <path d=\"", | |
"M0 0", | |
"L0 4\" id=\"mdad270ee8e\" style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\"/>", | |
" </defs>", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.759375\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_1\">", | |
" <!-- 0 -->", | |
" <defs>", | |
" <path d=\"", | |
"M31.7812 66.4062", | |
"Q24.1719 66.4062 20.3281 58.9062", | |
"Q16.5 51.4219 16.5 36.375", | |
"Q16.5 21.3906 20.3281 13.8906", | |
"Q24.1719 6.39062 31.7812 6.39062", | |
"Q39.4531 6.39062 43.2812 13.8906", | |
"Q47.125 21.3906 47.125 36.375", | |
"Q47.125 51.4219 43.2812 58.9062", | |
"Q39.4531 66.4062 31.7812 66.4062", | |
"M31.7812 74.2188", | |
"Q44.0469 74.2188 50.5156 64.5156", | |
"Q56.9844 54.8281 56.9844 36.375", | |
"Q56.9844 17.9688 50.5156 8.26562", | |
"Q44.0469 -1.42188 31.7812 -1.42188", | |
"Q19.5312 -1.42188 13.0625 8.26562", | |
"Q6.59375 17.9688 6.59375 36.375", | |
"Q6.59375 54.8281 13.0625 64.5156", | |
"Q19.5312 74.2188 31.7812 74.2188\" id=\"BitstreamVeraSans-Roman-30\"/>", | |
" </defs>", | |
" <g transform=\"translate(31.23984375 250.18)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_2\">", | |
" <g id=\"line2d_4\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"81.5879464286\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_5\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"81.5879464286\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_2\">", | |
" <!-- 5 -->", | |
" <defs>", | |
" <path d=\"", | |
"M10.7969 72.9062", | |
"L49.5156 72.9062", | |
"L49.5156 64.5938", | |
"L19.8281 64.5938", | |
"L19.8281 46.7344", | |
"Q21.9688 47.4688 24.1094 47.8281", | |
"Q26.2656 48.1875 28.4219 48.1875", | |
"Q40.625 48.1875 47.75 41.5", | |
"Q54.8906 34.8125 54.8906 23.3906", | |
"Q54.8906 11.625 47.5625 5.09375", | |
"Q40.2344 -1.42188 26.9062 -1.42188", | |
"Q22.3125 -1.42188 17.5469 -0.640625", | |
"Q12.7969 0.140625 7.71875 1.70312", | |
"L7.71875 11.625", | |
"Q12.1094 9.23438 16.7969 8.0625", | |
"Q21.4844 6.89062 26.7031 6.89062", | |
"Q35.1562 6.89062 40.0781 11.3281", | |
"Q45.0156 15.7656 45.0156 23.3906", | |
"Q45.0156 31 40.0781 35.4375", | |
"Q35.1562 39.8906 26.7031 39.8906", | |
"Q22.75 39.8906 18.8125 39.0156", | |
"Q14.8906 38.1406 10.7969 36.2812", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-35\"/>", | |
" </defs>", | |
" <g transform=\"translate(79.2293526786 250.04875)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-35\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_3\">", | |
" <g id=\"line2d_6\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"129.416517857\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_7\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"129.416517857\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_3\">", | |
" <!-- 10 -->", | |
" <defs>", | |
" <path d=\"", | |
"M12.4062 8.29688", | |
"L28.5156 8.29688", | |
"L28.5156 63.9219", | |
"L10.9844 60.4062", | |
"L10.9844 69.3906", | |
"L28.4219 72.9062", | |
"L38.2812 72.9062", | |
"L38.2812 8.29688", | |
"L54.3906 8.29688", | |
"L54.3906 0", | |
"L12.4062 0", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-31\"/>", | |
" </defs>", | |
" <g transform=\"translate(123.935267857 250.18)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-31\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_4\">", | |
" <g id=\"line2d_8\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"177.245089286\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_9\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"177.245089286\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_4\">", | |
" <!-- 15 -->", | |
" <g transform=\"translate(171.868526786 250.04875)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-31\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-35\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_5\">", | |
" <g id=\"line2d_10\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"225.073660714\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_11\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"225.073660714\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_5\">", | |
" <!-- 20 -->", | |
" <defs>", | |
" <path d=\"", | |
"M19.1875 8.29688", | |
"L53.6094 8.29688", | |
"L53.6094 0", | |
"L7.32812 0", | |
"L7.32812 8.29688", | |
"Q12.9375 14.1094 22.625 23.8906", | |
"Q32.3281 33.6875 34.8125 36.5312", | |
"Q39.5469 41.8438 41.4219 45.5312", | |
"Q43.3125 49.2188 43.3125 52.7812", | |
"Q43.3125 58.5938 39.2344 62.25", | |
"Q35.1562 65.9219 28.6094 65.9219", | |
"Q23.9688 65.9219 18.8125 64.3125", | |
"Q13.6719 62.7031 7.8125 59.4219", | |
"L7.8125 69.3906", | |
"Q13.7656 71.7812 18.9375 73", | |
"Q24.125 74.2188 28.4219 74.2188", | |
"Q39.75 74.2188 46.4844 68.5469", | |
"Q53.2188 62.8906 53.2188 53.4219", | |
"Q53.2188 48.9219 51.5312 44.8906", | |
"Q49.8594 40.875 45.4062 35.4062", | |
"Q44.1875 33.9844 37.6406 27.2188", | |
"Q31.1094 20.4531 19.1875 8.29688\" id=\"BitstreamVeraSans-Roman-32\"/>", | |
" </defs>", | |
" <g transform=\"translate(219.409598214 250.18)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-32\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_6\">", | |
" <g id=\"line2d_12\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"272.902232143\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_13\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"272.902232143\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_6\">", | |
" <!-- 25 -->", | |
" <g transform=\"translate(267.342857143 250.18)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-32\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-35\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_7\">", | |
" <g id=\"line2d_14\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"320.730803571\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_15\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"320.730803571\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_7\">", | |
" <!-- 30 -->", | |
" <defs>", | |
" <path d=\"", | |
"M40.5781 39.3125", | |
"Q47.6562 37.7969 51.625 33", | |
"Q55.6094 28.2188 55.6094 21.1875", | |
"Q55.6094 10.4062 48.1875 4.48438", | |
"Q40.7656 -1.42188 27.0938 -1.42188", | |
"Q22.5156 -1.42188 17.6562 -0.515625", | |
"Q12.7969 0.390625 7.625 2.20312", | |
"L7.625 11.7188", | |
"Q11.7188 9.32812 16.5938 8.10938", | |
"Q21.4844 6.89062 26.8125 6.89062", | |
"Q36.0781 6.89062 40.9375 10.5469", | |
"Q45.7969 14.2031 45.7969 21.1875", | |
"Q45.7969 27.6406 41.2812 31.2656", | |
"Q36.7656 34.9062 28.7188 34.9062", | |
"L20.2188 34.9062", | |
"L20.2188 43.0156", | |
"L29.1094 43.0156", | |
"Q36.375 43.0156 40.2344 45.9219", | |
"Q44.0938 48.8281 44.0938 54.2969", | |
"Q44.0938 59.9062 40.1094 62.9062", | |
"Q36.1406 65.9219 28.7188 65.9219", | |
"Q24.6562 65.9219 20.0156 65.0312", | |
"Q15.375 64.1562 9.8125 62.3125", | |
"L9.8125 71.0938", | |
"Q15.4375 72.6562 20.3438 73.4375", | |
"Q25.25 74.2188 29.5938 74.2188", | |
"Q40.8281 74.2188 47.3594 69.1094", | |
"Q53.9062 64.0156 53.9062 55.3281", | |
"Q53.9062 49.2656 50.4375 45.0938", | |
"Q46.9688 40.9219 40.5781 39.3125\" id=\"BitstreamVeraSans-Roman-33\"/>", | |
" </defs>", | |
" <g transform=\"translate(315.081584821 250.18)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-33\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"xtick_8\">", | |
" <g id=\"line2d_16\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.559375\" xlink:href=\"#mcb557df647\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_17\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.559375\" xlink:href=\"#mdad270ee8e\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_8\">", | |
" <!-- 35 -->", | |
" <g transform=\"translate(363.01484375 250.18)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-33\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-35\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"matplotlib.axis_2\">", | |
" <g id=\"ytick_1\">", | |
" <g id=\"line2d_18\">", | |
" <defs>", | |
" <path d=\"", | |
"M0 0", | |
"L4 0\" id=\"mc8fcea1516\" style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\"/>", | |
" </defs>", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.759375\" xlink:href=\"#mc8fcea1516\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_19\">", | |
" <defs>", | |
" <path d=\"", | |
"M0 0", | |
"L-4 0\" id=\"m0d5b0a6425\" style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\"/>", | |
" </defs>", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.559375\" xlink:href=\"#m0d5b0a6425\" y=\"238.758125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_9\">", | |
" <!-- \u22121.0 -->", | |
" <defs>", | |
" <path d=\"", | |
"M10.5938 35.5", | |
"L73.1875 35.5", | |
"L73.1875 27.2031", | |
"L10.5938 27.2031", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-2212\"/>", | |
" <path d=\"", | |
"M10.6875 12.4062", | |
"L21 12.4062", | |
"L21 0", | |
"L10.6875 0", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-2e\"/>", | |
" </defs>", | |
" <g transform=\"translate(7.2 242.39796875)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-2212\"/>", | |
" <use x=\"83.7890625\" xlink:href=\"#BitstreamVeraSans-Roman-31\"/>", | |
" <use x=\"147.412109375\" xlink:href=\"#BitstreamVeraSans-Roman-2e\"/>", | |
" <use x=\"179.19921875\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"ytick_2\">", | |
" <g id=\"line2d_20\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.759375\" xlink:href=\"#mc8fcea1516\" y=\"184.398125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_21\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.559375\" xlink:href=\"#m0d5b0a6425\" y=\"184.398125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_10\">", | |
" <!-- \u22120.5 -->", | |
" <g transform=\"translate(7.409375 188.03796875)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-2212\"/>", | |
" <use x=\"83.7890625\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" <use x=\"147.412109375\" xlink:href=\"#BitstreamVeraSans-Roman-2e\"/>", | |
" <use x=\"179.19921875\" xlink:href=\"#BitstreamVeraSans-Roman-35\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"ytick_3\">", | |
" <g id=\"line2d_22\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.759375\" xlink:href=\"#mc8fcea1516\" y=\"130.038125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_23\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.559375\" xlink:href=\"#m0d5b0a6425\" y=\"130.038125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_11\">", | |
" <!-- 0.0 -->", | |
" <g transform=\"translate(15.1796875 133.67796875)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-2e\"/>", | |
" <use x=\"95.41015625\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"ytick_4\">", | |
" <g id=\"line2d_24\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.759375\" xlink:href=\"#mc8fcea1516\" y=\"75.678125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_25\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.559375\" xlink:href=\"#m0d5b0a6425\" y=\"75.678125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_12\">", | |
" <!-- 0.5 -->", | |
" <g transform=\"translate(15.3890625 79.31796875)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-2e\"/>", | |
" <use x=\"95.41015625\" xlink:href=\"#BitstreamVeraSans-Roman-35\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"ytick_5\">", | |
" <g id=\"line2d_26\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"33.759375\" xlink:href=\"#mc8fcea1516\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"line2d_27\">", | |
" <g>", | |
" <use style=\"stroke:#000000;stroke-linecap:butt;stroke-width:0.5;\" x=\"368.559375\" xlink:href=\"#m0d5b0a6425\" y=\"21.318125\"/>", | |
" </g>", | |
" </g>", | |
" <g id=\"text_13\">", | |
" <!-- 1.0 -->", | |
" <g transform=\"translate(15.61875 24.95796875)scale(0.1 -0.1)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-31\"/>", | |
" <use x=\"63.623046875\" xlink:href=\"#BitstreamVeraSans-Roman-2e\"/>", | |
" <use x=\"95.41015625\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <g id=\"patch_3\">", | |
" <path d=\"", | |
"M33.7594 21.3181", | |
"L368.559 21.3181\" style=\"fill:none;stroke:#000000;\"/>", | |
" </g>", | |
" <g id=\"patch_4\">", | |
" <path d=\"", | |
"M368.559 238.758", | |
"L368.559 21.3181\" style=\"fill:none;stroke:#000000;\"/>", | |
" </g>", | |
" <g id=\"patch_5\">", | |
" <path d=\"", | |
"M33.7594 238.758", | |
"L368.559 238.758\" style=\"fill:none;stroke:#000000;\"/>", | |
" </g>", | |
" <g id=\"patch_6\">", | |
" <path d=\"", | |
"M33.7594 238.758", | |
"L33.7594 21.3181\" style=\"fill:none;stroke:#000000;\"/>", | |
" </g>", | |
" <g id=\"text_14\">", | |
" <!-- step 20 (40 points) -->", | |
" <defs>", | |
" <path id=\"BitstreamVeraSans-Roman-20\"/>", | |
" <path d=\"", | |
"M37.7969 64.3125", | |
"L12.8906 25.3906", | |
"L37.7969 25.3906", | |
"z", | |
"", | |
"M35.2031 72.9062", | |
"L47.6094 72.9062", | |
"L47.6094 25.3906", | |
"L58.0156 25.3906", | |
"L58.0156 17.1875", | |
"L47.6094 17.1875", | |
"L47.6094 0", | |
"L37.7969 0", | |
"L37.7969 17.1875", | |
"L4.89062 17.1875", | |
"L4.89062 26.7031", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-34\"/>", | |
" <path d=\"", | |
"M54.8906 33.0156", | |
"L54.8906 0", | |
"L45.9062 0", | |
"L45.9062 32.7188", | |
"Q45.9062 40.4844 42.875 44.3281", | |
"Q39.8438 48.1875 33.7969 48.1875", | |
"Q26.5156 48.1875 22.3125 43.5469", | |
"Q18.1094 38.9219 18.1094 30.9062", | |
"L18.1094 0", | |
"L9.07812 0", | |
"L9.07812 54.6875", | |
"L18.1094 54.6875", | |
"L18.1094 46.1875", | |
"Q21.3438 51.125 25.7031 53.5625", | |
"Q30.0781 56 35.7969 56", | |
"Q45.2188 56 50.0469 50.1719", | |
"Q54.8906 44.3438 54.8906 33.0156\" id=\"BitstreamVeraSans-Roman-6e\"/>", | |
" <path d=\"", | |
"M31 75.875", | |
"Q24.4688 64.6562 21.2812 53.6562", | |
"Q18.1094 42.6719 18.1094 31.3906", | |
"Q18.1094 20.125 21.3125 9.0625", | |
"Q24.5156 -2 31 -13.1875", | |
"L23.1875 -13.1875", | |
"Q15.875 -1.70312 12.2344 9.375", | |
"Q8.59375 20.4531 8.59375 31.3906", | |
"Q8.59375 42.2812 12.2031 53.3125", | |
"Q15.8281 64.3594 23.1875 75.875", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-28\"/>", | |
" <path d=\"", | |
"M30.6094 48.3906", | |
"Q23.3906 48.3906 19.1875 42.75", | |
"Q14.9844 37.1094 14.9844 27.2969", | |
"Q14.9844 17.4844 19.1562 11.8438", | |
"Q23.3438 6.20312 30.6094 6.20312", | |
"Q37.7969 6.20312 41.9844 11.8594", | |
"Q46.1875 17.5312 46.1875 27.2969", | |
"Q46.1875 37.0156 41.9844 42.7031", | |
"Q37.7969 48.3906 30.6094 48.3906", | |
"M30.6094 56", | |
"Q42.3281 56 49.0156 48.375", | |
"Q55.7188 40.7656 55.7188 27.2969", | |
"Q55.7188 13.875 49.0156 6.21875", | |
"Q42.3281 -1.42188 30.6094 -1.42188", | |
"Q18.8438 -1.42188 12.1719 6.21875", | |
"Q5.51562 13.875 5.51562 27.2969", | |
"Q5.51562 40.7656 12.1719 48.375", | |
"Q18.8438 56 30.6094 56\" id=\"BitstreamVeraSans-Roman-6f\"/>", | |
" <path d=\"", | |
"M8.01562 75.875", | |
"L15.8281 75.875", | |
"Q23.1406 64.3594 26.7812 53.3125", | |
"Q30.4219 42.2812 30.4219 31.3906", | |
"Q30.4219 20.4531 26.7812 9.375", | |
"Q23.1406 -1.70312 15.8281 -13.1875", | |
"L8.01562 -13.1875", | |
"Q14.5 -2 17.7031 9.0625", | |
"Q20.9062 20.125 20.9062 31.3906", | |
"Q20.9062 42.6719 17.7031 53.6562", | |
"Q14.5 64.6562 8.01562 75.875\" id=\"BitstreamVeraSans-Roman-29\"/>", | |
" <path d=\"", | |
"M9.42188 54.6875", | |
"L18.4062 54.6875", | |
"L18.4062 0", | |
"L9.42188 0", | |
"z", | |
"", | |
"M9.42188 75.9844", | |
"L18.4062 75.9844", | |
"L18.4062 64.5938", | |
"L9.42188 64.5938", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-69\"/>", | |
" <path d=\"", | |
"M56.2031 29.5938", | |
"L56.2031 25.2031", | |
"L14.8906 25.2031", | |
"Q15.4844 15.9219 20.4844 11.0625", | |
"Q25.4844 6.20312 34.4219 6.20312", | |
"Q39.5938 6.20312 44.4531 7.46875", | |
"Q49.3125 8.73438 54.1094 11.2812", | |
"L54.1094 2.78125", | |
"Q49.2656 0.734375 44.1875 -0.34375", | |
"Q39.1094 -1.42188 33.8906 -1.42188", | |
"Q20.7969 -1.42188 13.1562 6.1875", | |
"Q5.51562 13.8125 5.51562 26.8125", | |
"Q5.51562 40.2344 12.7656 48.1094", | |
"Q20.0156 56 32.3281 56", | |
"Q43.3594 56 49.7812 48.8906", | |
"Q56.2031 41.7969 56.2031 29.5938", | |
"M47.2188 32.2344", | |
"Q47.125 39.5938 43.0938 43.9844", | |
"Q39.0625 48.3906 32.4219 48.3906", | |
"Q24.9062 48.3906 20.3906 44.1406", | |
"Q15.875 39.8906 15.1875 32.1719", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-65\"/>", | |
" <path d=\"", | |
"M18.3125 70.2188", | |
"L18.3125 54.6875", | |
"L36.8125 54.6875", | |
"L36.8125 47.7031", | |
"L18.3125 47.7031", | |
"L18.3125 18.0156", | |
"Q18.3125 11.3281 20.1406 9.42188", | |
"Q21.9688 7.51562 27.5938 7.51562", | |
"L36.8125 7.51562", | |
"L36.8125 0", | |
"L27.5938 0", | |
"Q17.1875 0 13.2344 3.875", | |
"Q9.28125 7.76562 9.28125 18.0156", | |
"L9.28125 47.7031", | |
"L2.6875 47.7031", | |
"L2.6875 54.6875", | |
"L9.28125 54.6875", | |
"L9.28125 70.2188", | |
"z", | |
"\" id=\"BitstreamVeraSans-Roman-74\"/>", | |
" <path d=\"", | |
"M44.2812 53.0781", | |
"L44.2812 44.5781", | |
"Q40.4844 46.5312 36.375 47.5", | |
"Q32.2812 48.4844 27.875 48.4844", | |
"Q21.1875 48.4844 17.8438 46.4375", | |
"Q14.5 44.3906 14.5 40.2812", | |
"Q14.5 37.1562 16.8906 35.375", | |
"Q19.2812 33.5938 26.5156 31.9844", | |
"L29.5938 31.2969", | |
"Q39.1562 29.25 43.1875 25.5156", | |
"Q47.2188 21.7812 47.2188 15.0938", | |
"Q47.2188 7.46875 41.1875 3.01562", | |
"Q35.1562 -1.42188 24.6094 -1.42188", | |
"Q20.2188 -1.42188 15.4531 -0.5625", | |
"Q10.6875 0.296875 5.42188 2", | |
"L5.42188 11.2812", | |
"Q10.4062 8.6875 15.2344 7.39062", | |
"Q20.0625 6.10938 24.8125 6.10938", | |
"Q31.1562 6.10938 34.5625 8.28125", | |
"Q37.9844 10.4531 37.9844 14.4062", | |
"Q37.9844 18.0625 35.5156 20.0156", | |
"Q33.0625 21.9688 24.7031 23.7812", | |
"L21.5781 24.5156", | |
"Q13.2344 26.2656 9.51562 29.9062", | |
"Q5.8125 33.5469 5.8125 39.8906", | |
"Q5.8125 47.6094 11.2812 51.7969", | |
"Q16.75 56 26.8125 56", | |
"Q31.7812 56 36.1719 55.2656", | |
"Q40.5781 54.5469 44.2812 53.0781\" id=\"BitstreamVeraSans-Roman-73\"/>", | |
" <path d=\"", | |
"M18.1094 8.20312", | |
"L18.1094 -20.7969", | |
"L9.07812 -20.7969", | |
"L9.07812 54.6875", | |
"L18.1094 54.6875", | |
"L18.1094 46.3906", | |
"Q20.9531 51.2656 25.2656 53.625", | |
"Q29.5938 56 35.5938 56", | |
"Q45.5625 56 51.7812 48.0938", | |
"Q58.0156 40.1875 58.0156 27.2969", | |
"Q58.0156 14.4062 51.7812 6.48438", | |
"Q45.5625 -1.42188 35.5938 -1.42188", | |
"Q29.5938 -1.42188 25.2656 0.953125", | |
"Q20.9531 3.32812 18.1094 8.20312", | |
"M48.6875 27.2969", | |
"Q48.6875 37.2031 44.6094 42.8438", | |
"Q40.5312 48.4844 33.4062 48.4844", | |
"Q26.2656 48.4844 22.1875 42.8438", | |
"Q18.1094 37.2031 18.1094 27.2969", | |
"Q18.1094 17.3906 22.1875 11.75", | |
"Q26.2656 6.10938 33.4062 6.10938", | |
"Q40.5312 6.10938 44.6094 11.75", | |
"Q48.6875 17.3906 48.6875 27.2969\" id=\"BitstreamVeraSans-Roman-70\"/>", | |
" </defs>", | |
" <g transform=\"translate(144.59625 16.318125)scale(0.12 -0.12)\">", | |
" <use xlink:href=\"#BitstreamVeraSans-Roman-73\"/>", | |
" <use x=\"52.099609375\" xlink:href=\"#BitstreamVeraSans-Roman-74\"/>", | |
" <use x=\"91.30859375\" xlink:href=\"#BitstreamVeraSans-Roman-65\"/>", | |
" <use x=\"152.83203125\" xlink:href=\"#BitstreamVeraSans-Roman-70\"/>", | |
" <use x=\"216.30859375\" xlink:href=\"#BitstreamVeraSans-Roman-20\"/>", | |
" <use x=\"248.095703125\" xlink:href=\"#BitstreamVeraSans-Roman-32\"/>", | |
" <use x=\"311.71875\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" <use x=\"375.341796875\" xlink:href=\"#BitstreamVeraSans-Roman-20\"/>", | |
" <use x=\"407.12890625\" xlink:href=\"#BitstreamVeraSans-Roman-28\"/>", | |
" <use x=\"446.142578125\" xlink:href=\"#BitstreamVeraSans-Roman-34\"/>", | |
" <use x=\"509.765625\" xlink:href=\"#BitstreamVeraSans-Roman-30\"/>", | |
" <use x=\"573.388671875\" xlink:href=\"#BitstreamVeraSans-Roman-20\"/>", | |
" <use x=\"605.17578125\" xlink:href=\"#BitstreamVeraSans-Roman-70\"/>", | |
" <use x=\"668.65234375\" xlink:href=\"#BitstreamVeraSans-Roman-6f\"/>", | |
" <use x=\"729.833984375\" xlink:href=\"#BitstreamVeraSans-Roman-69\"/>", | |
" <use x=\"757.6171875\" xlink:href=\"#BitstreamVeraSans-Roman-6e\"/>", | |
" <use x=\"820.99609375\" xlink:href=\"#BitstreamVeraSans-Roman-74\"/>", | |
" <use x=\"860.205078125\" xlink:href=\"#BitstreamVeraSans-Roman-73\"/>", | |
" <use x=\"912.3046875\" xlink:href=\"#BitstreamVeraSans-Roman-29\"/>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" </g>", | |
" <defs>", | |
" <clipPath id=\"pa7fa3dd341\">", | |
" <rect height=\"217.44\" width=\"334.8\" x=\"33.759375\" y=\"21.318125\"/>", | |
" </clipPath>", | |
" </defs>", | |
"</svg>", | |
"" | |
], | |
"text": [ | |
"<matplotlib.figure.Figure at 0xaac16ec>" | |
] | |
} | |
], | |
"prompt_number": 16 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": true, | |
"input": [ | |
"" | |
], | |
"language": "python", | |
"outputs": [], | |
"prompt_number": 16 | |
} | |
] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment