{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Compute SVD from Raytransfer Matrix\n", "===" ] }, { "attachments": {}, "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "When it comes to tomographic inversion algorithms, SVD calculation is often needed and\n", ":obj:`cherab.phix.inversion` subpackage also requires. An RTM is a so large matrix that we have to\n", "prepare a lot of computer resources with large memory size." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "SVD is performed by the following equation:\n", "$$\n", "U\\Sigma V^\\mathsf{T} = AL^{-1},\n", "$$\n", "where $A$ is an RTM, $L$ is the regularization operator\n", "(e.g. $L=\\text{Laplacian}$ if using Phillips regularization)." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "We proceed with the following process to compute SVD:\n", "\n", "1. Compute $L^{-1}$\n", "2. Compute the product of matrices $AL^{-1}$\n", "3. Compute SVD with $AL^{-1}$\n", "\n", "To reduce memory usage, each generated arrays are stored on disk and deleted from RAM.\n", "Additionally, we compute the folloing matrix for the future inversion work.\n", "\n", "4. Compute $L^{-1}V$" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " \n", " Loading BokehJS ...\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function now() {\n return new Date();\n }\n\n const force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const script = document.createElement(\"script\");\n node.appendChild(script);\n }\n\n /**\n * Handle when an output is cleared or removed\n */\n function handleClearOutput(event, handle) {\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n // Clean up Bokeh references\n if (id != null && id in Bokeh.index) {\n Bokeh.index[id].model.document.clear();\n delete Bokeh.index[id];\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n cell.notebook.kernel.execute(cmd_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim();\n if (id in Bokeh.index) {\n Bokeh.index[id].model.document.clear();\n delete Bokeh.index[id];\n }\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n\n if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n // store reference to embed id on output_area\n output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n }\n if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n }\n\n function register_renderer(events, OutputArea) {\n\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n const toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n const props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[toinsert.length - 1]);\n element.append(toinsert);\n return toinsert\n }\n\n /* Handle when an output is cleared or removed */\n events.on('clear_output.CodeCell', handleClearOutput);\n events.on('delete.Cell', handleClearOutput);\n\n /* Handle when a new output is added */\n events.on('output_added.OutputArea', handleAddOutput);\n\n /**\n * Register the mime type and append_mime function with output_area\n */\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n /* Is output safe? */\n safe: true,\n /* Index of renderer in `output_area.display_order` */\n index: 0\n });\n }\n\n // register the mime type if in Jupyter Notebook environment and previously unregistered\n if (root.Jupyter !== undefined) {\n const events = require('base/js/events');\n const OutputArea = require('notebook/js/outputarea').OutputArea;\n\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n }\n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const NB_LOAD_WARNING = {'data': {'text/html':\n \"
\\n\"+\n \"

\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"

\\n\"+\n \"\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded() {\n const el = document.getElementById(\"1002\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\nif (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(\"1002\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", "application/vnd.bokehjs_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "---------- System Info ----------\n", "System : Linux, x86_64\n", "Kernel : 5.15.0-56-generic\n", "Compiler : GCC 10.4.0\n", "CPU : 128 (Core)\n", "Memory : 62 GiB\n", "Disk : 915 GiB\n", "---------------------------------\n" ] } ], "source": [ "import os\n", "import platform\n", "from pathlib import Path\n", "from textwrap import dedent\n", "\n", "import numpy as np\n", "import psutil\n", "from bokeh.plotting import output_notebook\n", "\n", "# To show resource usage during calculation\n", "from dask.diagnostics import ResourceProfiler\n", "from numpy.lib.format import open_memmap\n", "from raysect.optical import World\n", "\n", "from cherab.phix.tools import laplacian_matrix\n", "from cherab.phix.tools.raytransfer import import_phix_rtc\n", "\n", "output_notebook()\n", "\n", "# directory path where the RTM is stored.\n", "RTM_DIR = Path().cwd().parent.parent.parent / \"output\" / \"RTM\" / \"2022_12_13_00_49_29\"\n", "\n", "# Load PHiX Raytransfer object\n", "world = World()\n", "rtc = import_phix_rtc(world)\n", "\n", "# show system info\n", "core = os.cpu_count()\n", "gb = float(1024**3)\n", "mem_total = int(psutil.virtual_memory()[0] / gb)\n", "storage_total = int(psutil.disk_usage(\"/\")[0] / gb)\n", "print(\n", " dedent(\n", " f\"\"\"\n", " ---------- System Info ----------\n", " System : {platform.system()}, {platform.machine()}\n", " Kernel : {platform.release()}\n", " Compiler : {platform.python_compiler()}\n", " CPU : {core} (Core)\n", " Memory : {mem_total} GiB\n", " Disk : {storage_total} GiB\n", " ---------------------------------\n", " \"\"\"\n", " )[1:-1]\n", ")" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Compute $L^{-1}$\n", "---" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"b217168a-c598-4bac-b406-f26503fd335e\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1014\"}],\"center\":[{\"id\":\"1017\"},{\"id\":\"1021\"},{\"id\":\"1046\"}],\"extra_y_ranges\":{\"memory\":{\"id\":\"1048\"}},\"height\":300,\"left\":[{\"id\":\"1018\"}],\"renderers\":[{\"id\":\"1035\"},{\"id\":\"1053\"}],\"right\":[{\"id\":\"1067\"}],\"title\":{\"id\":\"1004\"},\"toolbar\":{\"id\":\"1026\"},\"toolbar_location\":\"above\",\"width\":800,\"x_range\":{\"id\":\"1006\"},\"x_scale\":{\"id\":\"1010\"},\"y_range\":{\"id\":\"1008\"},\"y_scale\":{\"id\":\"1012\"}},\"id\":\"1003\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"line_color\":\"#29788E\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1050\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1039\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1045\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#440154\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1034\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1049\"}},\"id\":\"1054\",\"type\":\"CDSView\"},{\"attributes\":{\"end\":4838.662144,\"start\":366.497792},\"id\":\"1048\",\"type\":\"Range1d\"},{\"attributes\":{},\"id\":\"1010\",\"type\":\"LinearScale\"},{\"attributes\":{\"tools\":[{\"id\":\"1022\"},{\"id\":\"1023\"},{\"id\":\"1024\"},{\"id\":\"1025\"}]},\"id\":\"1026\",\"type\":\"Toolbar\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Profile Results\"},\"id\":\"1004\",\"type\":\"Title\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1031\"},\"glyph\":{\"id\":\"1032\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1034\"},\"nonselection_glyph\":{\"id\":\"1033\"},\"view\":{\"id\":\"1036\"}},\"id\":\"1035\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1049\"},\"glyph\":{\"id\":\"1050\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1052\"},\"nonselection_glyph\":{\"id\":\"1051\"},\"view\":{\"id\":\"1054\"},\"y_range_name\":\"memory\"},\"id\":\"1053\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"x\":[0.0,1.0013480869820341,2.0029628389747813,3.0046180279459804,4.006292226957157,5.008004714967683,6.010411873925477,7.013469124911353,8.019055306911469,9.021947122993879,10.028052950976416,11.031370454002172,12.036840129992925,13.03909506299533,14.041512200958095,15.045546685927548,16.04794574494008,17.0505241289502,18.052540098899044,19.053286952897906,20.055519936955534,21.058802541927435,22.060625636950135,23.062532758922316,24.064525898895226,25.067984930006787,26.071845119004138,27.075326967984438,28.08006479300093,29.084107857896015,30.087185197975487,31.09164657094516,32.09439515997656,33.096095828921534,34.097556232940406],\"y\":[366.497792,2652.762112,4735.602688,4735.602688,4735.602688,4735.602688,4735.602688,4735.602688,4735.602688,4735.602688,4735.602688,4735.873024,4735.873024,4735.873024,4735.873024,4735.873024,4735.873024,4735.873024,4735.873024,4735.873024,4735.873024,4735.873024,4735.873024,4735.873024,4838.662144,4838.662144,4838.662144,4838.662144,4838.662144,4838.662144,4838.662144,4838.662144,4838.662144,4838.662144,2321.6128]},\"selected\":{\"id\":\"1065\"},\"selection_policy\":{\"id\":\"1064\"}},\"id\":\"1049\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1015\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"% CPU\",\"coordinates\":null,\"formatter\":{\"id\":\"1039\"},\"group\":null,\"major_label_policy\":{\"id\":\"1040\"},\"ticker\":{\"id\":\"1019\"}},\"id\":\"1018\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1014\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1017\",\"type\":\"Grid\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#29788E\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1052\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1012\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#29788E\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1051\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1073\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"label\":{\"value\":\"% CPU\"},\"renderers\":[{\"id\":\"1035\"}]},\"id\":\"1047\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1044\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis_label\":\"Memory (MB)\",\"coordinates\":null,\"formatter\":{\"id\":\"1073\"},\"group\":null,\"major_label_policy\":{\"id\":\"1074\"},\"ticker\":{\"id\":\"1072\"},\"y_range_name\":\"memory\"},\"id\":\"1067\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1023\",\"type\":\"ResetTool\"},{\"attributes\":{\"axis_label\":\"Time (s)\",\"coordinates\":null,\"formatter\":{\"id\":\"1042\"},\"group\":null,\"major_label_policy\":{\"id\":\"1043\"},\"ticker\":{\"id\":\"1015\"}},\"id\":\"1014\",\"type\":\"LinearAxis\"},{\"attributes\":{\"label\":{\"value\":\"Memory\"},\"renderers\":[{\"id\":\"1053\"}]},\"id\":\"1066\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1074\",\"type\":\"AllLabels\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"items\":[{\"id\":\"1047\"},{\"id\":\"1066\"}]},\"id\":\"1046\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"1072\",\"type\":\"BasicTicker\"},{\"attributes\":{\"end\":34.097556232940406},\"id\":\"1006\",\"type\":\"Range1d\"},{\"attributes\":{\"end\":12692.7},\"id\":\"1008\",\"type\":\"Range1d\"},{\"attributes\":{\"source\":{\"id\":\"1031\"}},\"id\":\"1036\",\"type\":\"CDSView\"},{\"attributes\":{\"line_color\":\"#440154\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1032\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1064\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"dimensions\":\"width\"},\"id\":\"1025\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1040\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1022\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1043\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1065\",\"type\":\"Selection\"},{\"attributes\":{\"dimensions\":\"width\"},\"id\":\"1024\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#440154\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1033\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1019\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis\":{\"id\":\"1018\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1021\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1042\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"data\":{\"x\":[0.0,1.0013480869820341,2.0029628389747813,3.0046180279459804,4.006292226957157,5.008004714967683,6.010411873925477,7.013469124911353,8.019055306911469,9.021947122993879,10.028052950976416,11.031370454002172,12.036840129992925,13.03909506299533,14.041512200958095,15.045546685927548,16.04794574494008,17.0505241289502,18.052540098899044,19.053286952897906,20.055519936955534,21.058802541927435,22.060625636950135,23.062532758922316,24.064525898895226,25.067984930006787,26.071845119004138,27.075326967984438,28.08006479300093,29.084107857896015,30.087185197975487,31.09164657094516,32.09439515997656,33.096095828921534,34.097556232940406],\"y\":[0.0,99.9,5446.1,12412.4,12373.4,12372.7,12394.0,12398.3,12405.8,12413.5,12402.6,12388.9,12389.8,12366.6,12360.1,12400.9,12350.5,12411.3,12440.7,12424.9,12533.2,12538.4,12692.7,12678.3,12511.4,12396.4,12385.3,12394.6,12403.9,12387.8,11961.0,9017.2,7443.0,4378.6,275.6]},\"selected\":{\"id\":\"1045\"},\"selection_policy\":{\"id\":\"1044\"}},\"id\":\"1031\",\"type\":\"ColumnDataSource\"}],\"root_ids\":[\"1003\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n const render_items = [{\"docid\":\"b217168a-c598-4bac-b406-f26503fd335e\",\"root_ids\":[\"1003\"],\"roots\":{\"1003\":\"e489fd2c-3573-4db1-bc28-0a05fe0d678d\"}}];\n root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const timer = setInterval(function(root) {\n if (root.Bokeh !== undefined) {\n clearInterval(timer);\n embed_document(root);\n } else {\n attempts++;\n if (attempts > 100) {\n clearInterval(timer);\n console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n }\n }\n }, 10, root)\n }\n})(window);", "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "1003" } }, "output_type": "display_data" }, { "data": { "text/html": [ "
Figure(
id = '1003', …)
above = [],
align = 'start',
aspect_ratio = None,
aspect_scale = 1,
background = None,
background_fill_alpha = 1.0,
background_fill_color = '#ffffff',
below = [LinearAxis(id='1014', ...)],
border_fill_alpha = 1.0,
border_fill_color = '#ffffff',
center = [Grid(id='1017', ...), Grid(id='1021', ...), Legend(id='1046', ...)],
css_classes = [],
disabled = False,
extra_x_ranges = {},
extra_x_scales = {},
extra_y_ranges = {'memory': Range1d(id='1048', ...)},
extra_y_scales = {},
frame_height = None,
frame_width = None,
height = 300,
height_policy = 'auto',
hidpi = True,
inner_height = 0,
inner_width = 0,
js_event_callbacks = {},
js_property_callbacks = {},
left = [LinearAxis(id='1018', ...)],
lod_factor = 10,
lod_interval = 300,
lod_threshold = 2000,
lod_timeout = 500,
margin = (0, 0, 0, 0),
match_aspect = False,
max_height = None,
max_width = None,
min_border = 5,
min_border_bottom = None,
min_border_left = None,
min_border_right = None,
min_border_top = None,
min_height = None,
min_width = None,
name = None,
outer_height = 0,
outer_width = 0,
outline_line_alpha = 1.0,
outline_line_cap = 'butt',
outline_line_color = '#e5e5e5',
outline_line_dash = [],
outline_line_dash_offset = 0,
outline_line_join = 'bevel',
outline_line_width = 1,
output_backend = 'canvas',
renderers = [GlyphRenderer(id='1035', ...), GlyphRenderer(id='1053', ...)],
reset_policy = 'standard',
right = [LinearAxis(id='1067', ...)],
sizing_mode = None,
subscribed_events = [],
syncable = True,
tags = [],
title = Title(id='1004', ...),
title_location = 'above',
toolbar = Toolbar(id='1026', ...),
toolbar_location = 'above',
toolbar_sticky = True,
visible = True,
width = 800,
width_policy = 'auto',
x_range = Range1d(id='1006', ...),
x_scale = LinearScale(id='1010', ...),
y_range = Range1d(id='1008', ...),
y_scale = LinearScale(id='1012', ...))
\n", "\n" ], "text/plain": [ "Figure(id='1003', ...)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# define resource profiler to monitor usage of memory and CPU\n", "resource_profiler = ResourceProfiler()\n", "\n", "with resource_profiler:\n", " # Compute Laplacian matrix\n", " laplacian = laplacian_matrix(rtc.voxel_map, dir=8)\n", "\n", " # create memory-map to store array\n", " L_inv = open_memmap(\n", " RTM_DIR / \"L_inv.npy\", dtype=np.float64, mode=\"w+\", shape=(rtc.bins, rtc.bins)\n", " )\n", "\n", " # Compute L^-1\n", " L_inv[:] = np.linalg.inv(laplacian)\n", "\n", "resource_profiler.visualize()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Compute $AL^{-1}$\n", "---" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Load RTM with the reshape to 2D array from 3D" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "rtm = open_memmap(RTM_DIR / \"rtm.npy\").reshape((-1, rtc.bins))" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"b0401797-5374-44c7-b1cb-510dfc51397c\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1166\"}],\"center\":[{\"id\":\"1169\"},{\"id\":\"1173\"},{\"id\":\"1198\"}],\"extra_y_ranges\":{\"memory\":{\"id\":\"1200\"}},\"height\":300,\"left\":[{\"id\":\"1170\"}],\"renderers\":[{\"id\":\"1187\"},{\"id\":\"1205\"}],\"right\":[{\"id\":\"1219\"}],\"title\":{\"id\":\"1156\"},\"toolbar\":{\"id\":\"1178\"},\"toolbar_location\":\"above\",\"width\":800,\"x_range\":{\"id\":\"1158\"},\"x_scale\":{\"id\":\"1162\"},\"y_range\":{\"id\":\"1160\"},\"y_scale\":{\"id\":\"1164\"}},\"id\":\"1155\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"label\":{\"value\":\"Memory\"},\"renderers\":[{\"id\":\"1205\"}]},\"id\":\"1218\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1195\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1194\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1216\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1217\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1162\",\"type\":\"LinearScale\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1183\"},\"glyph\":{\"id\":\"1184\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1186\"},\"nonselection_glyph\":{\"id\":\"1185\"},\"view\":{\"id\":\"1188\"}},\"id\":\"1187\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_color\":\"#440154\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1184\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1240\",\"type\":\"AllLabels\"},{\"attributes\":{\"axis_label\":\"% CPU\",\"coordinates\":null,\"formatter\":{\"id\":\"1191\"},\"group\":null,\"major_label_policy\":{\"id\":\"1192\"},\"ticker\":{\"id\":\"1171\"}},\"id\":\"1170\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1239\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1238\",\"type\":\"BasicTicker\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"items\":[{\"id\":\"1199\"},{\"id\":\"1218\"}]},\"id\":\"1198\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"1171\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1174\",\"type\":\"SaveTool\"},{\"attributes\":{\"data\":{\"x\":[0.0,1.0014417349593714,2.007677118992433,3.0428023329004645,4.04422718891874,5.046923159970902,6.052104212925769,7.0568039489444345,8.06327932595741,9.06905727297999,10.076320338994265,11.082418116973713,12.0885437639663,13.09472262894269,14.099394046002999,15.105037356959656,16.110337174963206,17.11542029096745,18.120857556932606,19.12683769792784,20.13057326991111,21.136429364909418,22.141884589917026,23.147246478009038,24.150392195908353,25.155792813980952,26.160038271918893,27.165783599950373,28.170491455006413,29.175341066904366,30.17889772390481,31.183411016012542,32.18694789300207,33.19161202094983,34.19589385797735,35.20230909693055,36.20754835801199,37.21394748799503,38.21947203192394,39.225797362974845,40.23120565991849,41.237660127924755,42.24264291592408,43.24777630995959,44.25245023693424,45.25818386499304,46.263354407972656,47.26781967992429,48.273132028989494,49.27656313998159,50.28285636298824,51.28839033492841,52.29405508493073,53.29873745201621,54.30364285199903,55.30678969994187,56.311304111965,57.31462792493403,58.31968385190703,59.32345841196366,60.32905476400629,61.33224340097513,62.33792545099277,63.34216622891836,64.34736659098417,65.35155856097117,66.3559812749736,67.36237930390052,68.36938178690616,69.37228060292546,70.37847534695175,71.38451983698178,72.39072668098379,73.39646032894962,74.40230074396823,75.40749924595002,76.41310641693417,77.41641941096168,78.42163821298163,79.42582691297866,80.43137800495606,81.43454358296003,82.43958579993341,83.4436274030013,84.44866985990666,85.45238541299477,86.45787272695452,87.46183285291772,88.46735769696534,89.47183897800278,90.47806524299085,91.48221186397132,92.48779973492492,93.4924703319557,94.4987463549478,95.5037550519919,96.50996464700438,97.51526538690086,98.5222003509989,99.52749543101527,100.53411631390918,101.5386636039475,102.54370432998985,103.55005017190706,104.55636123300064,105.56190796592273,106.56702960992698,107.57234251999762,108.57783509395085,109.58412403590046,110.59259420901071,111.60049583693035,112.60851310193539,113.61095831997227,114.6124697229825,115.61379576090258,116.61508237000089,117.61635393998586,118.6176315889461,119.61890021897852,120.62017878796905,121.62144922791049,122.62272049800958,123.6239863570081,124.6252475369256],\"y\":[0.0,99.9,8480.5,11925.8,11946.9,12259.6,12425.5,12474.3,12443.6,12473.5,12415.9,12520.9,12409.1,12487.4,12371.9,12436.0,12469.8,12497.8,12442.7,12544.4,12423.7,12449.1,12394.2,12486.5,12430.0,12484.5,12308.0,12364.2,12257.6,12345.4,12374.3,12379.3,12454.2,12481.7,12474.5,12382.1,12429.7,12500.1,12546.2,12504.6,12544.1,12478.7,12527.1,12444.7,12543.0,12444.5,12446.0,12354.1,12497.3,12415.1,12453.3,12381.3,12436.4,12443.2,12443.6,12449.5,12477.7,12501.2,12539.0,12494.9,12551.2,12524.2,12557.0,12463.8,12444.8,12374.1,12497.4,12462.6,12526.7,12458.6,12536.3,12440.2,12539.3,12389.3,12445.9,12341.1,12404.3,12312.5,12392.7,12320.2,12373.1,12338.6,12364.0,12306.8,12365.4,12414.0,12263.2,12353.6,12307.1,12505.7,12326.7,12512.8,12490.5,12558.2,12440.8,12527.6,12449.5,12488.5,12401.4,12471.9,12458.3,12528.6,12371.6,12444.7,12266.7,12467.1,12320.3,12465.1,12387.2,12411.3,12423.7,12447.2,12339.6,4036.3,99.9,98.9,100.9,98.9,99.9,98.9,99.9,98.9,98.9,99.9,98.9]},\"selected\":{\"id\":\"1197\"},\"selection_policy\":{\"id\":\"1196\"}},\"id\":\"1183\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"dimensions\":\"width\"},\"id\":\"1177\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1175\",\"type\":\"ResetTool\"},{\"attributes\":{\"dimensions\":\"width\"},\"id\":\"1176\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"axis\":{\"id\":\"1170\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1173\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1192\",\"type\":\"AllLabels\"},{\"attributes\":{\"source\":{\"id\":\"1183\"}},\"id\":\"1188\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1191\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"label\":{\"value\":\"% CPU\"},\"renderers\":[{\"id\":\"1187\"}]},\"id\":\"1199\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1164\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#440154\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1186\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1201\"}},\"id\":\"1206\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1167\",\"type\":\"BasicTicker\"},{\"attributes\":{\"end\":43125.653504,\"start\":2440.41728},\"id\":\"1200\",\"type\":\"Range1d\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#440154\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1185\",\"type\":\"Line\"},{\"attributes\":{\"axis\":{\"id\":\"1166\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1169\",\"type\":\"Grid\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1201\"},\"glyph\":{\"id\":\"1202\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1204\"},\"nonselection_glyph\":{\"id\":\"1203\"},\"view\":{\"id\":\"1206\"},\"y_range_name\":\"memory\"},\"id\":\"1205\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"Time (s)\",\"coordinates\":null,\"formatter\":{\"id\":\"1194\"},\"group\":null,\"major_label_policy\":{\"id\":\"1195\"},\"ticker\":{\"id\":\"1167\"}},\"id\":\"1166\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1197\",\"type\":\"Selection\"},{\"attributes\":{\"data\":{\"x\":[0.0,1.0014417349593714,2.007677118992433,3.0428023329004645,4.04422718891874,5.046923159970902,6.052104212925769,7.0568039489444345,8.06327932595741,9.06905727297999,10.076320338994265,11.082418116973713,12.0885437639663,13.09472262894269,14.099394046002999,15.105037356959656,16.110337174963206,17.11542029096745,18.120857556932606,19.12683769792784,20.13057326991111,21.136429364909418,22.141884589917026,23.147246478009038,24.150392195908353,25.155792813980952,26.160038271918893,27.165783599950373,28.170491455006413,29.175341066904366,30.17889772390481,31.183411016012542,32.18694789300207,33.19161202094983,34.19589385797735,35.20230909693055,36.20754835801199,37.21394748799503,38.21947203192394,39.225797362974845,40.23120565991849,41.237660127924755,42.24264291592408,43.24777630995959,44.25245023693424,45.25818386499304,46.263354407972656,47.26781967992429,48.273132028989494,49.27656313998159,50.28285636298824,51.28839033492841,52.29405508493073,53.29873745201621,54.30364285199903,55.30678969994187,56.311304111965,57.31462792493403,58.31968385190703,59.32345841196366,60.32905476400629,61.33224340097513,62.33792545099277,63.34216622891836,64.34736659098417,65.35155856097117,66.3559812749736,67.36237930390052,68.36938178690616,69.37228060292546,70.37847534695175,71.38451983698178,72.39072668098379,73.39646032894962,74.40230074396823,75.40749924595002,76.41310641693417,77.41641941096168,78.42163821298163,79.42582691297866,80.43137800495606,81.43454358296003,82.43958579993341,83.4436274030013,84.44866985990666,85.45238541299477,86.45787272695452,87.46183285291772,88.46735769696534,89.47183897800278,90.47806524299085,91.48221186397132,92.48779973492492,93.4924703319557,94.4987463549478,95.5037550519919,96.50996464700438,97.51526538690086,98.5222003509989,99.52749543101527,100.53411631390918,101.5386636039475,102.54370432998985,103.55005017190706,104.55636123300064,105.56190796592273,106.56702960992698,107.57234251999762,108.57783509395085,109.58412403590046,110.59259420901071,111.60049583693035,112.60851310193539,113.61095831997227,114.6124697229825,115.61379576090258,116.61508237000089,117.61635393998586,118.6176315889461,119.61890021897852,120.62017878796905,121.62144922791049,122.62272049800958,123.6239863570081,124.6252475369256],\"y\":[2440.41728,13027.250176,16232.308736,18267.086848,22772.150272,23973.076992,23973.076992,24284.9792,24284.9792,24618.819584,24618.819584,24950.493184,24956.194816,25188.036608,25241.657344,25458.704384,25584.738304,25765.138432,25923.616768,26065.211392,26233.143296,26436.825088,26516.176896,26641.539072,26809.954304,27013.070848,27110.801408,27284.537344,27420.659712,27453.063168,27710.81216,27710.81216,27961.18016,27961.18016,28631.740416,28631.740416,29127.39328,29127.39328,29353.775104,29353.775104,29615.046656,29615.046656,29813.030912,29818.14272,30049.6896,30078.898176,30109.822976,30119.092224,30146.584576,30151.974912,30159.736832,30172.0576,30184.951808,30187.073536,30187.073536,30203.703296,30206.611456,30219.321344,30221.70112,30229.143552,30234.677248,30241.60768,30242.934784,30248.267776,30260.355072,30260.355072,30284.292096,30284.292096,30299.070464,30303.256576,30309.515264,30309.515264,30313.766912,30313.766912,30318.559232,30318.559232,30321.737728,30324.391936,30324.391936,30327.218176,30327.820288,30327.820288,30330.032128,30334.476288,30334.476288,30339.096576,30339.096576,30339.743744,30339.743744,30346.018816,30346.018816,30348.423168,30348.423168,30349.881344,30349.881344,30350.753792,30350.753792,30352.838656,30352.838656,30353.63328,30353.63328,30358.007808,30358.007808,30358.81472,30358.81472,30359.932928,30359.932928,30359.932928,30359.932928,30359.932928,30359.932928,30359.932928,30359.932928,31646.056448,33520.295936,34816.96256,35722.58816,36550.897664,37506.12992,38901.874688,40235.84768,41230.00832,42196.45952,43125.653504,42991.026176]},\"selected\":{\"id\":\"1217\"},\"selection_policy\":{\"id\":\"1216\"}},\"id\":\"1201\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_color\":\"#29788E\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1202\",\"type\":\"Line\"},{\"attributes\":{\"axis_label\":\"Memory (MB)\",\"coordinates\":null,\"formatter\":{\"id\":\"1239\"},\"group\":null,\"major_label_policy\":{\"id\":\"1240\"},\"ticker\":{\"id\":\"1238\"},\"y_range_name\":\"memory\"},\"id\":\"1219\",\"type\":\"LinearAxis\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Profile Results\"},\"id\":\"1156\",\"type\":\"Title\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#29788E\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1204\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1196\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#29788E\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1203\",\"type\":\"Line\"},{\"attributes\":{\"tools\":[{\"id\":\"1174\"},{\"id\":\"1175\"},{\"id\":\"1176\"},{\"id\":\"1177\"}]},\"id\":\"1178\",\"type\":\"Toolbar\"},{\"attributes\":{\"end\":124.6252475369256},\"id\":\"1158\",\"type\":\"Range1d\"},{\"attributes\":{\"end\":12558.2},\"id\":\"1160\",\"type\":\"Range1d\"}],\"root_ids\":[\"1155\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n const render_items = [{\"docid\":\"b0401797-5374-44c7-b1cb-510dfc51397c\",\"root_ids\":[\"1155\"],\"roots\":{\"1155\":\"4154818f-78a2-41c2-aa36-f6b5b53e0987\"}}];\n root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const timer = setInterval(function(root) {\n if (root.Bokeh !== undefined) {\n clearInterval(timer);\n embed_document(root);\n } else {\n attempts++;\n if (attempts > 100) {\n clearInterval(timer);\n console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n }\n }\n }, 10, root)\n }\n})(window);", "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "1155" } }, "output_type": "display_data" }, { "data": { "text/html": [ "
Figure(
id = '1155', …)
above = [],
align = 'start',
aspect_ratio = None,
aspect_scale = 1,
background = None,
background_fill_alpha = 1.0,
background_fill_color = '#ffffff',
below = [LinearAxis(id='1166', ...)],
border_fill_alpha = 1.0,
border_fill_color = '#ffffff',
center = [Grid(id='1169', ...), Grid(id='1173', ...), Legend(id='1198', ...)],
css_classes = [],
disabled = False,
extra_x_ranges = {},
extra_x_scales = {},
extra_y_ranges = {'memory': Range1d(id='1200', ...)},
extra_y_scales = {},
frame_height = None,
frame_width = None,
height = 300,
height_policy = 'auto',
hidpi = True,
inner_height = 0,
inner_width = 0,
js_event_callbacks = {},
js_property_callbacks = {},
left = [LinearAxis(id='1170', ...)],
lod_factor = 10,
lod_interval = 300,
lod_threshold = 2000,
lod_timeout = 500,
margin = (0, 0, 0, 0),
match_aspect = False,
max_height = None,
max_width = None,
min_border = 5,
min_border_bottom = None,
min_border_left = None,
min_border_right = None,
min_border_top = None,
min_height = None,
min_width = None,
name = None,
outer_height = 0,
outer_width = 0,
outline_line_alpha = 1.0,
outline_line_cap = 'butt',
outline_line_color = '#e5e5e5',
outline_line_dash = [],
outline_line_dash_offset = 0,
outline_line_join = 'bevel',
outline_line_width = 1,
output_backend = 'canvas',
renderers = [GlyphRenderer(id='1187', ...), GlyphRenderer(id='1205', ...)],
reset_policy = 'standard',
right = [LinearAxis(id='1219', ...)],
sizing_mode = None,
subscribed_events = [],
syncable = True,
tags = [],
title = Title(id='1156', ...),
title_location = 'above',
toolbar = Toolbar(id='1178', ...),
toolbar_location = 'above',
toolbar_sticky = True,
visible = True,
width = 800,
width_policy = 'auto',
x_range = Range1d(id='1158', ...),
x_scale = LinearScale(id='1162', ...),
y_range = Range1d(id='1160', ...),
y_scale = LinearScale(id='1164', ...))
\n", "\n" ], "text/plain": [ "Figure(id='1155', ...)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# create memory-map to store array\n", "AL_inv = open_memmap(RTM_DIR / \"AL_inv.npy\", dtype=np.float64, mode=\"w+\", shape=rtm.shape)\n", "\n", "# compute AL^-1\n", "with resource_profiler:\n", " AL_inv[:] = np.dot(rtm, L_inv)\n", "\n", "resource_profiler.visualize()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Compute SVD: $U\\Sigma V^\\mathsf{T} = AL^{-1}$\n", "---" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Define $U, \\Sigma, V^\\mathsf{T}$ memory-map array firstly." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# define array shape number\n", "m, n = AL_inv.shape\n", "k = min(n, m)\n", "\n", "u_row = k if m < n else m\n", "vh_col = n if m < n else k\n", "\n", "# create memory-map to store\n", "u = open_memmap(RTM_DIR / \"u.npy\", dtype=np.float64, mode=\"w+\", shape=(u_row, k))\n", "s = open_memmap(RTM_DIR / \"s.npy\", dtype=np.float64, mode=\"w+\", shape=(k,))\n", "vh = open_memmap(RTM_DIR / \"vh.npy\", dtype=np.float64, mode=\"w+\", shape=(k, vh_col))" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "compute SVD" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"df99351b-5f8f-4c08-8e1e-49d9cb76ab19\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1332\"}],\"center\":[{\"id\":\"1335\"},{\"id\":\"1339\"},{\"id\":\"1364\"}],\"extra_y_ranges\":{\"memory\":{\"id\":\"1366\"}},\"height\":300,\"left\":[{\"id\":\"1336\"}],\"renderers\":[{\"id\":\"1353\"},{\"id\":\"1371\"}],\"right\":[{\"id\":\"1385\"}],\"title\":{\"id\":\"1322\"},\"toolbar\":{\"id\":\"1344\"},\"toolbar_location\":\"above\",\"width\":800,\"x_range\":{\"id\":\"1324\"},\"x_scale\":{\"id\":\"1328\"},\"y_range\":{\"id\":\"1326\"},\"y_scale\":{\"id\":\"1330\"}},\"id\":\"1321\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"end\":2018.3692936770385},\"id\":\"1324\",\"type\":\"Range1d\"},{\"attributes\":{\"label\":{\"value\":\"Memory\"},\"renderers\":[{\"id\":\"1371\"}]},\"id\":\"1384\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1419\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1337\",\"type\":\"BasicTicker\"},{\"attributes\":{\"label\":{\"value\":\"% CPU\"},\"renderers\":[{\"id\":\"1353\"}]},\"id\":\"1365\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1382\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"end\":12774.1},\"id\":\"1326\",\"type\":\"Range1d\"},{\"attributes\":{},\"id\":\"1333\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1363\",\"type\":\"Selection\"},{\"attributes\":{\"axis\":{\"id\":\"1332\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1335\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"1349\"}},\"id\":\"1354\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1383\",\"type\":\"Selection\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Profile Results\"},\"id\":\"1322\",\"type\":\"Title\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#29788E\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1369\",\"type\":\"Line\"},{\"attributes\":{\"line_color\":\"#440154\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1350\",\"type\":\"Line\"},{\"attributes\":{\"dimensions\":\"width\"},\"id\":\"1343\",\"type\":\"PanTool\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#29788E\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1370\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#440154\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1351\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1362\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis_label\":\"% CPU\",\"coordinates\":null,\"formatter\":{\"id\":\"1357\"},\"group\":null,\"major_label_policy\":{\"id\":\"1358\"},\"ticker\":{\"id\":\"1337\"}},\"id\":\"1336\",\"type\":\"LinearAxis\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"items\":[{\"id\":\"1365\"},{\"id\":\"1384\"}]},\"id\":\"1364\",\"type\":\"Legend\"},{\"attributes\":{\"axis\":{\"id\":\"1336\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1339\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1361\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1328\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1418\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1330\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1357\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1360\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"line_color\":\"#29788E\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1368\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1358\",\"type\":\"AllLabels\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#440154\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1352\",\"type\":\"Line\"},{\"attributes\":{\"tools\":[{\"id\":\"1340\"},{\"id\":\"1341\"},{\"id\":\"1342\"},{\"id\":\"1343\"}]},\"id\":\"1344\",\"type\":\"Toolbar\"},{\"attributes\":{\"end\":54165.716992,\"start\":20026.793984},\"id\":\"1366\",\"type\":\"Range1d\"},{\"attributes\":{\"axis_label\":\"Memory (MB)\",\"coordinates\":null,\"formatter\":{\"id\":\"1419\"},\"group\":null,\"major_label_policy\":{\"id\":\"1420\"},\"ticker\":{\"id\":\"1418\"},\"y_range_name\":\"memory\"},\"id\":\"1385\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis_label\":\"Time (s)\",\"coordinates\":null,\"formatter\":{\"id\":\"1360\"},\"group\":null,\"major_label_policy\":{\"id\":\"1361\"},\"ticker\":{\"id\":\"1333\"}},\"id\":\"1332\",\"type\":\"LinearAxis\"},{\"attributes\":{\"dimensions\":\"width\"},\"id\":\"1342\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1367\"},\"glyph\":{\"id\":\"1368\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1370\"},\"nonselection_glyph\":{\"id\":\"1369\"},\"view\":{\"id\":\"1372\"},\"y_range_name\":\"memory\"},\"id\":\"1371\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"x\":[0.0,1.0013347830390558,2.002592268981971,3.003884684992954,4.00516829197295,5.00645321898628,6.007715607993305,7.008985346998088,8.010250147082843,9.011532498057932,10.012806748971343,11.014074480975978,12.015350133995526,13.01667342602741,14.018005989026278,15.019286224036478,16.020555680035613,17.021815116982907,18.023090603994206,19.024362332071178,20.025629431009293,21.026898130076006,22.0281643710332,23.02942482207436,24.030690483981743,25.03196339600254,26.03323270904366,27.034501862013713,28.035775537020527,29.03705163206905,30.038322778069414,31.039599184063263,32.0408704620786,33.04213607998099,34.043405657983385,35.04468310798984,36.04594541806728,37.04720613907557,38.048467401065864,39.04972746304702,40.05099878704641,41.05226306000259,42.053525045048445,43.054783970001154,44.05604362604208,45.05730789306108,46.05857117997948,47.05982458801009,48.06108142703306,49.062344686011784,50.063619025982916,51.06487692706287,52.06613546900917,53.067391901044175,54.06864480301738,55.06990429700818,56.071162451058626,57.072421796037816,58.07367948198225,59.07494004804175,60.07620669505559,61.07747239200398,62.07873040006962,63.07998875901103,64.0812456990825,65.08248172898311,66.08375309000257,67.0850155610824,68.0862781329779,69.08755206607748,70.08880970906466,71.09007822303101,72.09133668802679,73.09260518301744,74.09387243899982,75.09512820607051,76.09638373297639,77.0976458810037,78.09890784905292,79.1001667890232,80.10143097897526,81.10269938898273,82.10397204000037,83.10525022202637,84.10650424403138,85.10774882801343,86.10898995201569,87.11023168708198,88.11154443002306,89.1154145130422,90.12278061802499,91.12733660207596,92.1320303240791,93.14170139597263,94.1452984190546,95.15451540600043,96.15678459708579,97.1601607890334,98.1658431760734,99.16936959407758,100.17879558808636,101.18279076402541,102.19135621399619,103.19568762206472,104.199837606051,105.20976061897818,106.21510695107281,107.2255288810702,108.23063910007477,109.23923334304709,110.24245507607702,111.24638672103174,112.25664031901397,113.26070448104292,114.26929799607024,115.27286854304839,116.27807810506783,117.28654923604336,118.29159978299867,119.30097987002227,120.30343688104767,121.30598596006166,122.31055123300757,123.3150046900846,124.32496719399933,125.32930951507296,126.33850130997598,127.34003997198306,128.34321848698892,129.34900328004733,130.35310057201423,131.36232452001423,132.3663054750068,133.37450857297517,134.3764730860712,135.37943119206466,136.38255897397175,137.38777670799755,138.39681517507415,139.4010802169796,140.41055528307334,141.41587933606934,142.42659063905012,143.43078870500904,144.43872849701438,145.44120281201322,146.4442701410735,147.45080421399325,148.45399766997434,149.45961506001186,150.4640311030671,151.47248041501734,152.4749867230421,153.47731977701187,154.48167608503718,155.4851979559753,156.49400061008055,157.49718769197352,158.50684249401093,159.51117601501755,160.52057023497764,161.52204472699668,162.5271324190544,163.52992291504052,164.5313291309867,165.535553068039,166.53960405103862,167.54701443004888,168.55150936206337,169.56018626701552,170.56519434507936,171.57436679699458,172.57972459704615,173.58999501902144,174.595748007996,175.60536261100788,176.61110341106541,177.62126231903676,178.6254382050829,179.63594344398007,180.6398893770529,181.64853295008652,182.6505486590322,183.6525147689972,184.65521705907304,185.65869257808663,186.66234772303142,187.66541718505323,188.67149599199183,189.676042293082,190.68561045406386,191.6909329550108,192.70034755207598,193.70540590106975,194.71463254408445,195.7201552609913,196.7309256209992,197.73544046701863,198.74550270906184,199.74925390805583,200.7589035719866,201.76452868897468,202.77437893906608,203.77941908303183,204.79010394006036,205.7957577590132,206.80713915801607,207.81245156703517,208.8232113639824,209.82901663007215,210.85659092804417,211.8616734050447,212.87073248205706,213.87626297806855,214.8860573649872,215.891256220988,216.90179051901214,217.90547072899062,218.91452805802692,219.9188361010747,220.92836081900168,221.93311915104277,222.94308661704417,223.9486007890664,224.9582549650222,225.9634987739846,226.97391012101434,227.9794316639891,228.99043647304643,229.9957166450331,231.00565877498593,232.00934049207717,233.0192213850096,234.02431952301413,235.03318920603488,236.037247603992,237.04272138304077,238.04587025707588,239.0498418690404,240.05137850902975,241.05678881099448,242.0643045650795,243.06897244905122,244.07903280400205,245.08384882402606,246.09328259702306,247.0973383099772,248.10775763599668,249.11271217407193,250.12176657898817,251.12558025098406,252.13220078498125,253.1352792980615,254.14044127298985,255.1466648390051,256.1510211280547,257.1615929240361,258.16717155999504,259.178308880073,260.182979483041,261.1927686710842,262.196225407999,263.20312845904846,264.20631678402424,265.21016737201717,266.2126693270402,267.21760805498343,268.22816154605243,269.2334059160203,270.2442302600248,271.2491816590773,272.25942838098854,273.2618016829947,274.26557149598375,275.26651186903473,276.2713367739925,277.28189052897505,278.28550529805943,279.2954543810338,280.29971116408706,281.30926645803265,282.3115568170324,283.31458313402254,284.31691414199304,285.32085379597265,286.33022417803295,287.3336343980627,288.341577370069,289.3432695979718,290.3474037980195,291.348889283021,292.3528769679833,293.36226619197987,294.367236981052,295.37663088703994,296.38108066108543,297.38948164507747,298.3928333200747,299.4011875760043,300.4048305840697,301.4127458729781,302.4151476670522,303.4208123900462,304.4300636430271,305.4330541320378,306.44160953501705,307.4440985880792,308.44991287903395,309.4505176660605,310.45486049808096,311.4646342030028,312.46843516104855,313.47788714198396,314.4789660180686,315.4838180290535,316.49305954703595,317.49721534806304,318.5066498720553,319.50880817906,320.51297833106946,321.52193117898423,322.526617437019,323.53461663308553,324.53709040407557,325.5410926420009,326.55026214697864,327.55435723403934,328.5627938390244,329.56424183002673,330.56827687006444,331.57751398405526,332.5801029150607,333.5862913050223,334.5878132269718,335.59190620598383,336.60166799800936,337.6034108940512,338.6069743100088,339.60883741406724,340.6130371920299,341.6225594030693,342.62486867501866,343.63097640208434,344.6406970580574,345.6440178829944,346.6507533940021,347.65235496801324,348.656550529995,349.6664695420768,350.6686960699735,351.67491337598767,352.6850058250129,353.688047491014,354.69408653397113,355.69571164099034,356.70003231207374,357.71073637600057,358.71221821708605,359.7164235430537,360.7266046620207,361.72807673504576,362.7322429730557,363.7418138610665,364.7425183170708,365.74684517097194,366.75694889505394,367.75842108007055,368.76255131105427,369.7726563559845,370.77421385003254,371.7778675360605,372.7865716710221,373.7888987840852,374.79314119403716,375.8028826320078,376.8045618040487,377.8076910370728,378.81419788498897,379.8163577950327,380.8188828160055,381.8251284729922,382.8351718640188,383.83744810300414,384.84405202104244,385.8534228220815,386.8545205540722,387.85862932307646,388.8665500059724,389.8684176780516,390.8724875180051,391.88363171205856,392.889914082014,393.8913822460454,394.89709498302545,395.90652231604327,396.90796680306084,397.9123076479882,398.92085833707824,399.922703193035,400.92517002206296,401.9320003100438,402.94074894406367,403.94293644302525,404.9473700589733,405.9584118600469,406.9669086530339,407.9691164920805,408.97518602304626,409.9846399810631,410.9860817519948,411.98739295697305,412.9933793019736,414.00250306900125,415.00431567197666,416.00736728904303,417.01321864000056,418.02296994102653,419.02441936405376,420.0273276580265,421.0348528630566,422.04445480008144,423.04662376397755,424.0488284690073,425.05425940302666,426.06596209306736,427.07457157899626,428.07669581705704,429.07982684706803,430.08813241298776,431.09800665604416,432.0990199360531,433.1012405520305,434.1042811360676,435.1130454810336,436.12151272501796,437.1239735260606,438.1270455500344,439.1331713000545,440.1450296100229,441.1534281669883,442.1549875549972,443.15698599105235,444.1626465850277,445.1746566030197,446.1825505050365,447.18454913201276,448.18673526507337,449.1890214650193,450.19498507201206,451.2051064840052,452.2147225009976,453.2163017420098,454.21810676704627,455.22008421702776,456.2229606229812,457.23106518306304,458.2409390839748,459.2495111420285,460.2507721330039,461.25271760707255,462.25443917606026,463.25732834404334,464.26184869604185,465.27028524898924,466.28232348302845,467.29273633204866,468.3005033150548,469.30210152000654,470.30430998804513,471.3062549739843,472.30782932101283,473.31013847806025,474.3153550539864,475.32432913500816,476.33662149403244,477.34688546007965,478.3487908700481,479.350220183027,480.3518120520748,481.3573048519902,482.3880530480528,483.41940548899584,484.433786212001,485.4653910860652,486.4795698460657,487.49367222806904,488.5077129820129,489.5216576990206,490.53621727903374,491.54982619697694,492.56469180900604,493.5790045670001,494.5934656910831,495.6078202390345,496.6220199710224,497.636710409075,498.66540779802017,499.6706212210702,500.6755998120643,501.68078982597217,502.6860458990559,503.69103589002043,504.6952941210475,505.69880459306296,506.70065567304846,507.7025218210183,508.7039699719753,509.7055018810788,510.70986201101914,511.7224068630021,512.7298627879936,513.733075411059,514.7347152780276,515.7362119200407,516.7410882869735,517.7537572180154,518.7644339640392,519.7663161749952,520.7682593159843,521.772611318971,522.7851635750849,523.792845916003,524.794780606986,525.799417193979,526.8100147650111,527.8121592110256,528.8139729279792,529.8160908250138,530.8220561670605,531.8263321149861,532.83700344502,533.8388328220462,534.8437790219905,535.8546237989794,536.8592224790482,537.8689637470525,538.8704169159755,539.8755524720764,540.8866097540595,541.8893183280015,542.8939562999876,543.8961505390471,544.9012211380759,545.9025136240525,546.9076808410464,547.9184795020847,548.9209077360574,549.9281226070598,550.9385827380465,551.9400457800366,552.942491165013,553.9496577780228,554.9616593869869,555.9718203280354,556.9735728329979,557.9745891790371,558.9790209489875,559.9877836899832,560.9921775329858,561.9940287660575,562.9947541609872,563.9992028829874,565.0055542520713,566.0093103339896,567.0138158750487,568.0248982430203,569.0270744090667,570.0332108549774,571.0426698289812,572.0442978519714,573.0459293239983,574.0466811710503,575.0510014489992,576.0607175070327,577.0622069339734,578.0636172740487,579.0650977630867,580.0666123100091,581.0680675590411,582.0695287580602,583.070941150072,584.0723424910102,585.0747099660803,586.078006225056,587.0786307490198,588.0829535600496,589.0922801219858,590.0942999860272,591.0968915360281,592.1013157559792,593.1150990640745,594.125904586981,595.1370238499949,596.1386752980761,597.139783599996,598.1418351470493,599.1433389490703,600.1497088060714,601.1622601110721,602.1641521840356,603.1657066150801,604.1692837009905,605.1813644900685,606.1905264210654,607.192175381002,608.1939010390779,609.1974201470148,610.2091017190833,611.2217148339842,612.2323323360179,613.2405113050481,614.251240415033,615.2660837590229,616.2766394630307,617.2783874219749,618.283625715063,619.2934188720537,620.2975667050341,621.3086344560143,622.3123753509717,623.3206288110232,624.3244138560258,625.3309866130585,626.3332644300535,627.3364837300032,628.3416255380725,629.3685799490195,630.3701549560064,631.3754806090146,632.3869897400727,633.3917742490303,634.4021060530795,635.4073325900827,636.4191572930431,637.4239987509791,638.4347851930652,639.4373394160066,640.4386250830721,641.4440387060167,642.4556662159739,643.4606392320711,644.4626098209992,645.4654361370485,646.4690801000688,647.4814225709997,648.4935524279717,649.494779229979,650.4964650280308,651.4985451360699,652.5036314000608,653.5150493080728,654.5188739880687,655.5214568430092,656.5228971490869,657.5259998600231,658.536366088083,659.5383497009752,660.5391707650851,661.5409504040144,662.5474115520483,663.5488872689893,664.5506698670797,665.5528820250183,666.5554575920105,667.5572489410406,668.5612610779935,669.5735337060178,670.5855794399977,671.5988550410839,672.6119279969716,673.631691336981,674.6402191499947,675.65092736308,676.6641054369975,677.6773515500827,678.6929621159798,679.7245690090349,680.7580145400716,681.7743090880103,682.789551716065,683.8042688589776,684.8358279829845,685.8489021320129,686.8619533220772,687.8761809290154,688.8885621679947,689.9162872399902,690.9289368710015,691.9412209140137,692.9519451890374,693.9618527080165,694.9626390499761,695.9649635200622,696.967105985037,697.9687424650183,698.9711272630375,699.9769360270584,700.9883014470106,702.0003314580536,703.0105484090745,704.0172540290514,705.0191250740318,706.0216723390622,707.0232210720424,708.029104626039,709.0412002260564,710.050603021984,711.0525883240625,712.0541836870834,713.0565345110372,714.0628424930619,715.0749014560133,716.0840338499984,717.0855579560157,718.0866060249973,719.0895559620112,720.0958153270185,721.1067667920142,722.1146271619946,723.11699503602,724.1193776499713,725.1249800249934,726.1364956840407,727.144525471027,728.1466425230028,729.1497186080087,730.1560193239711,731.16569574608,732.1679315650836,733.1699508300517,734.1718599180458,735.1795611060224,736.1895094210049,737.1924210630823,738.1943580909865,739.1973146609962,740.2037920940202,741.2139718129765,742.2162982120644,743.2181756229838,744.2231828169897,745.2353860220173,746.2449686980108,747.2471878699725,748.249617406982,749.2559172559995,750.2660524590174,751.2689179140143,752.2713592110667,753.2771452150773,754.2868570700521,755.2886394560337,756.2922145320335,757.3005103260512,758.3100324670086,759.3112806790741,760.3163807729725,761.3255528850714,762.3281992480624,763.3310519250808,764.3369354980532,765.3468353999779,766.3490598449716,767.3519308320247,768.3599469569745,769.3697830910096,770.3720643160632,771.3767380539794,772.3867115050089,773.3887238970492,774.3913259330438,775.397557978984,776.4069048070814,777.4086154589895,778.4130881939782,779.423372357036,780.4251439369982,781.4275299609872,782.4332681309897,783.4422271020012,784.444162148051,785.4493730530376,786.4606532210018,787.4626046870835,788.4679695890518,789.4797793210018,790.4890708239982,791.4913839710644,792.497662118054,793.5068649740424,794.5092396889813,795.5130967940204,796.5229112730594,797.525139444042,798.5310306720203,799.5398234709864,800.5423556320602,801.5466852950631,802.5562804320361,803.5578936700476,804.5610058570746,805.5699594509788,806.5705558580812,807.5751253049821,808.5852412380045,809.5881608009804,810.5944889290258,811.596807149006,812.6011669620639,813.610597955063,814.6120649289805,815.6161522200564,816.6257480490021,817.6280946590705,818.6348998449976,819.6376528540859,820.6421971740201,821.6501498790458,822.6515778150642,823.6559604899958,824.6663898359984,825.6685241230298,826.6746856290847,827.6825122180162,828.6853506360203,829.6913344770437,830.6937698660186,831.697201278992,832.7067870600149,833.7098515219986,834.7161230460042,835.7242727570701,836.7291610100074,837.7386791639728,838.7408441420412,839.7451021519955,840.7551832610043,841.7596506250557,842.7697579640662,843.7726354930783,844.7774300690508,845.7862959520426,846.7912693030667,847.7999080229783,848.803725047037,849.8092445030343,850.810862659011,851.8154262830503,852.8226017130073,853.8249726080103,854.8286499970127,855.8364971990231,856.8406787340064,857.8486920520663,858.8516751009738,859.8550702279899,860.8565336690517,861.860624358058,862.8665158760268,863.8714955890318,864.8804900510004,865.8826655240264,866.8914976000087,867.9012915020576,868.906264676014,869.9157224870287,870.9190320280613,871.924826170085,872.9339763590833,873.9391544780228,874.9495768219931,875.9532485740492,876.9585032120813,877.9608538700268,878.9650316879852,879.9749751760392,880.9793708979851,881.9894881519722,882.9927184460685,883.9964648570167,884.9996517630061,886.0061905269977,887.0085836860817,888.0128327630227,889.0238199629821,890.029205849045,891.0387547389837,892.0420110750711,893.0458988429746,894.04724966106,895.0525902389782,896.0625346790766,897.0671341780107,898.0793529750081,899.0825022740755,900.0902414059965,901.0927261339966,902.0976309850812,903.0985195370158,904.1026112909894,905.1151056510862,906.1205555270426,907.130546258064,908.1347292690771,909.1442510130582,910.1489587799879,911.157414203044,912.1608453360386,913.1650822369847,914.1691604930675,915.1755457340041,916.1780509130331,917.182034272002,918.1846222589957,919.1888240909902,920.1989977579797,921.2035508910194,922.2133189790184,923.217555741081,924.2278205060866,925.2327913379995,926.242649284075,927.2474517510273,928.2551463979762,929.2580415280536,930.2638001990272,931.2748680619989,932.2800827480387,933.2911112130387,934.2953296069754,935.3027062329929,936.3042685210239,937.3085939120501,938.3187073030276,939.3241573630366,940.3341163580772,941.337431908003,942.3421634989791,943.3447432300309,944.349261446041,945.3594483060297,946.3647206920432,947.3753510189708,948.3804606799968,949.3899306600215,950.3931055440335,951.3992542370688,952.408702098066,953.4131013089791,954.4240312690381,955.4294879710069,956.4387918460416,957.4431344890036,958.4495654350612,959.4530568720074,960.4579172719968,961.4585171600338,962.4626705379924,963.4730412850622,964.4783986210823,965.4895463960711,966.494943301077,967.5052293799818,968.5091193469707,969.5146653479896,970.5176527110161,971.5235419030068,972.5261404260527,973.5303103660699,974.5332724190084,975.5390452850843,976.550491143018,977.5552989359712,978.5670506360475,979.5717310820473,980.5818819970591,981.5873655210016,982.5985964550637,983.6040606310125,984.6156433559954,985.6191391460598,986.6265304579865,987.6290644439869,988.633421331062,989.6367376960116,990.6431818540441,991.6506140660495,992.6549122839933,993.6653067640727,994.6692663209978,995.6793240300613,996.6848438250599,997.6940967160044,998.697767153033,999.70715385105,1000.7124349580845,1001.7213741280138,1002.7266622550087,1003.7351003760705,1004.7403826600639,1005.7495938159991,1006.7548740369966,1007.7638206180418,1008.7689486100571,1009.7780794230057,1010.7831120240735,1011.7915361530613,1012.7952226370107,1013.8018359610578,1014.8059607309988,1015.8124859040836,1016.8157729330705,1017.8212281520246,1018.825252018054,1019.8306885950733,1020.8348303850507,1021.8406427380396,1022.8436709250091,1023.8486217580503,1024.8516093230573,1025.8551136120223,1026.8587397870142,1027.8625845540082,1028.8661280580563,1029.870965706068,1030.8734082360752,1031.8779522289988,1032.8794061429799,1033.8832922399743,1034.8867908560205,1035.8905082950369,1036.8947056800826,1037.9015857910272,1038.9058196210535,1039.9124463059707,1040.917075352976,1041.92654640798,1042.9317048880039,1043.942217402975,1044.946593090077,1045.9552446620073,1046.9605729120085,1047.9710874600569,1048.975725786062,1049.9857994730119,1050.9910802380182,1052.0013355690753,1053.006795687019,1054.016996706021,1055.022378492984,1056.031821649056,1057.0373676680028,1058.0466760140844,1059.0514999000588,1060.061227843049,1061.0662309010513,1062.0757251570467,1063.08921499399,1064.1226574430475,1065.1280273960438,1066.1457319050096,1067.1603927450487,1068.17191549798,1069.1801048590569,1070.1925421850756,1071.2186016719788,1072.22327985405,1073.234361342038,1074.2473630160093,1075.2802937730448,1076.2906687260838,1077.2973818160826,1078.3339699400822,1079.3473495370708,1080.3490640680538,1081.355779863079,1082.396664615022,1083.4057348429924,1084.4088927290868,1085.4157751940656,1086.4713078560308,1087.487573725055,1088.4959141360596,1089.5314491930185,1090.5776077520568,1091.6134188990109,1092.6284994020825,1093.637709563016,1094.6771204189863,1095.7107061200077,1096.7254939860431,1097.7611099600326,1098.7746147480793,1099.7860072320327,1100.7985296450788,1101.804745306028,1102.8248224910349,1103.8614799190545,1104.8741176819894,1105.8855218980461,1106.9140672400827,1107.9213764240267,1108.9355456309859,1109.9519898960134,1110.9774996350752,1111.9801609379938,1112.9880520100705,1113.998901691055,1115.0095856140833,1116.0148615620565,1117.0189794700127,1118.0275930460775,1119.043271600036,1120.07160075102,1121.0818765680306,1122.0863901689881,1123.0886031209957,1124.0923748100176,1125.1035254580202,1126.1329890710767,1127.1416436739964,1128.1701299500419,1129.1811288880417,1130.2101283579832,1131.2129805830773,1132.2175822290592,1133.2295891949907,1134.239429046982,1135.2459386690753,1136.2536909349728,1137.2668607140658,1138.271914571058,1139.275065038004,1140.2819218439981,1141.2896080460632,1142.2975335289957,1143.306129315053,1144.3119048849912,1145.3193859179737,1146.3225575970719,1147.3257106940728,1148.330014268984,1149.3350579030812,1150.3618328190641,1151.3698814690579,1152.3722937910352,1153.380222102045,1154.3987193660578,1155.4052394240862,1156.4111209270777,1157.417610532022,1158.4198949100683,1159.432716082083,1160.4633250529878,1161.469861492049,1162.4714808739955,1163.4774699260015,1164.4792571800062,1165.4849575980334,1166.4921578040812,1167.5112003480317,1168.5154310320504,1169.5207658750005,1170.530728732003,1171.5391916580265,1172.5473481010413,1173.554839011049,1174.5603060150752,1175.5803395030089,1176.6108044390567,1177.6189989349805,1178.62756326003,1179.6358104629908,1180.6458226470277,1181.6499627280282,1182.6565640330082,1183.6612498169998,1184.6640801910544,1185.6689880379708,1186.6724348320859,1187.679384381976,1188.6842083870433,1189.6892455460038,1190.7090477830498,1191.715859401971,1192.717384902062,1193.7185099830385,1194.7213498250348,1195.7292106209788,1196.7399029090302,1197.7506125749787,1198.7567234149901,1199.7616548560327,1200.787275245064,1201.789432559046,1202.791928212042,1203.801361626014,1204.810030749999,1205.8353126730071,1206.838570562075,1207.8426297380356,1208.849644793081,1209.855798220029,1210.8652944850037,1211.8729604789987,1212.8873043310596,1213.889097832027,1214.8916564700194,1215.9025555120315,1216.911471027066,1217.9171621979913,1218.9185798540711,1219.9202247830108,1220.9217880830402,1221.9225106650265,1222.925252050045,1223.9316827650182,1224.93351558398,1225.9353515109979,1226.9403737210669,1227.9450900889933,1228.9498739030678,1229.950505209039,1230.9543821359985,1231.9583259100327,1232.9652214340167,1233.9666522260522,1234.9733733619796,1235.97845793108,1236.9937214640668,1238.0060140350834,1239.0256268780213,1240.0326803199714,1241.034231349011,1242.0393485020613,1243.0642281380715,1244.0899691580562,1245.0931924890028,1246.1037902589887,1247.1117843780667,1248.1196497500641,1249.127756003989,1250.1359394660685,1251.1439092219807,1252.1509983120486,1253.161597274011,1254.181878414005,1255.1878325199941,1256.1893721669912,1257.192894087988,1258.1966582110617,1259.1998079899931,1260.2097626740579,1261.2193563870387,1262.2297544460744,1263.2342966740252,1264.2408983850619,1265.2425254699774,1266.2441261940403,1267.2476096369792,1268.258592725033,1269.2672930740518,1270.275780837983,1271.2845487040468,1272.2861494830577,1273.2877734709764,1274.2893513090676,1275.2917853930267,1276.302530099987,1277.3090066519799,1278.3119348899927,1279.3228635790292,1280.3317734820303,1281.3355508940294,1282.3429338270798,1283.3526005470194,1284.3593592350371,1285.367802335997,1286.3885541320778,1287.3913223560667,1288.4030000070343,1289.4106608760776,1290.418902278063,1291.4256388710346,1292.4331067419844,1293.4386212760583,1294.4457533750683,1295.450523157022,1296.456933004083,1297.4584837120492,1298.4600008900743,1299.4629645469831,1300.4705156900454,1301.4722292789957,1302.473656645976,1303.4762073620223,1304.4818237429718,1305.5053438870236,1306.5091377960052,1307.5125233050203,1308.5183798070066,1309.5225585320732,1310.524184926995,1311.5257429530611,1312.5265952460468,1313.527756290976,1314.5308056530776,1315.5395703200484,1316.543790458003,1317.5535860450473,1318.5569876839872,1319.5585598030593,1320.561395606026,1321.569851085078,1322.5775499750162,1323.587345616077,1324.5961934049847,1325.6032941660378,1326.60774093098,1327.614407184068,1328.6235671180766,1329.633315155981,1330.6360348439775,1331.6425072080456,1332.6473443070427,1333.6505522690713,1334.6533986510476,1335.6631363140186,1336.67055861908,1337.675718674087,1338.685171653051,1339.701611579978,1340.7059015870327,1341.7229662560858,1342.731682771002,1343.7347851070808,1344.736371714971,1345.7379190620268,1346.742526586051,1347.751496150042,1348.7638932600385,1349.7725501210662,1350.7870315529872,1351.7923390030628,1352.795654657064,1353.8028629040346,1354.8138131690212,1355.8266064220807,1356.8293279390782,1357.835619998048,1358.837177825044,1359.8397337740753,1360.8474225520622,1361.8491226329934,1362.850516992039,1363.8529231220018,1364.8585596630583,1365.861347950995,1366.8672574040247,1367.8712329480331,1368.8778102999786,1369.8836535520386,1370.8877451809822,1371.8940180200152,1372.9035826580366,1373.9252089270158,1374.927363755065,1375.934179406031,1376.9522203700617,1377.9625420540106,1378.9654726079898,1379.9670615680516,1380.9726269789971,1381.9778537290404,1382.9832049440593,1383.98933210806,1384.9915357769933,1385.9981357660145,1387.00080084207,1388.0058347220765,1389.0097682710038,1390.0156623270595,1391.0182815809967,1392.0266048690537,1393.0406056010397,1394.0421732109971,1395.0447679130593,1396.050345072057,1397.0563528190833,1398.059127634042,1399.065624905983,1400.0665428700158,1401.0680514570558,1402.071000054013,1403.0786228830693,1404.0886381850578,1405.1039186340058,1406.1070343729807,1407.1142806400312,1408.1188998459838,1409.1247866080375,1410.1276407520054,1411.1350415210472,1412.1426290139789,1413.1474784520688,1414.157428659033,1415.1684684570646,1416.1704871209804,1417.1756715159863,1418.1842972370796,1419.189241998014,1420.1952197590144,1421.2027228190564,1422.207424993976,1423.2147100870498,1424.2234365710756,1425.2436233020853,1426.2492111300817,1427.254576203064,1428.2603435550118,1429.2693541870685,1430.274148264085,1431.2797005700413,1432.294059875072,1433.3037618760718,1434.3096786689712,1435.3158317459747,1436.3218640150735,1437.3263271660544,1438.336531620007,1439.3398278820096,1440.3458955669776,1441.3487847390352,1442.3543167080497,1443.3622318700654,1444.3638187460601,1445.367486112984,1446.3696849000407,1447.372357352986,1448.3785472200252,1449.3839701870456,1450.3931398510467,1451.3997941639973,1452.4064627049956,1453.4087902139872,1454.410471590003,1455.4123449199833,1456.413912996999,1457.4157490769867,1458.4216379850404,1459.4237700559897,1460.4313239980256,1461.436979470076,1462.4384435870452,1463.4434798950097,1464.449978663004,1465.4560693620006,1466.4578117580386,1467.4597343590576,1468.4667623100104,1469.4738058400108,1470.4820567370625,1471.490429009078,1472.4919884770643,1473.4949515950866,1474.5025174079929,1475.5085942500737,1476.5101481960155,1477.511733720079,1478.5143912440399,1479.5174380369717,1480.524674025015,1481.529929956072,1482.5359981440706,1483.5378627270693,1484.538618549006,1485.5409021790838,1486.546084249043,1487.5536785729928,1488.5618011420593,1489.563990251976,1490.5705368330237,1491.5756520109717,1492.5842814140487,1493.5926811220124,1494.5959357400425,1495.6021372970426,1496.6051912690746,1497.6123001900269,1498.6198056100402,1499.6273885460105,1500.6364781210432,1501.645929126069,1502.6558766859816,1503.6633106550435,1504.6733334920136,1505.6838679150678,1506.6958536569728,1507.7019638390047,1508.7038784860633,1509.709921658039,1510.7114515340654,1511.7146189340856,1512.7175088520162,1513.7225494900486,1514.7273729430744,1515.734150632983,1516.7375917320605,1517.7437420180067,1518.749172902084,1519.7552308690501,1520.75791934703,1521.7585442910204,1522.7612234280678,1523.7672533440636,1524.7737334059784,1525.7825964430813,1526.7878640670097,1527.793851301074,1528.797982505057,1529.8077615450602,1530.8134439960122,1531.8185956709785,1532.8233037970494,1533.826536203036,1534.8283544069855,1535.8337977210758,1536.8393627919722,1537.843791302992,1538.8512894100277,1539.8587497570552,1540.8637113419827,1541.865332978079,1542.8665716439718,1543.8681410490535,1544.870453134994,1545.8727873089956,1546.874449311057,1547.8772797000129,1548.8825167330215,1549.8839564690134,1550.8855597809888,1551.887976758997,1552.894161714008,1553.8957713539712,1554.9005869950633,1555.9055297219893,1556.906584706041,1557.9081997830654,1558.911277509993,1559.9180559039814,1560.9227936450625,1561.924730641069,1562.9264040250564,1563.9316820290405,1564.942263887031,1565.9522247019922,1566.965566243045,1567.978487016051,1568.9839966309955,1569.9918698810507,1570.9979403400794,1572.0065195490606,1573.0118361470522,1574.0221015299903,1575.026616549003,1576.0298519020434,1577.0372064930853,1578.0398150919937,1579.0462646860396,1580.047899022,1581.051531712059,1582.060373689048,1583.0618982960004,1584.0662613740424,1585.0731864430709,1586.074546872056,1587.077058469993,1588.0831701090792,1589.0889578959905,1590.0947620720835,1591.100626947009,1592.1034248840297,1593.1092647080077,1594.1116898839828,1595.1222138090525,1596.1286264159717,1597.1314509800868,1598.1371232650708,1599.1438382989727,1600.1454438359942,1601.1467230210546,1602.1518319899915,1603.1574654950527,1604.1585835020524,1605.161795062013,1606.1637421359774,1607.1653793780133,1608.1674450479914,1609.1708955090726,1610.1729558879742,1611.1757938449737,1612.1813965659821,1613.1885547740385,1614.1905742220115,1615.19221444102,1616.1937943800585,1617.198418855085,1618.2004254920175,1619.2017410669941,1620.2037345829885,1621.211173778982,1622.2188446590444,1623.2258311170153,1624.2309144170722,1625.2327288449742,1626.238098166068,1627.243896564003,1628.2458118790528,1629.2477491730824,1630.2537403940223,1631.2597724350635,1632.265691798064,1633.2714820740512,1634.2800975620048,1635.2825519980397,1636.2849529960658,1637.2906155639794,1638.2950060160365,1639.2969033860136,1640.2993654700695,1641.3051514120307,1642.306560114026,1643.30861808802,1644.311329343007,1645.3156724440632,1646.3234498490347,1647.3256109689828,1648.3266061190516,1649.3288772840751,1650.331767662079,1651.3364443309838,1652.3390401559882,1653.344556080061,1654.346079574083,1655.34665593307,1656.3509789990494,1657.3557113630231,1658.358530719066,1659.3622437410522,1660.365369747975,1661.3699380840408,1662.3747252160683,1663.377052773023,1664.3788723440375,1665.3817195059964,1666.3884017140372,1667.3910086919786,1668.393664738047,1669.3956735520624,1670.3976857450325,1671.3986809960334,1672.402532008011,1673.4043123760493,1674.4063247879967,1675.4081114250002,1676.410020209034,1677.4118251050822,1678.4134735750267,1679.4148702110397,1680.4162125079893,1681.4175427859882,1682.4187964840094,1683.4212584299967,1684.4237469839863,1685.4252476150868,1686.426810984034,1687.4282699050382,1688.429922921001,1689.431288643973,1690.4326837990666,1691.4343329339754,1692.435700395028,1693.4369717290392,1694.4382403730415,1695.4395088370657,1696.4407654190436,1697.442017812049,1698.443272195058,1699.4445183170028,1700.445949614048,1701.4476219640346,1702.4494194100844,1703.4511751170503,1704.4529562720563,1705.4546052410733,1706.4571743439883,1707.4604313280433,1708.46181527304,1709.4627787290374,1710.4653465209994,1711.4700841030572,1712.4748196640285,1713.4784677050775,1714.4806371059967,1715.4830616400577,1716.4853292980697,1717.486577372998,1718.4886926340405,1719.4904627139913,1720.492019869038,1721.4947799110087,1722.4966798370006,1723.4982517410535,1724.4998378740856,1725.50194254308,1726.5026204100577,1727.5052760930266,1728.5101781230187,1729.5145014789887,1730.5161089299945,1731.5181519980542,1732.5205886650365,1733.5225005859975,1734.5240432560677,1735.5266527580097,1736.5317721690517,1737.5385698149912,1738.5457548589911,1739.5512495890725,1740.5546616059728,1741.5569464840228,1742.558776534046,1743.5617947410792,1744.5656110250857,1745.5672376899747,1746.570709813037,1747.5728060040856,1748.5746280819876,1749.578308688011,1750.582531529013,1751.5842237289762,1752.5861843720777,1753.5911873109872,1754.595856768079,1755.5973874110496,1756.5986669010017,1757.6014855280519,1758.6033926400123,1759.6077474240446,1760.6148327740375,1761.6219302020036,1762.628977971035,1763.6357715569902,1764.642391288071,1765.6470846510492,1766.6494406469865,1767.651950148982,1768.6577406310244,1769.658503061044,1770.6611168889794,1771.6663903329754,1772.6690158310812,1773.6740211830474,1774.6750720820855,1775.6793055139715,1776.684461581055,1777.6871341350488,1778.6920676060254,1779.6947356800083,1780.6986383200856,1781.7020833410788,1782.7066862210631,1783.7103286160855,1784.7158433099976,1785.7186513780616,1786.724242308992,1787.7270971540129,1788.7328126510838,1789.7350621330552,1790.7382420690265,1791.745324557065,1792.7467274210649,1793.7506032270612,1794.7586346779717,1795.7622771799797,1796.772583568003,1797.7805087920278,1798.788799425005,1799.7919656380545,1800.8022074759938,1801.81106128206,1802.8146299839718,1803.8218518340727,1804.8247041440336,1805.8347102180123,1806.8390920460224,1807.8496081039775,1808.8583247819915,1809.864169749082,1810.8657611220842,1811.8687179069966,1812.8783217190066,1813.8799157600151,1814.8820804459974,1815.883798024035,1816.8870787679916,1817.8889450720744,1818.8924448289908,1819.9009415600449,1820.9063052460551,1821.9098398420028,1822.9185720150126,1823.9226820340846,1824.9324571080506,1825.9358585970476,1826.9426384420367,1827.9454313759925,1828.9480868750252,1829.9564500250854,1830.9669165080413,1831.9754833930638,1832.9852711840067,1833.9869070380228,1834.9886583189946,1835.9916120170383,1836.9942500420148,1837.9974491629982,1839.0028388419887,1840.0130803290522,1841.0154508700361,1842.0187600760255,1843.0251538680168,1844.0266900520073,1845.0298846299993,1846.0388047710294,1847.0430866479874,1848.052525654086,1849.05412500503,1850.056132873986,1851.0575342100346,1852.0585007870104,1853.0608878050698,1854.0645518969977,1855.0672064169776,1856.070394242066,1857.0724635079969,1858.0745595620247,1859.0776597290533,1860.0815142950742,1861.0851843650453,1862.0888609150425,1863.0918826230336,1864.09370215307,1865.095092633972,1866.0983431850327,1867.1018645879813,1868.1055457059992,1869.109117816086,1870.1122748879716,1871.114155904972,1872.11640785099,1873.1192741700215,1874.1230677129934,1875.1266394919949,1876.1301510729827,1877.1334237799747,1878.1346302630845,1879.1366452639922,1880.1391629300779,1881.142656120006,1882.1461364190327,1883.149892081041,1884.1532790820347,1885.1545758710708,1886.1564968830207,1887.1592047919985,1888.1627412780654,1889.1662937239744,1890.1698129409924,1891.1734865920153,1892.1764954919927,1893.1783814430237,1894.1811737869866,1895.184777680086,1896.1884381209966,1897.1909251830075,1898.193496493972,1899.1946877510054,1900.1969781190855,1901.2002559090033,1902.203225767007,1903.2067536800168,1904.2096515890444,1905.2106891589938,1906.2126473840326,1907.2148039330496,1908.217970705009,1909.2216680410784,1910.2250688150525,1911.2285561760655,1912.2308266710024,1913.2328498420538,1914.234844524064,1915.2369487520773,1916.2383813289925,1917.2397508469876,1918.2410082480637,1919.242256809026,1920.2435251290444,1921.244776319014,1922.246031139046,1923.2472790490137,1924.2485331390053,1925.2497832980007,1926.2510341570014,1927.2522818159778,1928.2535353240091,1929.254785511992,1930.2560405210825,1931.2572852480225,1932.2585383760743,1933.2597874130588,1934.261042690021,1935.2622981860768,1936.263575202087,1937.2648317780113,1938.2661433630856,1939.267572663026,1940.2689226460643,1941.2702190810814,1942.2715601230739,1943.272976263077,1944.2743994130287,1945.2757183350623,1946.2770304470323,1947.278374289046,1948.2796741110506,1949.2809475630056,1950.2822264960269,1951.283518098062,1952.2848255980061,1953.286108880071,1954.2873983710306,1955.2886976510054,1956.2899276630487,1957.2912143740105,1958.2925094240345,1959.2938262930838,1960.2951956799952,1961.29649182898,1962.2978194770403,1963.2991017160239,1964.300387365045,1965.301661133999,1966.3029409219744,1967.3042108010268,1968.3054899689741,1969.3067611670122,1970.3080412540585,1971.3093198910356,1972.3105934279738,1973.3118529450148,1974.313124892069,1975.3143901589792,1976.3156797339907,1977.3169488400454,1978.3182306960225,1979.3195106710773,1980.3208147760015,1981.3221529590664,1982.3234321440104,1983.3247071480146,1984.3259891620837,1985.3272581769852,1986.3285623500124,1987.3298358130269,1988.3311110070208,1989.3323866199935,1990.3336717120837,1991.3349809549982,1992.3363348350395,1993.3376147369854,1994.3389035389991,1995.34018052998,1996.3414688219782,1997.3427466630237,1998.3440333830658,1999.3453665430425,2000.3467490710318,2001.3480043220334,2002.3492575730197,2003.350500973058,2004.3517624430824,2005.3530160239898,2006.3542741240235,2007.3555309530348,2008.3567864830839,2009.3580450119916,2010.3593050310155,2011.360560990055,2012.3618101180764,2013.3630575970747,2014.3643034960842,2015.3655493339757,2016.3668036320014,2017.368048259057,2018.3692936770385],\"y\":[0.0,99.9,99.9,99.9,99.9,99.9,99.9,99.9,99.9,99.9,100.9,99.9,99.9,99.9,99.9,100.9,98.9,100.9,99.9,98.9,100.9,99.9,99.9,99.9,99.9,100.9,98.9,100.9,98.9,101.9,99.9,99.9,99.9,99.9,100.9,98.9,99.9,100.9,99.9,99.9,99.9,99.9,99.9,100.9,98.9,99.9,100.9,98.9,100.9,99.9,99.9,99.9,99.9,99.9,99.9,99.9,100.9,99.9,98.9,100.9,99.9,98.9,100.9,100.9,98.9,100.9,98.9,99.9,99.9,100.9,100.9,99.9,99.9,99.9,99.9,100.9,98.9,99.9,100.9,99.9,99.9,99.9,99.9,99.9,100.9,99.9,99.9,99.9,2550.4,12620.0,12400.6,12675.8,12486.7,12568.0,12614.6,12488.6,12669.2,12484.2,12622.1,12572.3,12530.5,12664.8,12411.1,12670.8,12480.6,12570.6,12565.2,12489.1,12641.8,12438.6,12668.0,12497.6,12509.8,12613.5,12309.4,12616.4,12566.3,12532.1,12620.4,12473.7,12664.2,12431.3,12667.3,12543.2,12586.8,12652.6,12497.7,12696.1,12454.9,12664.6,12533.0,12579.9,12658.9,12448.1,12675.0,12390.6,12656.9,12538.1,12584.3,12524.9,12571.2,12587.1,12533.7,12647.7,12447.9,12691.1,12528.2,12628.8,12583.7,12571.2,12642.3,12499.1,12671.2,12450.2,12657.3,12481.6,12640.1,12602.6,12546.2,12639.0,12523.8,12687.1,12472.9,12686.2,12458.8,12695.8,12510.8,12658.0,12556.1,12620.8,12561.5,12572.9,12607.9,12549.4,12637.0,12549.1,12641.6,12524.5,12682.3,12500.7,12689.2,12483.4,12697.3,12352.3,12642.2,12512.3,12683.3,12499.4,12677.2,12529.7,12625.9,12549.1,12641.8,12594.0,12610.6,12562.6,12626.0,12587.1,12619.3,12601.9,12595.9,12543.2,12577.7,12566.6,12608.6,12630.9,12591.3,12600.3,12597.8,12630.6,12568.2,12610.7,12518.8,12599.1,12616.7,12587.8,12582.2,12621.2,12498.0,12620.4,12487.1,12689.5,12465.9,12638.7,12556.5,12628.2,12557.3,12574.4,12544.6,12596.0,12593.3,12603.2,12607.3,12525.2,12644.4,12507.2,12679.7,12497.7,12668.2,12402.7,12683.4,12494.6,12658.5,12490.2,12604.9,12567.1,12571.9,12588.8,12507.5,12644.9,12490.3,12666.7,12486.4,12651.6,12441.9,12646.3,12526.7,12604.2,12597.7,12549.4,12617.8,12527.3,12653.7,12524.0,12685.8,12508.8,12677.6,12516.6,12616.1,12562.8,12526.3,12663.0,12470.9,12684.5,12513.8,12647.6,12541.2,12629.5,12549.2,12581.1,12617.1,12493.8,12636.2,12510.5,12605.8,12531.7,12510.9,12652.0,12511.0,12698.4,12485.6,12628.9,12538.5,12576.4,12510.7,12490.8,12559.0,12492.2,12578.3,12524.7,12671.0,12500.3,12648.4,12557.7,12559.6,12610.8,12533.5,12655.5,12503.4,12634.3,12562.5,12538.1,12669.7,12531.9,12641.2,12579.0,12579.0,12654.1,12516.6,12651.6,12590.3,12587.1,12645.7,12517.8,12633.9,12602.6,12568.4,12641.2,12520.4,12635.0,12590.2,12554.2,12668.0,12533.0,12581.3,12617.9,12562.3,12701.3,12517.4,12584.1,12629.8,12520.4,12655.4,12546.0,12540.9,12659.3,12521.2,12602.3,12629.7,12532.9,12665.7,12559.1,12551.0,12668.8,12548.1,12544.2,12640.0,12537.2,12554.0,12663.8,12540.6,12578.3,12597.1,12544.8,12612.9,12604.4,12542.2,12630.4,12587.0,12530.6,12597.4,12615.5,12503.7,12590.0,12624.2,12531.0,12564.0,12668.3,12537.8,12557.4,12635.7,12598.4,12528.6,12638.1,12611.6,12548.6,12608.1,12630.0,12517.6,12581.5,12697.9,12541.5,12544.7,12644.9,12624.4,12562.2,12587.2,12652.2,12540.5,12578.1,12618.3,12590.4,12597.5,12618.7,12661.0,12557.8,12566.8,12655.1,12629.0,12549.8,12552.7,12592.8,12585.4,12530.7,12586.0,12659.7,12612.5,12524.2,12540.8,12651.2,12588.1,12536.8,12553.4,12639.3,12640.5,12559.0,12578.2,12591.7,12606.8,12632.8,12592.7,12548.3,12561.0,12591.2,12559.7,12575.2,12559.7,12644.7,12606.4,12590.8,12587.4,12520.8,12606.8,12638.4,12615.3,12569.9,12578.0,12544.9,12605.8,12657.0,12603.7,12583.6,12581.7,12560.4,12532.2,12646.3,12601.1,12617.5,12580.0,12567.1,12575.9,12572.3,12600.2,12643.8,12631.8,12581.8,12603.8,12581.7,12622.0,12573.9,12600.9,12581.3,12571.4,12604.3,12591.5,12639.0,12549.9,12563.0,12472.3,12613.7,12593.5,12539.4,12610.4,12584.5,12570.0,12601.7,12536.6,12564.7,12552.1,12609.6,12575.9,12547.1,12597.6,12507.3,12509.6,12596.9,12563.4,12584.3,12534.4,12554.1,12524.0,12519.3,12522.3,12535.6,12516.8,12488.1,12501.7,12539.0,12517.4,12550.9,12617.1,12610.9,12622.1,12615.2,12630.2,12544.1,12495.7,12548.9,12576.6,12564.1,12570.8,12594.6,12624.9,12608.6,12534.9,12597.2,12629.8,12551.6,12577.9,12607.8,12507.8,12629.6,12563.2,12624.1,12636.3,12569.1,12633.5,12549.9,12567.8,12588.2,12627.0,12581.8,12645.1,12597.6,12620.6,12605.4,12588.3,12647.5,12609.4,12591.2,12588.0,12644.0,12657.6,12624.2,12635.7,12594.7,12542.3,12584.9,12627.5,12599.7,12613.8,12636.2,12606.1,12640.6,12654.6,12630.9,12612.7,12672.6,12626.9,12627.3,12634.3,12643.3,12653.3,12652.9,12663.0,12661.1,12677.1,12675.6,12682.6,12706.6,9570.7,3681.8,12624.2,12639.2,12687.7,12665.3,12634.4,12636.2,12642.8,12661.4,12626.2,12672.4,12638.3,12624.0,12571.1,12612.4,12570.5,12631.8,12622.8,12640.0,12637.4,12598.2,12527.4,12567.0,12566.7,12571.7,12503.0,12534.7,12581.1,12546.2,12563.4,12569.8,12606.2,12615.6,12584.5,12602.6,12594.6,12630.2,12579.9,12563.6,12638.2,12581.7,12583.4,12556.0,12635.6,12622.1,12589.9,12633.7,12600.3,12578.9,12484.5,12494.7,12449.1,12520.5,12556.8,12532.6,12605.6,12623.5,12567.1,12596.7,12633.5,12606.2,12589.5,12585.4,12614.9,12568.2,12620.7,12556.9,12620.6,12581.2,12527.1,12564.4,12564.2,12594.1,12549.0,12583.6,12604.9,12578.0,12575.4,12564.0,12493.0,12499.3,12583.3,12589.5,12603.1,12592.0,12606.8,12594.5,12595.6,12528.4,12570.7,12577.3,12605.6,12584.5,12575.0,12553.6,12535.2,12593.5,12575.5,12619.5,12625.2,12478.0,12578.3,12440.5,12446.5,12537.7,12584.1,12655.1,12563.9,12614.8,12613.2,12587.0,12599.1,12612.0,12594.5,12607.3,12637.3,12599.5,12564.2,12600.9,12651.1,12586.7,12593.7,12588.2,12571.5,12674.0,12575.7,12567.1,12537.5,12522.2,12599.2,12630.7,12608.1,12563.1,12572.8,12600.4,12628.9,12668.7,12581.7,12589.6,12583.2,12598.0,12652.4,12595.5,12541.0,12566.7,12634.3,12627.6,12564.0,12541.5,12539.6,12601.3,12663.3,12542.5,12505.0,12551.9,12634.1,12648.8,12575.5,12551.4,12583.3,12636.9,12618.8,12554.9,12552.4,12626.5,12629.8,12562.8,12523.4,12652.8,12609.1,12565.7,12576.8,12636.5,12574.2,12571.7,12603.8,12650.2,12558.6,12462.4,12634.5,12642.9,12479.1,12569.9,12639.4,12569.2,12522.2,12589.4,12624.2,12513.8,12531.3,12647.1,12605.8,12560.6,12559.4,12622.0,12563.5,12528.2,12640.5,12552.2,12518.8,12639.3,12559.0,12535.6,12593.6,12576.6,12534.8,12553.0,12652.7,12512.1,12507.5,12620.3,12624.5,12550.3,12656.6,12504.5,12501.5,12628.5,12554.8,12492.1,12555.7,12606.2,12526.5,12630.9,12578.5,12540.8,12663.0,12485.2,12624.4,12536.8,12495.2,12570.6,12569.1,12538.2,12660.9,12489.2,12455.4,12538.6,12489.6,12560.9,12608.3,12504.4,12629.1,12537.3,12545.2,12667.2,12532.5,12589.1,12606.8,12532.3,12651.6,12427.7,12550.1,12632.0,12499.9,12627.0,12536.1,12481.1,12530.0,12397.6,12537.7,12472.2,12473.2,12514.2,12502.8,12621.6,12490.2,12521.2,12534.8,12465.9,12590.2,12506.3,12555.6,12602.4,12529.3,12648.9,12463.6,12610.7,12551.2,12512.4,12623.5,12480.1,12652.4,12519.3,12579.3,12597.9,12491.8,12640.6,12523.3,12584.6,12603.0,12511.1,12662.2,12546.0,12603.8,12571.3,12554.6,12607.5,12427.2,12640.6,12460.0,12608.0,12474.6,12653.4,12470.0,12536.7,12514.6,12476.9,12578.3,12470.3,12581.0,12543.3,12537.8,12575.7,12480.7,12648.3,12493.0,12650.1,12443.0,12599.4,12555.4,12589.2,12580.0,12520.7,12570.9,12494.1,12634.9,12492.3,12585.3,12485.3,12671.0,12487.2,12616.0,12440.9,12549.7,12550.6,12525.5,12381.0,12599.5,12352.7,12643.9,12616.1,12620.0,12713.1,12623.0,12678.8,12594.2,12607.7,12690.4,12616.3,12692.8,12646.1,12654.5,12688.2,12621.3,12710.7,12631.5,12727.0,12584.2,12706.8,12626.1,12666.7,12658.6,12601.8,12730.7,12611.3,12710.7,12653.3,12692.2,12670.8,12647.2,12670.2,12556.0,12710.6,12621.5,12716.4,12591.2,12696.3,12591.4,12634.2,12701.9,12581.1,12729.6,12595.7,12661.7,12612.4,12730.4,12611.8,12719.7,12617.5,12683.2,12598.6,12668.6,12660.2,12652.9,12691.6,12628.2,12688.4,12599.4,12740.7,12636.4,12718.4,12565.7,12690.5,12621.9,12700.4,12639.9,12708.5,12586.3,12715.4,12663.8,12665.5,12704.2,12699.9,12667.0,12665.6,12712.8,12662.2,12687.3,12643.6,12723.8,12664.3,12709.1,12600.7,12747.1,12652.9,12721.3,12612.0,12749.6,12630.5,12745.3,12587.5,12680.7,12628.3,12721.6,12610.0,12743.8,12589.5,12722.3,12623.7,12732.6,12656.7,12742.2,12632.7,12706.0,12647.1,12730.6,12628.5,12746.0,12583.6,12736.5,12621.3,12760.0,12629.7,12740.3,12633.0,12743.4,12633.3,12739.2,12658.5,12682.0,12652.1,12735.1,12658.6,12704.6,12664.1,12712.6,12652.7,12699.2,12685.3,12650.7,12714.8,12661.0,12687.5,12665.7,12708.2,12530.4,12520.0,12473.6,12525.7,12430.3,12501.5,12472.4,12438.6,12486.9,12482.6,12517.6,12498.2,12461.4,12513.6,12485.0,12513.8,12410.8,12486.1,12487.9,12473.5,12380.2,12443.8,12365.9,12447.9,12470.1,12451.2,12493.4,12462.8,12463.4,12424.5,12323.5,12641.1,12232.3,12456.6,12454.1,12439.3,12359.9,12425.2,12344.9,12386.8,12441.5,12486.6,12416.7,12349.7,12344.7,12318.8,12281.2,12402.4,12389.0,12446.3,12384.9,12472.9,12433.3,12376.8,12336.1,12360.8,12513.6,12291.0,12399.6,12343.6,12355.2,12400.6,12392.8,12465.2,12440.8,12447.6,12485.9,12483.8,12423.0,12476.1,12436.7,12512.4,12491.6,12492.4,12465.2,12392.5,12439.9,12396.0,12492.0,12486.9,12489.2,12495.8,12485.8,12538.0,12483.3,12478.3,12504.7,12406.5,12425.1,12418.7,12507.1,12436.8,12412.1,12468.2,12493.7,12443.1,12447.1,12396.9,12475.6,12377.4,12391.8,12441.3,12404.6,12389.2,12373.5,12350.1,12408.6,12440.5,12380.9,12451.5,12390.4,12477.1,12414.3,12388.4,12396.9,12398.5,12362.6,12369.9,12341.4,12418.4,12361.1,12459.9,12409.1,12420.4,12408.2,12413.0,12389.5,12316.3,12349.7,12335.3,12448.9,12451.1,12460.7,12490.0,12438.6,12484.3,12465.0,12486.9,12441.8,12509.1,12473.0,12485.5,12484.9,12450.2,12427.6,12415.5,12502.0,12378.6,12501.4,12444.1,12487.9,12519.9,12375.9,12444.3,12420.3,12406.1,12412.8,12479.1,12383.7,12366.8,12369.6,12395.5,12389.4,12401.4,12368.4,12426.9,12372.2,12346.9,12383.2,12351.5,12375.1,12427.6,12424.6,12427.1,12485.0,12422.0,12465.6,12425.1,12366.6,12491.699999999999,12405.4,12417.0,12454.6,12398.5,12374.7,12467.2,12426.8,12386.7,12436.8,12464.7,12431.5,12444.5,12484.0,12492.2,12495.6,12490.4,12453.9,12409.8,12460.7,12472.8,12520.1,12462.9,12400.2,12442.4,12433.9,12475.9,12503.3,12444.8,12460.0,12426.9,12434.4,12448.9,12422.2,12277.0,12369.9,12286.5,12409.5,12418.2,12377.5,12331.9,12368.0,12457.1,12398.1,12477.6,12417.1,12453.2,12471.9,12446.5,12475.7,12396.9,12429.8,12399.0,12430.9,12471.1,12488.8,12452.5,12491.6,12498.1,12379.6,12376.0,12384.699999999999,12474.8,12450.5,12483.2,12463.3,12505.4,12470.8,12456.8,12438.1,12428.7,12402.9,12478.4,12485.1,12474.1,12516.1,12576.3,12418.3,12463.7,12458.3,12425.4,12462.1,12453.2,12484.3,12499.2,12543.0,12465.5,12452.3,12343.1,12288.5,12382.9,12339.2,12388.9,12441.5,12413.9,12444.5,12479.7,12496.6,12543.3,12453.5,12563.6,12466.8,12513.1,12489.6,12533.8,12489.4,12538.3,12470.8,12488.5,12447.6,12409.4,12470.2,12392.1,12341.4,12412.3,12371.0,12433.9,12396.5,12416.8,12445.8,12409.4,12344.4,12378.6,12424.1,12422.4,12462.1,12538.8,12457.9,12434.7,12477.7,12391.3,12403.6,12457.5,12488.2,12496.2,12433.2,12514.8,12532.7,12521.9,12483.9,12514.8,12520.5,12546.8,12547.2,12539.6,12515.1,12538.2,12521.6,12452.4,12441.4,12467.8,12484.4,12468.2,12520.0,12440.8,12428.2,12442.6,12402.1,12325.0,12331.0,12321.7,12246.6,12257.7,12240.0,12233.9,12269.9,12235.8,12326.1,12266.6,12166.0,12227.8,12330.0,12424.1,12400.2,12392.1,12447.5,12317.6,12389.1,12405.2,12442.5,12449.1,12442.3,12457.4,12457.8,12442.7,12488.8,12471.2,12477.0,12398.4,12457.5,12443.3,12431.0,12410.7,12377.8,12359.8,12453.9,12435.5,12380.2,12445.9,12398.1,12411.1,12409.0,12425.9,12449.6,12446.9,12440.8,12419.4,12431.6,12401.6,12436.8,12435.8,12444.7,12460.7,12462.7,12413.5,12450.4,12417.4,12488.6,12446.6,12464.2,12452.6,12410.1,12433.6,12490.8,12484.9,12449.0,12364.8,12405.9,12449.3,12353.1,12390.6,12436.2,12487.1,12464.4,12457.7,12419.9,12407.4,12384.6,12419.2,12348.4,12441.0,12448.3,12430.4,12369.0,12261.0,12353.5,12350.4,12348.5,12431.4,12368.3,12454.1,12413.2,12399.2,12439.4,12480.9,12460.6,12466.4,12439.4,12451.8,12445.9,12500.6,12458.0,12440.6,12460.9,12475.9,12477.6,12511.6,12520.2,12504.6,12527.0,12498.7,12516.1,12530.0,12529.7,12493.6,12516.6,12458.9,12417.6,12454.6,12479.4,12581.1,12471.9,12521.5,12461.9,12531.1,12434.0,12488.1,12514.7,12456.1,12508.2,12448.5,12423.0,12419.1,12488.5,12470.7,12493.0,12478.2,12386.9,12422.4,12447.6,12434.2,12476.7,12412.2,12388.3,12430.8,12439.4,12442.8,12490.8,12451.2,12406.4,12374.6,12414.1,12505.1,12495.3,12438.3,12530.7,12532.2,12512.7,12527.9,12486.0,12453.2,12510.0,12453.8,12442.4,12487.1,12466.8,12482.0,12543.0,12488.7,12511.5,12515.4,12450.3,12484.1,12478.6,12446.0,12468.5,12463.2,12494.2,12512.2,12491.9,12483.5,12482.9,12479.5,12483.9,12475.7,12473.6,12515.5,12411.8,12486.6,12469.8,12497.5,12515.2,12506.6,12534.9,12521.8,12484.7,12531.2,12551.3,12528.7,12565.6,12532.6,12566.4,12535.5,12497.6,12540.6,12514.6,12520.7,12488.1,12523.8,12550.4,12546.0,12508.9,12515.3,12520.6,12540.6,12554.0,12529.0,12567.6,12568.6,12542.1,12531.5,12543.2,12564.1,12551.6,12527.2,12567.5,12545.3,12535.5,12480.5,12523.4,12557.1,12484.8,12502.4,12476.0,12493.0,12503.3,12530.7,12563.0,12465.9,12485.3,12541.6,12581.4,12579.0,12566.0,12524.8,12512.8,12595.6,12546.6,12571.5,12597.4,12559.2,12524.7,12526.9,12571.0,12545.6,12553.9,12545.2,12542.0,12549.9,12563.3,12533.1,12550.9,12606.3,12590.7,12597.5,12586.9,12604.8,12607.7,12622.7,12624.6,12632.0,12713.4,12742.8,12748.5,11765.8,98.9,11727.1,12529.5,9474.2,8532.8,7479.5,1684.7,7344.4,8599.3,99.9,11279.8,7406.9,100.9,99.9,99.9,99.9,99.9,99.9,99.9,99.9,12539.4,12657.5,12727.2,7775.4,10241.9,12711.4,12730.7,2394.6,3955.7,12774.1,12764.6,12753.4,12747.2,12766.7,12745.7,12731.0,12739.8,12730.8,12726.1,12726.0,12725.7,12728.7,12704.1,12728.5,12707.1,12670.0,12724.4,12727.6,12706.5,12725.8,12689.5,12742.2,12686.8,12720.8,12714.7,12693.3,12734.4,12693.9,12731.2,12705.5,12741.9,12706.2,12680.7,12713.3,12722.9,12681.6,12703.3,12646.5,12726.7,12678.7,12699.4,12695.4,12680.7,12656.4,12707.6,12695.7,12694.2,12662.5,12592.6,12649.3,12596.4,12610.6,12559.8,12573.3,12628.8,12703.7,12672.9,12607.7,12677.4,12665.5,12627.8,12631.6,12587.1,12616.3,12605.3,12609.7,12656.7,12613.6,12694.2,12642.9,12710.3,12638.5,12712.8,12640.2,12650.3,12671.2,12743.0,12701.7,12720.3,12691.9,12606.1,12696.9,12676.7,12683.3,12649.1,12660.4,12635.4,12651.6,12669.4,12650.8,12621.6,12641.9,12606.8,12653.9,12637.6,12664.9,12663.8,12625.3,12553.1,12555.1,12594.0,12581.6,12653.5,12635.2,12637.6,12624.7,12621.8,12606.9,12633.2,12640.1,12630.6,12606.0,12625.7,12623.5,12611.8,12643.4,12559.5,12547.9,12566.6,12563.8,12601.6,12615.8,12614.7,12628.3,12603.0,12620.9,12611.2,12598.2,12630.4,12627.6,12605.7,12588.0,12636.3,12594.6,12614.5,12629.8,12636.5,12532.1,11584.0,11771.1,12032.9,12115.7,12413.5,12655.9,12618.4,12619.0,12631.3,12663.1,12709.0,12683.9,12665.5,12699.9,12709.9,12681.3,12709.8,12710.1,12715.2,12694.4,12642.4,12735.6,12700.0,12645.3,12695.5,12703.2,12705.2,12714.9,12681.0,12705.0,12649.0,12710.9,12706.0,12714.6,12701.8,12679.2,12706.8,12667.5,12701.5,12712.9,12698.8,12638.5,12693.4,12691.2,12668.7,12696.4,12647.5,12713.0,12724.2,12711.4,12700.5,12671.9,12700.6,12721.6,12714.7,12719.4,12684.7,12697.8,12655.2,12631.2,12698.0,12645.1,12708.0,12735.6,12650.0,12669.8,3565.1,99.9,99.9,99.9,99.9,98.9,99.9,99.9,99.9,98.9,99.9,100.9,98.9,98.9,99.9,99.9,99.9,99.9,98.9,99.9,99.9,99.9,99.9,98.9,100.9,98.9,100.9,99.9,99.9,99.9,99.9,100.9,99.9,99.9,100.9,99.9,99.9,99.9,99.9,100.9,98.9,99.9,100.9,99.9,99.9,99.9,99.9,99.9,100.9,98.9,99.9,100.9,99.9,99.9,100.9,99.9,99.9,99.9,99.9,99.9,99.9,100.9,99.9,98.9,100.9,99.9,100.9,99.9,98.9,99.9,100.9,99.9,98.9,100.9,99.9,99.9,99.9,100.9,99.9,100.9,98.9,100.9,99.9,99.9,98.9,101.9,98.9,99.9,99.9,99.9,99.9,99.9,99.9,99.9,98.9,100.9,98.9,100.9,99.9,98.9,98.9,99.9,99.9,98.9]},\"selected\":{\"id\":\"1363\"},\"selection_policy\":{\"id\":\"1362\"}},\"id\":\"1349\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data\":{\"x\":[0.0,1.0013347830390558,2.002592268981971,3.003884684992954,4.00516829197295,5.00645321898628,6.007715607993305,7.008985346998088,8.010250147082843,9.011532498057932,10.012806748971343,11.014074480975978,12.015350133995526,13.01667342602741,14.018005989026278,15.019286224036478,16.020555680035613,17.021815116982907,18.023090603994206,19.024362332071178,20.025629431009293,21.026898130076006,22.0281643710332,23.02942482207436,24.030690483981743,25.03196339600254,26.03323270904366,27.034501862013713,28.035775537020527,29.03705163206905,30.038322778069414,31.039599184063263,32.0408704620786,33.04213607998099,34.043405657983385,35.04468310798984,36.04594541806728,37.04720613907557,38.048467401065864,39.04972746304702,40.05099878704641,41.05226306000259,42.053525045048445,43.054783970001154,44.05604362604208,45.05730789306108,46.05857117997948,47.05982458801009,48.06108142703306,49.062344686011784,50.063619025982916,51.06487692706287,52.06613546900917,53.067391901044175,54.06864480301738,55.06990429700818,56.071162451058626,57.072421796037816,58.07367948198225,59.07494004804175,60.07620669505559,61.07747239200398,62.07873040006962,63.07998875901103,64.0812456990825,65.08248172898311,66.08375309000257,67.0850155610824,68.0862781329779,69.08755206607748,70.08880970906466,71.09007822303101,72.09133668802679,73.09260518301744,74.09387243899982,75.09512820607051,76.09638373297639,77.0976458810037,78.09890784905292,79.1001667890232,80.10143097897526,81.10269938898273,82.10397204000037,83.10525022202637,84.10650424403138,85.10774882801343,86.10898995201569,87.11023168708198,88.11154443002306,89.1154145130422,90.12278061802499,91.12733660207596,92.1320303240791,93.14170139597263,94.1452984190546,95.15451540600043,96.15678459708579,97.1601607890334,98.1658431760734,99.16936959407758,100.17879558808636,101.18279076402541,102.19135621399619,103.19568762206472,104.199837606051,105.20976061897818,106.21510695107281,107.2255288810702,108.23063910007477,109.23923334304709,110.24245507607702,111.24638672103174,112.25664031901397,113.26070448104292,114.26929799607024,115.27286854304839,116.27807810506783,117.28654923604336,118.29159978299867,119.30097987002227,120.30343688104767,121.30598596006166,122.31055123300757,123.3150046900846,124.32496719399933,125.32930951507296,126.33850130997598,127.34003997198306,128.34321848698892,129.34900328004733,130.35310057201423,131.36232452001423,132.3663054750068,133.37450857297517,134.3764730860712,135.37943119206466,136.38255897397175,137.38777670799755,138.39681517507415,139.4010802169796,140.41055528307334,141.41587933606934,142.42659063905012,143.43078870500904,144.43872849701438,145.44120281201322,146.4442701410735,147.45080421399325,148.45399766997434,149.45961506001186,150.4640311030671,151.47248041501734,152.4749867230421,153.47731977701187,154.48167608503718,155.4851979559753,156.49400061008055,157.49718769197352,158.50684249401093,159.51117601501755,160.52057023497764,161.52204472699668,162.5271324190544,163.52992291504052,164.5313291309867,165.535553068039,166.53960405103862,167.54701443004888,168.55150936206337,169.56018626701552,170.56519434507936,171.57436679699458,172.57972459704615,173.58999501902144,174.595748007996,175.60536261100788,176.61110341106541,177.62126231903676,178.6254382050829,179.63594344398007,180.6398893770529,181.64853295008652,182.6505486590322,183.6525147689972,184.65521705907304,185.65869257808663,186.66234772303142,187.66541718505323,188.67149599199183,189.676042293082,190.68561045406386,191.6909329550108,192.70034755207598,193.70540590106975,194.71463254408445,195.7201552609913,196.7309256209992,197.73544046701863,198.74550270906184,199.74925390805583,200.7589035719866,201.76452868897468,202.77437893906608,203.77941908303183,204.79010394006036,205.7957577590132,206.80713915801607,207.81245156703517,208.8232113639824,209.82901663007215,210.85659092804417,211.8616734050447,212.87073248205706,213.87626297806855,214.8860573649872,215.891256220988,216.90179051901214,217.90547072899062,218.91452805802692,219.9188361010747,220.92836081900168,221.93311915104277,222.94308661704417,223.9486007890664,224.9582549650222,225.9634987739846,226.97391012101434,227.9794316639891,228.99043647304643,229.9957166450331,231.00565877498593,232.00934049207717,233.0192213850096,234.02431952301413,235.03318920603488,236.037247603992,237.04272138304077,238.04587025707588,239.0498418690404,240.05137850902975,241.05678881099448,242.0643045650795,243.06897244905122,244.07903280400205,245.08384882402606,246.09328259702306,247.0973383099772,248.10775763599668,249.11271217407193,250.12176657898817,251.12558025098406,252.13220078498125,253.1352792980615,254.14044127298985,255.1466648390051,256.1510211280547,257.1615929240361,258.16717155999504,259.178308880073,260.182979483041,261.1927686710842,262.196225407999,263.20312845904846,264.20631678402424,265.21016737201717,266.2126693270402,267.21760805498343,268.22816154605243,269.2334059160203,270.2442302600248,271.2491816590773,272.25942838098854,273.2618016829947,274.26557149598375,275.26651186903473,276.2713367739925,277.28189052897505,278.28550529805943,279.2954543810338,280.29971116408706,281.30926645803265,282.3115568170324,283.31458313402254,284.31691414199304,285.32085379597265,286.33022417803295,287.3336343980627,288.341577370069,289.3432695979718,290.3474037980195,291.348889283021,292.3528769679833,293.36226619197987,294.367236981052,295.37663088703994,296.38108066108543,297.38948164507747,298.3928333200747,299.4011875760043,300.4048305840697,301.4127458729781,302.4151476670522,303.4208123900462,304.4300636430271,305.4330541320378,306.44160953501705,307.4440985880792,308.44991287903395,309.4505176660605,310.45486049808096,311.4646342030028,312.46843516104855,313.47788714198396,314.4789660180686,315.4838180290535,316.49305954703595,317.49721534806304,318.5066498720553,319.50880817906,320.51297833106946,321.52193117898423,322.526617437019,323.53461663308553,324.53709040407557,325.5410926420009,326.55026214697864,327.55435723403934,328.5627938390244,329.56424183002673,330.56827687006444,331.57751398405526,332.5801029150607,333.5862913050223,334.5878132269718,335.59190620598383,336.60166799800936,337.6034108940512,338.6069743100088,339.60883741406724,340.6130371920299,341.6225594030693,342.62486867501866,343.63097640208434,344.6406970580574,345.6440178829944,346.6507533940021,347.65235496801324,348.656550529995,349.6664695420768,350.6686960699735,351.67491337598767,352.6850058250129,353.688047491014,354.69408653397113,355.69571164099034,356.70003231207374,357.71073637600057,358.71221821708605,359.7164235430537,360.7266046620207,361.72807673504576,362.7322429730557,363.7418138610665,364.7425183170708,365.74684517097194,366.75694889505394,367.75842108007055,368.76255131105427,369.7726563559845,370.77421385003254,371.7778675360605,372.7865716710221,373.7888987840852,374.79314119403716,375.8028826320078,376.8045618040487,377.8076910370728,378.81419788498897,379.8163577950327,380.8188828160055,381.8251284729922,382.8351718640188,383.83744810300414,384.84405202104244,385.8534228220815,386.8545205540722,387.85862932307646,388.8665500059724,389.8684176780516,390.8724875180051,391.88363171205856,392.889914082014,393.8913822460454,394.89709498302545,395.90652231604327,396.90796680306084,397.9123076479882,398.92085833707824,399.922703193035,400.92517002206296,401.9320003100438,402.94074894406367,403.94293644302525,404.9473700589733,405.9584118600469,406.9669086530339,407.9691164920805,408.97518602304626,409.9846399810631,410.9860817519948,411.98739295697305,412.9933793019736,414.00250306900125,415.00431567197666,416.00736728904303,417.01321864000056,418.02296994102653,419.02441936405376,420.0273276580265,421.0348528630566,422.04445480008144,423.04662376397755,424.0488284690073,425.05425940302666,426.06596209306736,427.07457157899626,428.07669581705704,429.07982684706803,430.08813241298776,431.09800665604416,432.0990199360531,433.1012405520305,434.1042811360676,435.1130454810336,436.12151272501796,437.1239735260606,438.1270455500344,439.1331713000545,440.1450296100229,441.1534281669883,442.1549875549972,443.15698599105235,444.1626465850277,445.1746566030197,446.1825505050365,447.18454913201276,448.18673526507337,449.1890214650193,450.19498507201206,451.2051064840052,452.2147225009976,453.2163017420098,454.21810676704627,455.22008421702776,456.2229606229812,457.23106518306304,458.2409390839748,459.2495111420285,460.2507721330039,461.25271760707255,462.25443917606026,463.25732834404334,464.26184869604185,465.27028524898924,466.28232348302845,467.29273633204866,468.3005033150548,469.30210152000654,470.30430998804513,471.3062549739843,472.30782932101283,473.31013847806025,474.3153550539864,475.32432913500816,476.33662149403244,477.34688546007965,478.3487908700481,479.350220183027,480.3518120520748,481.3573048519902,482.3880530480528,483.41940548899584,484.433786212001,485.4653910860652,486.4795698460657,487.49367222806904,488.5077129820129,489.5216576990206,490.53621727903374,491.54982619697694,492.56469180900604,493.5790045670001,494.5934656910831,495.6078202390345,496.6220199710224,497.636710409075,498.66540779802017,499.6706212210702,500.6755998120643,501.68078982597217,502.6860458990559,503.69103589002043,504.6952941210475,505.69880459306296,506.70065567304846,507.7025218210183,508.7039699719753,509.7055018810788,510.70986201101914,511.7224068630021,512.7298627879936,513.733075411059,514.7347152780276,515.7362119200407,516.7410882869735,517.7537572180154,518.7644339640392,519.7663161749952,520.7682593159843,521.772611318971,522.7851635750849,523.792845916003,524.794780606986,525.799417193979,526.8100147650111,527.8121592110256,528.8139729279792,529.8160908250138,530.8220561670605,531.8263321149861,532.83700344502,533.8388328220462,534.8437790219905,535.8546237989794,536.8592224790482,537.8689637470525,538.8704169159755,539.8755524720764,540.8866097540595,541.8893183280015,542.8939562999876,543.8961505390471,544.9012211380759,545.9025136240525,546.9076808410464,547.9184795020847,548.9209077360574,549.9281226070598,550.9385827380465,551.9400457800366,552.942491165013,553.9496577780228,554.9616593869869,555.9718203280354,556.9735728329979,557.9745891790371,558.9790209489875,559.9877836899832,560.9921775329858,561.9940287660575,562.9947541609872,563.9992028829874,565.0055542520713,566.0093103339896,567.0138158750487,568.0248982430203,569.0270744090667,570.0332108549774,571.0426698289812,572.0442978519714,573.0459293239983,574.0466811710503,575.0510014489992,576.0607175070327,577.0622069339734,578.0636172740487,579.0650977630867,580.0666123100091,581.0680675590411,582.0695287580602,583.070941150072,584.0723424910102,585.0747099660803,586.078006225056,587.0786307490198,588.0829535600496,589.0922801219858,590.0942999860272,591.0968915360281,592.1013157559792,593.1150990640745,594.125904586981,595.1370238499949,596.1386752980761,597.139783599996,598.1418351470493,599.1433389490703,600.1497088060714,601.1622601110721,602.1641521840356,603.1657066150801,604.1692837009905,605.1813644900685,606.1905264210654,607.192175381002,608.1939010390779,609.1974201470148,610.2091017190833,611.2217148339842,612.2323323360179,613.2405113050481,614.251240415033,615.2660837590229,616.2766394630307,617.2783874219749,618.283625715063,619.2934188720537,620.2975667050341,621.3086344560143,622.3123753509717,623.3206288110232,624.3244138560258,625.3309866130585,626.3332644300535,627.3364837300032,628.3416255380725,629.3685799490195,630.3701549560064,631.3754806090146,632.3869897400727,633.3917742490303,634.4021060530795,635.4073325900827,636.4191572930431,637.4239987509791,638.4347851930652,639.4373394160066,640.4386250830721,641.4440387060167,642.4556662159739,643.4606392320711,644.4626098209992,645.4654361370485,646.4690801000688,647.4814225709997,648.4935524279717,649.494779229979,650.4964650280308,651.4985451360699,652.5036314000608,653.5150493080728,654.5188739880687,655.5214568430092,656.5228971490869,657.5259998600231,658.536366088083,659.5383497009752,660.5391707650851,661.5409504040144,662.5474115520483,663.5488872689893,664.5506698670797,665.5528820250183,666.5554575920105,667.5572489410406,668.5612610779935,669.5735337060178,670.5855794399977,671.5988550410839,672.6119279969716,673.631691336981,674.6402191499947,675.65092736308,676.6641054369975,677.6773515500827,678.6929621159798,679.7245690090349,680.7580145400716,681.7743090880103,682.789551716065,683.8042688589776,684.8358279829845,685.8489021320129,686.8619533220772,687.8761809290154,688.8885621679947,689.9162872399902,690.9289368710015,691.9412209140137,692.9519451890374,693.9618527080165,694.9626390499761,695.9649635200622,696.967105985037,697.9687424650183,698.9711272630375,699.9769360270584,700.9883014470106,702.0003314580536,703.0105484090745,704.0172540290514,705.0191250740318,706.0216723390622,707.0232210720424,708.029104626039,709.0412002260564,710.050603021984,711.0525883240625,712.0541836870834,713.0565345110372,714.0628424930619,715.0749014560133,716.0840338499984,717.0855579560157,718.0866060249973,719.0895559620112,720.0958153270185,721.1067667920142,722.1146271619946,723.11699503602,724.1193776499713,725.1249800249934,726.1364956840407,727.144525471027,728.1466425230028,729.1497186080087,730.1560193239711,731.16569574608,732.1679315650836,733.1699508300517,734.1718599180458,735.1795611060224,736.1895094210049,737.1924210630823,738.1943580909865,739.1973146609962,740.2037920940202,741.2139718129765,742.2162982120644,743.2181756229838,744.2231828169897,745.2353860220173,746.2449686980108,747.2471878699725,748.249617406982,749.2559172559995,750.2660524590174,751.2689179140143,752.2713592110667,753.2771452150773,754.2868570700521,755.2886394560337,756.2922145320335,757.3005103260512,758.3100324670086,759.3112806790741,760.3163807729725,761.3255528850714,762.3281992480624,763.3310519250808,764.3369354980532,765.3468353999779,766.3490598449716,767.3519308320247,768.3599469569745,769.3697830910096,770.3720643160632,771.3767380539794,772.3867115050089,773.3887238970492,774.3913259330438,775.397557978984,776.4069048070814,777.4086154589895,778.4130881939782,779.423372357036,780.4251439369982,781.4275299609872,782.4332681309897,783.4422271020012,784.444162148051,785.4493730530376,786.4606532210018,787.4626046870835,788.4679695890518,789.4797793210018,790.4890708239982,791.4913839710644,792.497662118054,793.5068649740424,794.5092396889813,795.5130967940204,796.5229112730594,797.525139444042,798.5310306720203,799.5398234709864,800.5423556320602,801.5466852950631,802.5562804320361,803.5578936700476,804.5610058570746,805.5699594509788,806.5705558580812,807.5751253049821,808.5852412380045,809.5881608009804,810.5944889290258,811.596807149006,812.6011669620639,813.610597955063,814.6120649289805,815.6161522200564,816.6257480490021,817.6280946590705,818.6348998449976,819.6376528540859,820.6421971740201,821.6501498790458,822.6515778150642,823.6559604899958,824.6663898359984,825.6685241230298,826.6746856290847,827.6825122180162,828.6853506360203,829.6913344770437,830.6937698660186,831.697201278992,832.7067870600149,833.7098515219986,834.7161230460042,835.7242727570701,836.7291610100074,837.7386791639728,838.7408441420412,839.7451021519955,840.7551832610043,841.7596506250557,842.7697579640662,843.7726354930783,844.7774300690508,845.7862959520426,846.7912693030667,847.7999080229783,848.803725047037,849.8092445030343,850.810862659011,851.8154262830503,852.8226017130073,853.8249726080103,854.8286499970127,855.8364971990231,856.8406787340064,857.8486920520663,858.8516751009738,859.8550702279899,860.8565336690517,861.860624358058,862.8665158760268,863.8714955890318,864.8804900510004,865.8826655240264,866.8914976000087,867.9012915020576,868.906264676014,869.9157224870287,870.9190320280613,871.924826170085,872.9339763590833,873.9391544780228,874.9495768219931,875.9532485740492,876.9585032120813,877.9608538700268,878.9650316879852,879.9749751760392,880.9793708979851,881.9894881519722,882.9927184460685,883.9964648570167,884.9996517630061,886.0061905269977,887.0085836860817,888.0128327630227,889.0238199629821,890.029205849045,891.0387547389837,892.0420110750711,893.0458988429746,894.04724966106,895.0525902389782,896.0625346790766,897.0671341780107,898.0793529750081,899.0825022740755,900.0902414059965,901.0927261339966,902.0976309850812,903.0985195370158,904.1026112909894,905.1151056510862,906.1205555270426,907.130546258064,908.1347292690771,909.1442510130582,910.1489587799879,911.157414203044,912.1608453360386,913.1650822369847,914.1691604930675,915.1755457340041,916.1780509130331,917.182034272002,918.1846222589957,919.1888240909902,920.1989977579797,921.2035508910194,922.2133189790184,923.217555741081,924.2278205060866,925.2327913379995,926.242649284075,927.2474517510273,928.2551463979762,929.2580415280536,930.2638001990272,931.2748680619989,932.2800827480387,933.2911112130387,934.2953296069754,935.3027062329929,936.3042685210239,937.3085939120501,938.3187073030276,939.3241573630366,940.3341163580772,941.337431908003,942.3421634989791,943.3447432300309,944.349261446041,945.3594483060297,946.3647206920432,947.3753510189708,948.3804606799968,949.3899306600215,950.3931055440335,951.3992542370688,952.408702098066,953.4131013089791,954.4240312690381,955.4294879710069,956.4387918460416,957.4431344890036,958.4495654350612,959.4530568720074,960.4579172719968,961.4585171600338,962.4626705379924,963.4730412850622,964.4783986210823,965.4895463960711,966.494943301077,967.5052293799818,968.5091193469707,969.5146653479896,970.5176527110161,971.5235419030068,972.5261404260527,973.5303103660699,974.5332724190084,975.5390452850843,976.550491143018,977.5552989359712,978.5670506360475,979.5717310820473,980.5818819970591,981.5873655210016,982.5985964550637,983.6040606310125,984.6156433559954,985.6191391460598,986.6265304579865,987.6290644439869,988.633421331062,989.6367376960116,990.6431818540441,991.6506140660495,992.6549122839933,993.6653067640727,994.6692663209978,995.6793240300613,996.6848438250599,997.6940967160044,998.697767153033,999.70715385105,1000.7124349580845,1001.7213741280138,1002.7266622550087,1003.7351003760705,1004.7403826600639,1005.7495938159991,1006.7548740369966,1007.7638206180418,1008.7689486100571,1009.7780794230057,1010.7831120240735,1011.7915361530613,1012.7952226370107,1013.8018359610578,1014.8059607309988,1015.8124859040836,1016.8157729330705,1017.8212281520246,1018.825252018054,1019.8306885950733,1020.8348303850507,1021.8406427380396,1022.8436709250091,1023.8486217580503,1024.8516093230573,1025.8551136120223,1026.8587397870142,1027.8625845540082,1028.8661280580563,1029.870965706068,1030.8734082360752,1031.8779522289988,1032.8794061429799,1033.8832922399743,1034.8867908560205,1035.8905082950369,1036.8947056800826,1037.9015857910272,1038.9058196210535,1039.9124463059707,1040.917075352976,1041.92654640798,1042.9317048880039,1043.942217402975,1044.946593090077,1045.9552446620073,1046.9605729120085,1047.9710874600569,1048.975725786062,1049.9857994730119,1050.9910802380182,1052.0013355690753,1053.006795687019,1054.016996706021,1055.022378492984,1056.031821649056,1057.0373676680028,1058.0466760140844,1059.0514999000588,1060.061227843049,1061.0662309010513,1062.0757251570467,1063.08921499399,1064.1226574430475,1065.1280273960438,1066.1457319050096,1067.1603927450487,1068.17191549798,1069.1801048590569,1070.1925421850756,1071.2186016719788,1072.22327985405,1073.234361342038,1074.2473630160093,1075.2802937730448,1076.2906687260838,1077.2973818160826,1078.3339699400822,1079.3473495370708,1080.3490640680538,1081.355779863079,1082.396664615022,1083.4057348429924,1084.4088927290868,1085.4157751940656,1086.4713078560308,1087.487573725055,1088.4959141360596,1089.5314491930185,1090.5776077520568,1091.6134188990109,1092.6284994020825,1093.637709563016,1094.6771204189863,1095.7107061200077,1096.7254939860431,1097.7611099600326,1098.7746147480793,1099.7860072320327,1100.7985296450788,1101.804745306028,1102.8248224910349,1103.8614799190545,1104.8741176819894,1105.8855218980461,1106.9140672400827,1107.9213764240267,1108.9355456309859,1109.9519898960134,1110.9774996350752,1111.9801609379938,1112.9880520100705,1113.998901691055,1115.0095856140833,1116.0148615620565,1117.0189794700127,1118.0275930460775,1119.043271600036,1120.07160075102,1121.0818765680306,1122.0863901689881,1123.0886031209957,1124.0923748100176,1125.1035254580202,1126.1329890710767,1127.1416436739964,1128.1701299500419,1129.1811288880417,1130.2101283579832,1131.2129805830773,1132.2175822290592,1133.2295891949907,1134.239429046982,1135.2459386690753,1136.2536909349728,1137.2668607140658,1138.271914571058,1139.275065038004,1140.2819218439981,1141.2896080460632,1142.2975335289957,1143.306129315053,1144.3119048849912,1145.3193859179737,1146.3225575970719,1147.3257106940728,1148.330014268984,1149.3350579030812,1150.3618328190641,1151.3698814690579,1152.3722937910352,1153.380222102045,1154.3987193660578,1155.4052394240862,1156.4111209270777,1157.417610532022,1158.4198949100683,1159.432716082083,1160.4633250529878,1161.469861492049,1162.4714808739955,1163.4774699260015,1164.4792571800062,1165.4849575980334,1166.4921578040812,1167.5112003480317,1168.5154310320504,1169.5207658750005,1170.530728732003,1171.5391916580265,1172.5473481010413,1173.554839011049,1174.5603060150752,1175.5803395030089,1176.6108044390567,1177.6189989349805,1178.62756326003,1179.6358104629908,1180.6458226470277,1181.6499627280282,1182.6565640330082,1183.6612498169998,1184.6640801910544,1185.6689880379708,1186.6724348320859,1187.679384381976,1188.6842083870433,1189.6892455460038,1190.7090477830498,1191.715859401971,1192.717384902062,1193.7185099830385,1194.7213498250348,1195.7292106209788,1196.7399029090302,1197.7506125749787,1198.7567234149901,1199.7616548560327,1200.787275245064,1201.789432559046,1202.791928212042,1203.801361626014,1204.810030749999,1205.8353126730071,1206.838570562075,1207.8426297380356,1208.849644793081,1209.855798220029,1210.8652944850037,1211.8729604789987,1212.8873043310596,1213.889097832027,1214.8916564700194,1215.9025555120315,1216.911471027066,1217.9171621979913,1218.9185798540711,1219.9202247830108,1220.9217880830402,1221.9225106650265,1222.925252050045,1223.9316827650182,1224.93351558398,1225.9353515109979,1226.9403737210669,1227.9450900889933,1228.9498739030678,1229.950505209039,1230.9543821359985,1231.9583259100327,1232.9652214340167,1233.9666522260522,1234.9733733619796,1235.97845793108,1236.9937214640668,1238.0060140350834,1239.0256268780213,1240.0326803199714,1241.034231349011,1242.0393485020613,1243.0642281380715,1244.0899691580562,1245.0931924890028,1246.1037902589887,1247.1117843780667,1248.1196497500641,1249.127756003989,1250.1359394660685,1251.1439092219807,1252.1509983120486,1253.161597274011,1254.181878414005,1255.1878325199941,1256.1893721669912,1257.192894087988,1258.1966582110617,1259.1998079899931,1260.2097626740579,1261.2193563870387,1262.2297544460744,1263.2342966740252,1264.2408983850619,1265.2425254699774,1266.2441261940403,1267.2476096369792,1268.258592725033,1269.2672930740518,1270.275780837983,1271.2845487040468,1272.2861494830577,1273.2877734709764,1274.2893513090676,1275.2917853930267,1276.302530099987,1277.3090066519799,1278.3119348899927,1279.3228635790292,1280.3317734820303,1281.3355508940294,1282.3429338270798,1283.3526005470194,1284.3593592350371,1285.367802335997,1286.3885541320778,1287.3913223560667,1288.4030000070343,1289.4106608760776,1290.418902278063,1291.4256388710346,1292.4331067419844,1293.4386212760583,1294.4457533750683,1295.450523157022,1296.456933004083,1297.4584837120492,1298.4600008900743,1299.4629645469831,1300.4705156900454,1301.4722292789957,1302.473656645976,1303.4762073620223,1304.4818237429718,1305.5053438870236,1306.5091377960052,1307.5125233050203,1308.5183798070066,1309.5225585320732,1310.524184926995,1311.5257429530611,1312.5265952460468,1313.527756290976,1314.5308056530776,1315.5395703200484,1316.543790458003,1317.5535860450473,1318.5569876839872,1319.5585598030593,1320.561395606026,1321.569851085078,1322.5775499750162,1323.587345616077,1324.5961934049847,1325.6032941660378,1326.60774093098,1327.614407184068,1328.6235671180766,1329.633315155981,1330.6360348439775,1331.6425072080456,1332.6473443070427,1333.6505522690713,1334.6533986510476,1335.6631363140186,1336.67055861908,1337.675718674087,1338.685171653051,1339.701611579978,1340.7059015870327,1341.7229662560858,1342.731682771002,1343.7347851070808,1344.736371714971,1345.7379190620268,1346.742526586051,1347.751496150042,1348.7638932600385,1349.7725501210662,1350.7870315529872,1351.7923390030628,1352.795654657064,1353.8028629040346,1354.8138131690212,1355.8266064220807,1356.8293279390782,1357.835619998048,1358.837177825044,1359.8397337740753,1360.8474225520622,1361.8491226329934,1362.850516992039,1363.8529231220018,1364.8585596630583,1365.861347950995,1366.8672574040247,1367.8712329480331,1368.8778102999786,1369.8836535520386,1370.8877451809822,1371.8940180200152,1372.9035826580366,1373.9252089270158,1374.927363755065,1375.934179406031,1376.9522203700617,1377.9625420540106,1378.9654726079898,1379.9670615680516,1380.9726269789971,1381.9778537290404,1382.9832049440593,1383.98933210806,1384.9915357769933,1385.9981357660145,1387.00080084207,1388.0058347220765,1389.0097682710038,1390.0156623270595,1391.0182815809967,1392.0266048690537,1393.0406056010397,1394.0421732109971,1395.0447679130593,1396.050345072057,1397.0563528190833,1398.059127634042,1399.065624905983,1400.0665428700158,1401.0680514570558,1402.071000054013,1403.0786228830693,1404.0886381850578,1405.1039186340058,1406.1070343729807,1407.1142806400312,1408.1188998459838,1409.1247866080375,1410.1276407520054,1411.1350415210472,1412.1426290139789,1413.1474784520688,1414.157428659033,1415.1684684570646,1416.1704871209804,1417.1756715159863,1418.1842972370796,1419.189241998014,1420.1952197590144,1421.2027228190564,1422.207424993976,1423.2147100870498,1424.2234365710756,1425.2436233020853,1426.2492111300817,1427.254576203064,1428.2603435550118,1429.2693541870685,1430.274148264085,1431.2797005700413,1432.294059875072,1433.3037618760718,1434.3096786689712,1435.3158317459747,1436.3218640150735,1437.3263271660544,1438.336531620007,1439.3398278820096,1440.3458955669776,1441.3487847390352,1442.3543167080497,1443.3622318700654,1444.3638187460601,1445.367486112984,1446.3696849000407,1447.372357352986,1448.3785472200252,1449.3839701870456,1450.3931398510467,1451.3997941639973,1452.4064627049956,1453.4087902139872,1454.410471590003,1455.4123449199833,1456.413912996999,1457.4157490769867,1458.4216379850404,1459.4237700559897,1460.4313239980256,1461.436979470076,1462.4384435870452,1463.4434798950097,1464.449978663004,1465.4560693620006,1466.4578117580386,1467.4597343590576,1468.4667623100104,1469.4738058400108,1470.4820567370625,1471.490429009078,1472.4919884770643,1473.4949515950866,1474.5025174079929,1475.5085942500737,1476.5101481960155,1477.511733720079,1478.5143912440399,1479.5174380369717,1480.524674025015,1481.529929956072,1482.5359981440706,1483.5378627270693,1484.538618549006,1485.5409021790838,1486.546084249043,1487.5536785729928,1488.5618011420593,1489.563990251976,1490.5705368330237,1491.5756520109717,1492.5842814140487,1493.5926811220124,1494.5959357400425,1495.6021372970426,1496.6051912690746,1497.6123001900269,1498.6198056100402,1499.6273885460105,1500.6364781210432,1501.645929126069,1502.6558766859816,1503.6633106550435,1504.6733334920136,1505.6838679150678,1506.6958536569728,1507.7019638390047,1508.7038784860633,1509.709921658039,1510.7114515340654,1511.7146189340856,1512.7175088520162,1513.7225494900486,1514.7273729430744,1515.734150632983,1516.7375917320605,1517.7437420180067,1518.749172902084,1519.7552308690501,1520.75791934703,1521.7585442910204,1522.7612234280678,1523.7672533440636,1524.7737334059784,1525.7825964430813,1526.7878640670097,1527.793851301074,1528.797982505057,1529.8077615450602,1530.8134439960122,1531.8185956709785,1532.8233037970494,1533.826536203036,1534.8283544069855,1535.8337977210758,1536.8393627919722,1537.843791302992,1538.8512894100277,1539.8587497570552,1540.8637113419827,1541.865332978079,1542.8665716439718,1543.8681410490535,1544.870453134994,1545.8727873089956,1546.874449311057,1547.8772797000129,1548.8825167330215,1549.8839564690134,1550.8855597809888,1551.887976758997,1552.894161714008,1553.8957713539712,1554.9005869950633,1555.9055297219893,1556.906584706041,1557.9081997830654,1558.911277509993,1559.9180559039814,1560.9227936450625,1561.924730641069,1562.9264040250564,1563.9316820290405,1564.942263887031,1565.9522247019922,1566.965566243045,1567.978487016051,1568.9839966309955,1569.9918698810507,1570.9979403400794,1572.0065195490606,1573.0118361470522,1574.0221015299903,1575.026616549003,1576.0298519020434,1577.0372064930853,1578.0398150919937,1579.0462646860396,1580.047899022,1581.051531712059,1582.060373689048,1583.0618982960004,1584.0662613740424,1585.0731864430709,1586.074546872056,1587.077058469993,1588.0831701090792,1589.0889578959905,1590.0947620720835,1591.100626947009,1592.1034248840297,1593.1092647080077,1594.1116898839828,1595.1222138090525,1596.1286264159717,1597.1314509800868,1598.1371232650708,1599.1438382989727,1600.1454438359942,1601.1467230210546,1602.1518319899915,1603.1574654950527,1604.1585835020524,1605.161795062013,1606.1637421359774,1607.1653793780133,1608.1674450479914,1609.1708955090726,1610.1729558879742,1611.1757938449737,1612.1813965659821,1613.1885547740385,1614.1905742220115,1615.19221444102,1616.1937943800585,1617.198418855085,1618.2004254920175,1619.2017410669941,1620.2037345829885,1621.211173778982,1622.2188446590444,1623.2258311170153,1624.2309144170722,1625.2327288449742,1626.238098166068,1627.243896564003,1628.2458118790528,1629.2477491730824,1630.2537403940223,1631.2597724350635,1632.265691798064,1633.2714820740512,1634.2800975620048,1635.2825519980397,1636.2849529960658,1637.2906155639794,1638.2950060160365,1639.2969033860136,1640.2993654700695,1641.3051514120307,1642.306560114026,1643.30861808802,1644.311329343007,1645.3156724440632,1646.3234498490347,1647.3256109689828,1648.3266061190516,1649.3288772840751,1650.331767662079,1651.3364443309838,1652.3390401559882,1653.344556080061,1654.346079574083,1655.34665593307,1656.3509789990494,1657.3557113630231,1658.358530719066,1659.3622437410522,1660.365369747975,1661.3699380840408,1662.3747252160683,1663.377052773023,1664.3788723440375,1665.3817195059964,1666.3884017140372,1667.3910086919786,1668.393664738047,1669.3956735520624,1670.3976857450325,1671.3986809960334,1672.402532008011,1673.4043123760493,1674.4063247879967,1675.4081114250002,1676.410020209034,1677.4118251050822,1678.4134735750267,1679.4148702110397,1680.4162125079893,1681.4175427859882,1682.4187964840094,1683.4212584299967,1684.4237469839863,1685.4252476150868,1686.426810984034,1687.4282699050382,1688.429922921001,1689.431288643973,1690.4326837990666,1691.4343329339754,1692.435700395028,1693.4369717290392,1694.4382403730415,1695.4395088370657,1696.4407654190436,1697.442017812049,1698.443272195058,1699.4445183170028,1700.445949614048,1701.4476219640346,1702.4494194100844,1703.4511751170503,1704.4529562720563,1705.4546052410733,1706.4571743439883,1707.4604313280433,1708.46181527304,1709.4627787290374,1710.4653465209994,1711.4700841030572,1712.4748196640285,1713.4784677050775,1714.4806371059967,1715.4830616400577,1716.4853292980697,1717.486577372998,1718.4886926340405,1719.4904627139913,1720.492019869038,1721.4947799110087,1722.4966798370006,1723.4982517410535,1724.4998378740856,1725.50194254308,1726.5026204100577,1727.5052760930266,1728.5101781230187,1729.5145014789887,1730.5161089299945,1731.5181519980542,1732.5205886650365,1733.5225005859975,1734.5240432560677,1735.5266527580097,1736.5317721690517,1737.5385698149912,1738.5457548589911,1739.5512495890725,1740.5546616059728,1741.5569464840228,1742.558776534046,1743.5617947410792,1744.5656110250857,1745.5672376899747,1746.570709813037,1747.5728060040856,1748.5746280819876,1749.578308688011,1750.582531529013,1751.5842237289762,1752.5861843720777,1753.5911873109872,1754.595856768079,1755.5973874110496,1756.5986669010017,1757.6014855280519,1758.6033926400123,1759.6077474240446,1760.6148327740375,1761.6219302020036,1762.628977971035,1763.6357715569902,1764.642391288071,1765.6470846510492,1766.6494406469865,1767.651950148982,1768.6577406310244,1769.658503061044,1770.6611168889794,1771.6663903329754,1772.6690158310812,1773.6740211830474,1774.6750720820855,1775.6793055139715,1776.684461581055,1777.6871341350488,1778.6920676060254,1779.6947356800083,1780.6986383200856,1781.7020833410788,1782.7066862210631,1783.7103286160855,1784.7158433099976,1785.7186513780616,1786.724242308992,1787.7270971540129,1788.7328126510838,1789.7350621330552,1790.7382420690265,1791.745324557065,1792.7467274210649,1793.7506032270612,1794.7586346779717,1795.7622771799797,1796.772583568003,1797.7805087920278,1798.788799425005,1799.7919656380545,1800.8022074759938,1801.81106128206,1802.8146299839718,1803.8218518340727,1804.8247041440336,1805.8347102180123,1806.8390920460224,1807.8496081039775,1808.8583247819915,1809.864169749082,1810.8657611220842,1811.8687179069966,1812.8783217190066,1813.8799157600151,1814.8820804459974,1815.883798024035,1816.8870787679916,1817.8889450720744,1818.8924448289908,1819.9009415600449,1820.9063052460551,1821.9098398420028,1822.9185720150126,1823.9226820340846,1824.9324571080506,1825.9358585970476,1826.9426384420367,1827.9454313759925,1828.9480868750252,1829.9564500250854,1830.9669165080413,1831.9754833930638,1832.9852711840067,1833.9869070380228,1834.9886583189946,1835.9916120170383,1836.9942500420148,1837.9974491629982,1839.0028388419887,1840.0130803290522,1841.0154508700361,1842.0187600760255,1843.0251538680168,1844.0266900520073,1845.0298846299993,1846.0388047710294,1847.0430866479874,1848.052525654086,1849.05412500503,1850.056132873986,1851.0575342100346,1852.0585007870104,1853.0608878050698,1854.0645518969977,1855.0672064169776,1856.070394242066,1857.0724635079969,1858.0745595620247,1859.0776597290533,1860.0815142950742,1861.0851843650453,1862.0888609150425,1863.0918826230336,1864.09370215307,1865.095092633972,1866.0983431850327,1867.1018645879813,1868.1055457059992,1869.109117816086,1870.1122748879716,1871.114155904972,1872.11640785099,1873.1192741700215,1874.1230677129934,1875.1266394919949,1876.1301510729827,1877.1334237799747,1878.1346302630845,1879.1366452639922,1880.1391629300779,1881.142656120006,1882.1461364190327,1883.149892081041,1884.1532790820347,1885.1545758710708,1886.1564968830207,1887.1592047919985,1888.1627412780654,1889.1662937239744,1890.1698129409924,1891.1734865920153,1892.1764954919927,1893.1783814430237,1894.1811737869866,1895.184777680086,1896.1884381209966,1897.1909251830075,1898.193496493972,1899.1946877510054,1900.1969781190855,1901.2002559090033,1902.203225767007,1903.2067536800168,1904.2096515890444,1905.2106891589938,1906.2126473840326,1907.2148039330496,1908.217970705009,1909.2216680410784,1910.2250688150525,1911.2285561760655,1912.2308266710024,1913.2328498420538,1914.234844524064,1915.2369487520773,1916.2383813289925,1917.2397508469876,1918.2410082480637,1919.242256809026,1920.2435251290444,1921.244776319014,1922.246031139046,1923.2472790490137,1924.2485331390053,1925.2497832980007,1926.2510341570014,1927.2522818159778,1928.2535353240091,1929.254785511992,1930.2560405210825,1931.2572852480225,1932.2585383760743,1933.2597874130588,1934.261042690021,1935.2622981860768,1936.263575202087,1937.2648317780113,1938.2661433630856,1939.267572663026,1940.2689226460643,1941.2702190810814,1942.2715601230739,1943.272976263077,1944.2743994130287,1945.2757183350623,1946.2770304470323,1947.278374289046,1948.2796741110506,1949.2809475630056,1950.2822264960269,1951.283518098062,1952.2848255980061,1953.286108880071,1954.2873983710306,1955.2886976510054,1956.2899276630487,1957.2912143740105,1958.2925094240345,1959.2938262930838,1960.2951956799952,1961.29649182898,1962.2978194770403,1963.2991017160239,1964.300387365045,1965.301661133999,1966.3029409219744,1967.3042108010268,1968.3054899689741,1969.3067611670122,1970.3080412540585,1971.3093198910356,1972.3105934279738,1973.3118529450148,1974.313124892069,1975.3143901589792,1976.3156797339907,1977.3169488400454,1978.3182306960225,1979.3195106710773,1980.3208147760015,1981.3221529590664,1982.3234321440104,1983.3247071480146,1984.3259891620837,1985.3272581769852,1986.3285623500124,1987.3298358130269,1988.3311110070208,1989.3323866199935,1990.3336717120837,1991.3349809549982,1992.3363348350395,1993.3376147369854,1994.3389035389991,1995.34018052998,1996.3414688219782,1997.3427466630237,1998.3440333830658,1999.3453665430425,2000.3467490710318,2001.3480043220334,2002.3492575730197,2003.350500973058,2004.3517624430824,2005.3530160239898,2006.3542741240235,2007.3555309530348,2008.3567864830839,2009.3580450119916,2010.3593050310155,2011.360560990055,2012.3618101180764,2013.3630575970747,2014.3643034960842,2015.3655493339757,2016.3668036320014,2017.368048259057,2018.3692936770385],\"y\":[29393.235968,29551.39072,29712.24064,29873.631232,30036.103168,30199.115776,30362.128384,30525.140992,30687.072256,30849.814528,31012.5568,31175.839744,31338.582016,31500.783616,31663.525888,31825.997824,31989.010432,32151.752704,32313.413632,32476.155904,32636.194816,32800.288768,32964.112384,33127.395328,33290.678272,33454.501888,33597.239296,33740.787712,33888.93184,34041.67168,34198.736896,34357.424128,34518.274048,34680.745984,34844.839936,35010.82624,35177.623552,35344.961536,35513.110528,35682.070528,35852.111872,36022.693888,36194.357248,36366.56128,36539.035648,36712.050688,36885.336064,37059.162112,37233.258496,37407.625216,37581.991936,37756.628992,37931.536384,38106.984448,38282.432512,38458.150912,38633.598976,38809.04704,38985.306112,39162.105856,39339.446272,39517.057024,39697.1008,39877.955584,40058.810368,40239.935488,40421.060608,40602.7264,40784.121856,40965.517312,41146.912768,41328.308224,41509.433344,41690.8288,41871.95392,42053.619712,42235.285504,42416.951296,42598.617088,42780.28288,42961.948672,43144.155136,43181.150208,43222.781952,43222.781952,43222.781952,43222.781952,43222.781952,43218.726912,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.169216,43020.177408,43020.177408,43020.177408,43020.193792,43020.193792,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.34944,43020.496896,43020.496896,43020.75904,43021.012992,43021.012992,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.258752,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43021.312,43366.27712,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43311.624192,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43312.095232,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.427072,43191.529472,43191.529472,43191.529472,43191.529472,43191.529472,43191.529472,43191.529472,43191.529472,43191.529472,43191.529472,43191.529472,43191.529472,43191.529472,43191.529472,43191.529472,43192.832,43193.643008,43194.724352,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43195.265024,43171.303424,43171.303424,43171.303424,43171.303424,43171.303424,43171.303424,43171.303424,43171.303424,43171.303424,43171.303424,43171.303424,43171.303424,43171.303424,43171.303424,43171.303424,43171.303424,43254.198272,43477.909504,43406.835712,43453.599744,43403.194368,43410.948096,43419.058176,43393.052672,43393.78176,43393.78176,43393.78176,43431.882752,43420.819456,43407.429632,43417.14944,43409.862656,43409.862656,43409.862656,43409.862656,43409.862656,43480.604672,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43375.280128,43319.48032,43417.509888,43512.369152,43588.767744,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43366.211584,43615.27296,43642.134528,43645.390848,43658.993664,43652.161536,43644.715008,43638.099968,43638.94784,43620.163584,43635.175424,43633.332224,43627.585536,43631.542272,43643.404288,43714.531328,43784.679424,43854.852096,43921.084416,43992.608768,44070.690816,44132.048896,44193.42336,44259.864576,44425.6256,44583.85408,44742.336512,44902.309888,45043.892224,45205.614592,45368.336384,45531.619328,45693.280256,45854.101504,46016.765952,46179.700736,46344.347648,46506.348544,46670.168064,46834.368512,46999.093248,47164.268544,47328.997376,47489.08544,47656.148992,47822.647296,47990.49728,48161.75104,48334.323712,48502.054912,48671.80544,48842.776576,49016.13568,49191.653376,49367.81824,49538.605056,49710.034944,49886.404608,50063.454208,50237.087744,50410.504192,50581.323776,50759.696384,50937.974784,51118.493696,51297.673216,51470.536704,51643.772928,51814.93248,51988.975616,52161.032192,52336.439296,52510.1056,52686.893056,52866.686976,53040.807936,53207.662592,53372.854272,53537.140736,53702.152192,53866.094592,53989.584896,54095.151104,54110.482432,54112.37888,54112.37888,54104.485888,54083.579904,54067.105792,54165.716992,40713.658368,20026.793984,21728.018432,23431.405568,24607.367168,25644.511232,26668.814336,27715.42016,28742.967296,29657.378816,30424.997888,31185.047552,32722.583552,32326.701056,20719.980544]},\"selected\":{\"id\":\"1383\"},\"selection_policy\":{\"id\":\"1382\"}},\"id\":\"1367\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1341\",\"type\":\"ResetTool\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1349\"},\"glyph\":{\"id\":\"1350\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1352\"},\"nonselection_glyph\":{\"id\":\"1351\"},\"view\":{\"id\":\"1354\"}},\"id\":\"1353\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1367\"}},\"id\":\"1372\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1420\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1340\",\"type\":\"SaveTool\"}],\"root_ids\":[\"1321\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n const render_items = [{\"docid\":\"df99351b-5f8f-4c08-8e1e-49d9cb76ab19\",\"root_ids\":[\"1321\"],\"roots\":{\"1321\":\"2aad35c3-a172-4d1a-a5dc-388a46493fb9\"}}];\n root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const timer = setInterval(function(root) {\n if (root.Bokeh !== undefined) {\n clearInterval(timer);\n embed_document(root);\n } else {\n attempts++;\n if (attempts > 100) {\n clearInterval(timer);\n console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n }\n }\n }, 10, root)\n }\n})(window);", "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "1321" } }, "output_type": "display_data" }, { "data": { "text/html": [ "
Figure(
id = '1321', …)
above = [],
align = 'start',
aspect_ratio = None,
aspect_scale = 1,
background = None,
background_fill_alpha = 1.0,
background_fill_color = '#ffffff',
below = [LinearAxis(id='1332', ...)],
border_fill_alpha = 1.0,
border_fill_color = '#ffffff',
center = [Grid(id='1335', ...), Grid(id='1339', ...), Legend(id='1364', ...)],
css_classes = [],
disabled = False,
extra_x_ranges = {},
extra_x_scales = {},
extra_y_ranges = {'memory': Range1d(id='1366', ...)},
extra_y_scales = {},
frame_height = None,
frame_width = None,
height = 300,
height_policy = 'auto',
hidpi = True,
inner_height = 0,
inner_width = 0,
js_event_callbacks = {},
js_property_callbacks = {},
left = [LinearAxis(id='1336', ...)],
lod_factor = 10,
lod_interval = 300,
lod_threshold = 2000,
lod_timeout = 500,
margin = (0, 0, 0, 0),
match_aspect = False,
max_height = None,
max_width = None,
min_border = 5,
min_border_bottom = None,
min_border_left = None,
min_border_right = None,
min_border_top = None,
min_height = None,
min_width = None,
name = None,
outer_height = 0,
outer_width = 0,
outline_line_alpha = 1.0,
outline_line_cap = 'butt',
outline_line_color = '#e5e5e5',
outline_line_dash = [],
outline_line_dash_offset = 0,
outline_line_join = 'bevel',
outline_line_width = 1,
output_backend = 'canvas',
renderers = [GlyphRenderer(id='1353', ...), GlyphRenderer(id='1371', ...)],
reset_policy = 'standard',
right = [LinearAxis(id='1385', ...)],
sizing_mode = None,
subscribed_events = [],
syncable = True,
tags = [],
title = Title(id='1322', ...),
title_location = 'above',
toolbar = Toolbar(id='1344', ...),
toolbar_location = 'above',
toolbar_sticky = True,
visible = True,
width = 800,
width_policy = 'auto',
x_range = Range1d(id='1324', ...),
x_scale = LinearScale(id='1328', ...),
y_range = Range1d(id='1326', ...),
y_scale = LinearScale(id='1330', ...))
\n", "\n" ], "text/plain": [ "Figure(id='1321', ...)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# compute SVD\n", "with resource_profiler:\n", " u[:], s[:], vh[:] = np.linalg.svd(AL_inv, full_matrices=False)\n", "\n", "resource_profiler.visualize()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Compute $L^{-1}V$\n", "---" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"7e7a29a6-2301-4233-b850-7fac060aeda8\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1512\"}],\"center\":[{\"id\":\"1515\"},{\"id\":\"1519\"},{\"id\":\"1544\"}],\"extra_y_ranges\":{\"memory\":{\"id\":\"1546\"}},\"height\":300,\"left\":[{\"id\":\"1516\"}],\"renderers\":[{\"id\":\"1533\"},{\"id\":\"1551\"}],\"right\":[{\"id\":\"1565\"}],\"title\":{\"id\":\"1502\"},\"toolbar\":{\"id\":\"1524\"},\"toolbar_location\":\"above\",\"width\":800,\"x_range\":{\"id\":\"1504\"},\"x_scale\":{\"id\":\"1508\"},\"y_range\":{\"id\":\"1506\"},\"y_scale\":{\"id\":\"1510\"}},\"id\":\"1501\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1547\"},\"glyph\":{\"id\":\"1548\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1550\"},\"nonselection_glyph\":{\"id\":\"1549\"},\"view\":{\"id\":\"1552\"},\"y_range_name\":\"memory\"},\"id\":\"1551\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"x\":[0.0,1.0015440280549228,2.0035313550615683,3.00582572305575,4.007670623017475,5.010285952012055,6.0128816610667855,7.014372320030816,8.015784261049703,9.018033678992651,10.020368254045025,11.023449897998944],\"y\":[20151.652352,22220.67712,22324.994048,22324.994048,22698.471424,22702.432256,22702.432256,22702.432256,22702.432256,22702.432256,22702.432256,23537.057792]},\"selected\":{\"id\":\"1563\"},\"selection_policy\":{\"id\":\"1562\"}},\"id\":\"1547\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_color\":\"#29788E\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1548\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#29788E\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1550\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1537\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1562\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#29788E\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1549\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1613\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"label\":{\"value\":\"Memory\"},\"renderers\":[{\"id\":\"1551\"}]},\"id\":\"1564\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1542\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis_label\":\"Time (s)\",\"coordinates\":null,\"formatter\":{\"id\":\"1540\"},\"group\":null,\"major_label_policy\":{\"id\":\"1541\"},\"ticker\":{\"id\":\"1513\"}},\"id\":\"1512\",\"type\":\"LinearAxis\"},{\"attributes\":{\"data\":{\"x\":[0.0,1.0015440280549228,2.0035313550615683,3.00582572305575,4.007670623017475,5.010285952012055,6.0128816610667855,7.014372320030816,8.015784261049703,9.018033678992651,10.020368254045025,11.023449897998944],\"y\":[0.0,10753.1,12669.9,12723.0,12604.6,12596.7,12610.5,12540.8,12635.8,12618.2,12620.9,4159.2]},\"selected\":{\"id\":\"1543\"},\"selection_policy\":{\"id\":\"1542\"}},\"id\":\"1529\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#440154\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1532\",\"type\":\"Line\"},{\"attributes\":{\"tools\":[{\"id\":\"1520\"},{\"id\":\"1521\"},{\"id\":\"1522\"},{\"id\":\"1523\"}]},\"id\":\"1524\",\"type\":\"Toolbar\"},{\"attributes\":{\"dimensions\":\"width\"},\"id\":\"1522\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1510\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#440154\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1531\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1543\",\"type\":\"Selection\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"items\":[{\"id\":\"1545\"},{\"id\":\"1564\"}]},\"id\":\"1544\",\"type\":\"Legend\"},{\"attributes\":{\"axis\":{\"id\":\"1516\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1519\",\"type\":\"Grid\"},{\"attributes\":{\"line_color\":\"#440154\",\"line_width\":4,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1530\",\"type\":\"Line\"},{\"attributes\":{\"end\":12723.0},\"id\":\"1506\",\"type\":\"Range1d\"},{\"attributes\":{\"end\":11.023449897998944},\"id\":\"1504\",\"type\":\"Range1d\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1529\"},\"glyph\":{\"id\":\"1530\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1532\"},\"nonselection_glyph\":{\"id\":\"1531\"},\"view\":{\"id\":\"1534\"}},\"id\":\"1533\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1521\",\"type\":\"ResetTool\"},{\"attributes\":{\"dimensions\":\"width\"},\"id\":\"1523\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1541\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1520\",\"type\":\"SaveTool\"},{\"attributes\":{\"axis\":{\"id\":\"1512\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1515\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1563\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1540\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1517\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1513\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"Memory (MB)\",\"coordinates\":null,\"formatter\":{\"id\":\"1613\"},\"group\":null,\"major_label_policy\":{\"id\":\"1614\"},\"ticker\":{\"id\":\"1612\"},\"y_range_name\":\"memory\"},\"id\":\"1565\",\"type\":\"LinearAxis\"},{\"attributes\":{\"label\":{\"value\":\"% CPU\"},\"renderers\":[{\"id\":\"1533\"}]},\"id\":\"1545\",\"type\":\"LegendItem\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Profile Results\"},\"id\":\"1502\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1508\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"% CPU\",\"coordinates\":null,\"formatter\":{\"id\":\"1537\"},\"group\":null,\"major_label_policy\":{\"id\":\"1538\"},\"ticker\":{\"id\":\"1517\"}},\"id\":\"1516\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1614\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1612\",\"type\":\"BasicTicker\"},{\"attributes\":{\"source\":{\"id\":\"1547\"}},\"id\":\"1552\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1538\",\"type\":\"AllLabels\"},{\"attributes\":{\"end\":23537.057792,\"start\":20151.652352},\"id\":\"1546\",\"type\":\"Range1d\"},{\"attributes\":{\"source\":{\"id\":\"1529\"}},\"id\":\"1534\",\"type\":\"CDSView\"}],\"root_ids\":[\"1501\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n const render_items = [{\"docid\":\"7e7a29a6-2301-4233-b850-7fac060aeda8\",\"root_ids\":[\"1501\"],\"roots\":{\"1501\":\"1c2def6e-d442-44af-853e-feb6b13bb7ce\"}}];\n root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const timer = setInterval(function(root) {\n if (root.Bokeh !== undefined) {\n clearInterval(timer);\n embed_document(root);\n } else {\n attempts++;\n if (attempts > 100) {\n clearInterval(timer);\n console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n }\n }\n }, 10, root)\n }\n})(window);", "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "1501" } }, "output_type": "display_data" }, { "data": { "text/html": [ "
Figure(
id = '1501', …)
above = [],
align = 'start',
aspect_ratio = None,
aspect_scale = 1,
background = None,
background_fill_alpha = 1.0,
background_fill_color = '#ffffff',
below = [LinearAxis(id='1512', ...)],
border_fill_alpha = 1.0,
border_fill_color = '#ffffff',
center = [Grid(id='1515', ...), Grid(id='1519', ...), Legend(id='1544', ...)],
css_classes = [],
disabled = False,
extra_x_ranges = {},
extra_x_scales = {},
extra_y_ranges = {'memory': Range1d(id='1546', ...)},
extra_y_scales = {},
frame_height = None,
frame_width = None,
height = 300,
height_policy = 'auto',
hidpi = True,
inner_height = 0,
inner_width = 0,
js_event_callbacks = {},
js_property_callbacks = {},
left = [LinearAxis(id='1516', ...)],
lod_factor = 10,
lod_interval = 300,
lod_threshold = 2000,
lod_timeout = 500,
margin = (0, 0, 0, 0),
match_aspect = False,
max_height = None,
max_width = None,
min_border = 5,
min_border_bottom = None,
min_border_left = None,
min_border_right = None,
min_border_top = None,
min_height = None,
min_width = None,
name = None,
outer_height = 0,
outer_width = 0,
outline_line_alpha = 1.0,
outline_line_cap = 'butt',
outline_line_color = '#e5e5e5',
outline_line_dash = [],
outline_line_dash_offset = 0,
outline_line_join = 'bevel',
outline_line_width = 1,
output_backend = 'canvas',
renderers = [GlyphRenderer(id='1533', ...), GlyphRenderer(id='1551', ...)],
reset_policy = 'standard',
right = [LinearAxis(id='1565', ...)],
sizing_mode = None,
subscribed_events = [],
syncable = True,
tags = [],
title = Title(id='1502', ...),
title_location = 'above',
toolbar = Toolbar(id='1524', ...),
toolbar_location = 'above',
toolbar_sticky = True,
visible = True,
width = 800,
width_policy = 'auto',
x_range = Range1d(id='1504', ...),
x_scale = LinearScale(id='1508', ...),
y_range = Range1d(id='1506', ...),
y_scale = LinearScale(id='1510', ...))
\n", "\n" ], "text/plain": [ "Figure(id='1501', ...)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# create memory-map to store\n", "L_inv_V = open_memmap(RTM_DIR / \"L_inv_V.npy\", dtype=np.float64, mode=\"w+\", shape=(n, k))\n", "\n", "# compute\n", "with resource_profiler:\n", " L_inv_V[:] = np.dot(L_inv, vh.T)\n", "\n", "resource_profiler.visualize()" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ ".. note::\n", "\n", " `demos/rtm2svd.py `_\n", " is the script file having the same workflow of SVD calculation as the above codes." ] } ], "metadata": { "kernelspec": { "display_name": "cherab-phix-dev", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.15 | packaged by conda-forge | (main, Nov 22 2022, 15:55:03) \n[GCC 10.4.0]" }, "nbsphinx": { "execute": "never" }, "orig_nbformat": 4, "vscode": { "interpreter": { "hash": "2725905a4c02db19e04df9b8fdbbe5ec65a73ea52bebaf9474aa1cc98819834c" } } }, "nbformat": 4, "nbformat_minor": 2 }