diff --git a/compressed_sensing.ipynb b/compressed_sensing.ipynb index 25ec2fcfa1c9627aaa730bdbbb279894c1bed2e9..d411ca33c8727fdbdb88d390f6ae384a4fc93a21 100644 --- a/compressed_sensing.ipynb +++ b/compressed_sensing.ipynb @@ -27,7 +27,7 @@ " and Matthias Scheffler<sup>1</sup> <br><br>\n", " \n", "<sup>1</sup> Fritz Haber Institute of the Max Planck Society, Faradayweg 4-6, D-14195 Berlin, Germany <br>\n", - "<span class=\"nomad--last-updated\" data-version=\"v1.0.0\">[Last updated: April 5, 2019]</span>\n", + "<span class=\"nomad--last-updated\" data-version=\"v1.0.0\">[Last updated: December 8, 2020]</span>\n", " \n", "<div> \n", "<img style=\"float: left;\" src=\"assets/compressed_sensing/Logo_MPG.png\" width=\"200\"> \n", @@ -80,341 +80,14 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:05.500627Z", - "start_time": "2020-12-07T19:04:04.615811Z" + "end_time": "2020-12-08T09:03:39.953385Z", + "start_time": "2020-12-08T09:03:39.026752Z" } }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "347050e93be34135a5b93ff0000d4d31", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "_ColormakerRegistry()" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - " <div class=\"bk-root\">\n", - " <a href=\"https://bokeh.pydata.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n", - " <span id=\"1001\">Loading BokehJS ...</span>\n", - " </div>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/javascript": [ - "\n", - "(function(root) {\n", - " function now() {\n", - " return new Date();\n", - " }\n", - "\n", - " var 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", - "\n", - " var JS_MIME_TYPE = 'application/javascript';\n", - " var HTML_MIME_TYPE = 'text/html';\n", - " var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", - " var CLASS_NAME = 'output_bokeh rendered_html';\n", - "\n", - " /**\n", - " * Render data to the DOM node\n", - " */\n", - " function render(props, node) {\n", - " var 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", - " var cell = handle.cell;\n", - "\n", - " var id = cell.output_area._bokeh_element_id;\n", - " var 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", - " var cmd = \"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, {\n", - " iopub: {\n", - " output: function(msg) {\n", - " var 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", - " var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", - " cell.notebook.kernel.execute(cmd);\n", - " }\n", - " }\n", - "\n", - " /**\n", - " * Handle when a new output is added\n", - " */\n", - " function handleAddOutput(event, handle) {\n", - " var output_area = handle.output_area;\n", - " var output = handle.output;\n", - "\n", - " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", - " if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", - " return\n", - " }\n", - "\n", - " var 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", - " var bk_div = document.createElement(\"div\");\n", - " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", - " var script_attrs = bk_div.children[0].attributes;\n", - " for (var i = 0; i < script_attrs.length; i++) {\n", - " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\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", - " var 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", - " var 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", - " var events = require('base/js/events');\n", - " var 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", - "\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", - " var NB_LOAD_WARNING = {'data': {'text/html':\n", - " \"<div style='background-color: #fdd'>\\n\"+\n", - " \"<p>\\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", - " \"</p>\\n\"+\n", - " \"<ul>\\n\"+\n", - " \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n", - " \"<li>use INLINE resources instead, as so:</li>\\n\"+\n", - " \"</ul>\\n\"+\n", - " \"<code>\\n\"+\n", - " \"from bokeh.resources import INLINE\\n\"+\n", - " \"output_notebook(resources=INLINE)\\n\"+\n", - " \"</code>\\n\"+\n", - " \"</div>\"}};\n", - "\n", - " function display_loaded() {\n", - " var el = document.getElementById(\"1001\");\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", - "\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() {\n", - " console.error(\"failed to load \" + url);\n", - " }\n", - "\n", - " for (var i = 0; i < css_urls.length; i++) {\n", - " var url = css_urls[i];\n", - " const element = document.createElement(\"link\");\n", - " element.onload = on_load;\n", - " element.onerror = on_error;\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 (var i = 0; i < js_urls.length; i++) {\n", - " var url = js_urls[i];\n", - " var element = document.createElement('script');\n", - " element.onload = on_load;\n", - " element.onerror = on_error;\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", - " };var element = document.getElementById(\"1001\");\n", - " if (element == null) {\n", - " console.error(\"Bokeh: ERROR: autoload.js configured with elementid '1001' but no matching script tag was found. \")\n", - " return false;\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", - " var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.3.4.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.3.4.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.3.4.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.3.4.min.js\"];\n", - " var css_urls = [];\n", - "\n", - " var inline_js = [\n", - " function(Bokeh) {\n", - " Bokeh.set_log_level(\"info\");\n", - " },\n", - " \n", - " function(Bokeh) {\n", - " \n", - " },\n", - " function(Bokeh) {} // ensure no trailing comma for IE\n", - " ];\n", - "\n", - " function run_inline_js() {\n", - " \n", - " if ((root.Bokeh !== undefined) || (force === true)) {\n", - " for (var i = 0; i < inline_js.length; i++) {\n", - " inline_js[i].call(root, root.Bokeh);\n", - " }if (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", - " var cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n", - " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", - " }\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": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n var 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\n \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 var NB_LOAD_WARNING = {'data': {'text/html':\n \"<div style='background-color: #fdd'>\\n\"+\n \"<p>\\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 \"</p>\\n\"+\n \"<ul>\\n\"+\n \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n \"<li>use INLINE resources instead, as so:</li>\\n\"+\n \"</ul>\\n\"+\n \"<code>\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"</code>\\n\"+\n \"</div>\"}};\n\n function display_loaded() {\n var el = document.getElementById(\"1001\");\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\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() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\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 (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\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 };var element = document.getElementById(\"1001\");\n if (element == null) {\n console.error(\"Bokeh: ERROR: autoload.js configured with elementid '1001' but no matching script tag was found. \")\n return false;\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 var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.3.4.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.3.4.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.3.4.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.3.4.min.js\"];\n var css_urls = [];\n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n \n function(Bokeh) {\n \n },\n function(Bokeh) {} // ensure no trailing comma for IE\n ];\n\n function run_inline_js() {\n \n if ((root.Bokeh !== undefined) || (force === true)) {\n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }if (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 var cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\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));" - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "import os\n", "import pandas as pd\n", @@ -469,377 +142,15 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:05.638465Z", - "start_time": "2020-12-07T19:04:05.502322Z" + "end_time": "2020-12-08T09:03:42.922862Z", + "start_time": "2020-12-08T09:03:42.801656Z" }, "scrolled": true }, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>energy_RS</th>\n", - " <th>energy_ZB</th>\n", - " <th>energy_diff</th>\n", - " <th>Z(A)</th>\n", - " <th>Z(B)</th>\n", - " <th>period(A)</th>\n", - " <th>period(B)</th>\n", - " <th>IP(A)</th>\n", - " <th>IP(B)</th>\n", - " <th>EA(A)</th>\n", - " <th>...</th>\n", - " <th>E_HOMO(A)</th>\n", - " <th>E_HOMO(B)</th>\n", - " <th>E_LUMO(A)</th>\n", - " <th>E_LUMO(B)</th>\n", - " <th>r_s(A)</th>\n", - " <th>r_s(B)</th>\n", - " <th>r_p(A)</th>\n", - " <th>r_p(B)</th>\n", - " <th>r_d(A)</th>\n", - " <th>r_d(B)</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>AgBr</th>\n", - " <td>-108781.333959</td>\n", - " <td>-108781.303925</td>\n", - " <td>-0.030033</td>\n", - " <td>47.0</td>\n", - " <td>35.0</td>\n", - " <td>5.0</td>\n", - " <td>4.0</td>\n", - " <td>-8.0581</td>\n", - " <td>-12.649600</td>\n", - " <td>-1.6666</td>\n", - " <td>...</td>\n", - " <td>-4.710</td>\n", - " <td>-8.001</td>\n", - " <td>-0.479</td>\n", - " <td>0.708</td>\n", - " <td>1.32</td>\n", - " <td>0.75</td>\n", - " <td>1.88</td>\n", - " <td>0.88</td>\n", - " <td>2.97</td>\n", - " <td>1.87</td>\n", - " </tr>\n", - " <tr>\n", - " <th>AgCl</th>\n", - " <td>-79397.451083</td>\n", - " <td>-79397.408285</td>\n", - " <td>-0.042797</td>\n", - " <td>47.0</td>\n", - " <td>17.0</td>\n", - " <td>5.0</td>\n", - " <td>3.0</td>\n", - " <td>-8.0581</td>\n", - " <td>-13.901800</td>\n", - " <td>-1.6666</td>\n", - " <td>...</td>\n", - " <td>-4.710</td>\n", - " <td>-8.700</td>\n", - " <td>-0.479</td>\n", - " <td>0.574</td>\n", - " <td>1.32</td>\n", - " <td>0.68</td>\n", - " <td>1.88</td>\n", - " <td>0.76</td>\n", - " <td>2.97</td>\n", - " <td>1.67</td>\n", - " </tr>\n", - " <tr>\n", - " <th>AgF</th>\n", - " <td>-74477.428165</td>\n", - " <td>-74477.274407</td>\n", - " <td>-0.153758</td>\n", - " <td>47.0</td>\n", - " <td>9.0</td>\n", - " <td>5.0</td>\n", - " <td>2.0</td>\n", - " <td>-8.0581</td>\n", - " <td>-19.404301</td>\n", - " <td>-1.6666</td>\n", - " <td>...</td>\n", - " <td>-4.710</td>\n", - " <td>-11.294</td>\n", - " <td>-0.479</td>\n", - " <td>1.251</td>\n", - " <td>1.32</td>\n", - " <td>0.41</td>\n", - " <td>1.88</td>\n", - " <td>0.37</td>\n", - " <td>2.97</td>\n", - " <td>1.43</td>\n", - " </tr>\n", - " <tr>\n", - " <th>AgI</th>\n", - " <td>-171339.208181</td>\n", - " <td>-171339.245107</td>\n", - " <td>0.036925</td>\n", - " <td>47.0</td>\n", - " <td>53.0</td>\n", - " <td>5.0</td>\n", - " <td>5.0</td>\n", - " <td>-8.0581</td>\n", - " <td>-11.257100</td>\n", - " <td>-1.6666</td>\n", - " <td>...</td>\n", - " <td>-4.710</td>\n", - " <td>-7.236</td>\n", - " <td>-0.479</td>\n", - " <td>0.213</td>\n", - " <td>1.32</td>\n", - " <td>0.90</td>\n", - " <td>1.88</td>\n", - " <td>1.07</td>\n", - " <td>2.97</td>\n", - " <td>1.72</td>\n", - " </tr>\n", - " <tr>\n", - " <th>AlAs</th>\n", - " <td>-34200.077513</td>\n", - " <td>-34200.290775</td>\n", - " <td>0.213262</td>\n", - " <td>13.0</td>\n", - " <td>33.0</td>\n", - " <td>3.0</td>\n", - " <td>4.0</td>\n", - " <td>-5.7805</td>\n", - " <td>-9.261900</td>\n", - " <td>-0.3125</td>\n", - " <td>...</td>\n", - " <td>-2.784</td>\n", - " <td>-5.341</td>\n", - " <td>0.695</td>\n", - " <td>0.064</td>\n", - " <td>1.09</td>\n", - " <td>0.85</td>\n", - " <td>1.39</td>\n", - " <td>1.04</td>\n", - " <td>1.94</td>\n", - " <td>2.02</td>\n", - " </tr>\n", - " <tr>\n", - " <th>...</th>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " </tr>\n", - " <tr>\n", - " <th>SrTe</th>\n", - " <td>-137269.487147</td>\n", - " <td>-137269.107853</td>\n", - " <td>-0.379295</td>\n", - " <td>38.0</td>\n", - " <td>52.0</td>\n", - " <td>5.0</td>\n", - " <td>5.0</td>\n", - " <td>-6.0316</td>\n", - " <td>-9.866700</td>\n", - " <td>0.3431</td>\n", - " <td>...</td>\n", - " <td>-3.641</td>\n", - " <td>-6.109</td>\n", - " <td>-1.379</td>\n", - " <td>0.099</td>\n", - " <td>1.91</td>\n", - " <td>0.94</td>\n", - " <td>2.55</td>\n", - " <td>1.14</td>\n", - " <td>1.20</td>\n", - " <td>1.83</td>\n", - " </tr>\n", - " <tr>\n", - " <th>OZn</th>\n", - " <td>-25540.809205</td>\n", - " <td>-25540.911173</td>\n", - " <td>0.101968</td>\n", - " <td>30.0</td>\n", - " <td>8.0</td>\n", - " <td>4.0</td>\n", - " <td>2.0</td>\n", - " <td>-10.1355</td>\n", - " <td>-16.433201</td>\n", - " <td>1.0807</td>\n", - " <td>...</td>\n", - " <td>-6.217</td>\n", - " <td>-9.197</td>\n", - " <td>-1.194</td>\n", - " <td>2.541</td>\n", - " <td>1.10</td>\n", - " <td>0.46</td>\n", - " <td>1.55</td>\n", - " <td>0.43</td>\n", - " <td>2.25</td>\n", - " <td>2.22</td>\n", - " </tr>\n", - " <tr>\n", - " <th>SZn</th>\n", - " <td>-29945.889373</td>\n", - " <td>-29946.165186</td>\n", - " <td>0.275813</td>\n", - " <td>30.0</td>\n", - " <td>16.0</td>\n", - " <td>4.0</td>\n", - " <td>3.0</td>\n", - " <td>-10.1355</td>\n", - " <td>-11.795100</td>\n", - " <td>1.0807</td>\n", - " <td>...</td>\n", - " <td>-6.217</td>\n", - " <td>-7.106</td>\n", - " <td>-1.194</td>\n", - " <td>0.642</td>\n", - " <td>1.10</td>\n", - " <td>0.74</td>\n", - " <td>1.55</td>\n", - " <td>0.85</td>\n", - " <td>2.25</td>\n", - " <td>2.37</td>\n", - " </tr>\n", - " <tr>\n", - " <th>SeZn</th>\n", - " <td>-57752.319875</td>\n", - " <td>-57752.583012</td>\n", - " <td>0.263137</td>\n", - " <td>30.0</td>\n", - " <td>34.0</td>\n", - " <td>4.0</td>\n", - " <td>4.0</td>\n", - " <td>-10.1355</td>\n", - " <td>-10.946000</td>\n", - " <td>1.0807</td>\n", - " <td>...</td>\n", - " <td>-6.217</td>\n", - " <td>-6.654</td>\n", - " <td>-1.194</td>\n", - " <td>1.316</td>\n", - " <td>1.10</td>\n", - " <td>0.80</td>\n", - " <td>1.55</td>\n", - " <td>0.95</td>\n", - " <td>2.25</td>\n", - " <td>2.18</td>\n", - " </tr>\n", - " <tr>\n", - " <th>TeZn</th>\n", - " <td>-118239.807676</td>\n", - " <td>-118240.052677</td>\n", - " <td>0.245001</td>\n", - " <td>30.0</td>\n", - " <td>52.0</td>\n", - " <td>4.0</td>\n", - " <td>5.0</td>\n", - " <td>-10.1355</td>\n", - " <td>-9.866700</td>\n", - " <td>1.0807</td>\n", - " <td>...</td>\n", - " <td>-6.217</td>\n", - " <td>-6.109</td>\n", - " <td>-1.194</td>\n", - " <td>0.099</td>\n", - " <td>1.10</td>\n", - " <td>0.94</td>\n", - " <td>1.55</td>\n", - " <td>1.14</td>\n", - " <td>2.25</td>\n", - " <td>1.83</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "<p>82 rows × 21 columns</p>\n", - "</div>" - ], - "text/plain": [ - " energy_RS energy_ZB energy_diff Z(A) Z(B) period(A) \\\n", - "AgBr -108781.333959 -108781.303925 -0.030033 47.0 35.0 5.0 \n", - "AgCl -79397.451083 -79397.408285 -0.042797 47.0 17.0 5.0 \n", - "AgF -74477.428165 -74477.274407 -0.153758 47.0 9.0 5.0 \n", - "AgI -171339.208181 -171339.245107 0.036925 47.0 53.0 5.0 \n", - "AlAs -34200.077513 -34200.290775 0.213262 13.0 33.0 3.0 \n", - "... ... ... ... ... ... ... \n", - "SrTe -137269.487147 -137269.107853 -0.379295 38.0 52.0 5.0 \n", - "OZn -25540.809205 -25540.911173 0.101968 30.0 8.0 4.0 \n", - "SZn -29945.889373 -29946.165186 0.275813 30.0 16.0 4.0 \n", - "SeZn -57752.319875 -57752.583012 0.263137 30.0 34.0 4.0 \n", - "TeZn -118239.807676 -118240.052677 0.245001 30.0 52.0 4.0 \n", - "\n", - " period(B) IP(A) IP(B) EA(A) ... E_HOMO(A) E_HOMO(B) \\\n", - "AgBr 4.0 -8.0581 -12.649600 -1.6666 ... -4.710 -8.001 \n", - "AgCl 3.0 -8.0581 -13.901800 -1.6666 ... -4.710 -8.700 \n", - "AgF 2.0 -8.0581 -19.404301 -1.6666 ... -4.710 -11.294 \n", - "AgI 5.0 -8.0581 -11.257100 -1.6666 ... -4.710 -7.236 \n", - "AlAs 4.0 -5.7805 -9.261900 -0.3125 ... -2.784 -5.341 \n", - "... ... ... ... ... ... ... ... \n", - "SrTe 5.0 -6.0316 -9.866700 0.3431 ... -3.641 -6.109 \n", - "OZn 2.0 -10.1355 -16.433201 1.0807 ... -6.217 -9.197 \n", - "SZn 3.0 -10.1355 -11.795100 1.0807 ... -6.217 -7.106 \n", - "SeZn 4.0 -10.1355 -10.946000 1.0807 ... -6.217 -6.654 \n", - "TeZn 5.0 -10.1355 -9.866700 1.0807 ... -6.217 -6.109 \n", - "\n", - " E_LUMO(A) E_LUMO(B) r_s(A) r_s(B) r_p(A) r_p(B) r_d(A) r_d(B) \n", - "AgBr -0.479 0.708 1.32 0.75 1.88 0.88 2.97 1.87 \n", - "AgCl -0.479 0.574 1.32 0.68 1.88 0.76 2.97 1.67 \n", - "AgF -0.479 1.251 1.32 0.41 1.88 0.37 2.97 1.43 \n", - "AgI -0.479 0.213 1.32 0.90 1.88 1.07 2.97 1.72 \n", - "AlAs 0.695 0.064 1.09 0.85 1.39 1.04 1.94 2.02 \n", - "... ... ... ... ... ... ... ... ... \n", - "SrTe -1.379 0.099 1.91 0.94 2.55 1.14 1.20 1.83 \n", - "OZn -1.194 2.541 1.10 0.46 1.55 0.43 2.25 2.22 \n", - "SZn -1.194 0.642 1.10 0.74 1.55 0.85 2.25 2.37 \n", - "SeZn -1.194 1.316 1.10 0.80 1.55 0.95 2.25 2.18 \n", - "TeZn -1.194 0.099 1.10 0.94 1.55 1.14 2.25 1.83 \n", - "\n", - "[82 rows x 21 columns]" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# load data\n", "RS_structures = read(\"data/compressed_sensing/RS_structures.xyz\", index=':')\n", @@ -897,34 +208,14 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:06.026756Z", - "start_time": "2020-12-07T19:04:05.640151Z" + "end_time": "2020-12-08T09:03:43.573065Z", + "start_time": "2020-12-08T09:03:43.170821Z" } }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Standard deviation: 0.448 eV/atom\n" - ] - } - ], + "outputs": [], "source": [ "plt.hist(df['energy_diff'].tolist(), bins=30)\n", "plt.xlabel('$\\Delta E$')\n", @@ -944,11 +235,11 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:06.031716Z", - "start_time": "2020-12-07T19:04:06.028702Z" + "end_time": "2020-12-08T09:03:43.577912Z", + "start_time": "2020-12-08T09:03:43.574728Z" } }, "outputs": [], @@ -969,241 +260,15 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:06.079846Z", - "start_time": "2020-12-07T19:04:06.033014Z" + "end_time": "2020-12-08T09:03:43.720363Z", + "start_time": "2020-12-08T09:03:43.673644Z" }, "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Selected operations:\n", - " ['+']\n", - "Number of total features generated: 10\n" - ] - }, - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>r_s(A)</th>\n", - " <th>r_s(B)</th>\n", - " <th>r_p(A)</th>\n", - " <th>r_p(B)</th>\n", - " <th>(r_s(A)+r_s(B))</th>\n", - " <th>(r_s(A)+r_p(A))</th>\n", - " <th>(r_s(A)+r_p(B))</th>\n", - " <th>(r_s(B)+r_p(A))</th>\n", - " <th>(r_s(B)+r_p(B))</th>\n", - " <th>(r_p(A)+r_p(B))</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>AgBr</th>\n", - " <td>1.32</td>\n", - " <td>0.75</td>\n", - " <td>1.88</td>\n", - " <td>0.88</td>\n", - " <td>2.07</td>\n", - " <td>3.20</td>\n", - " <td>2.20</td>\n", - " <td>2.63</td>\n", - " <td>1.63</td>\n", - " <td>2.76</td>\n", - " </tr>\n", - " <tr>\n", - " <th>AgCl</th>\n", - " <td>1.32</td>\n", - " <td>0.68</td>\n", - " <td>1.88</td>\n", - " <td>0.76</td>\n", - " <td>2.00</td>\n", - " <td>3.20</td>\n", - " <td>2.08</td>\n", - " <td>2.56</td>\n", - " <td>1.44</td>\n", - " <td>2.64</td>\n", - " </tr>\n", - " <tr>\n", - " <th>AgF</th>\n", - " <td>1.32</td>\n", - " <td>0.41</td>\n", - " <td>1.88</td>\n", - " <td>0.37</td>\n", - " <td>1.73</td>\n", - " <td>3.20</td>\n", - " <td>1.69</td>\n", - " <td>2.29</td>\n", - " <td>0.78</td>\n", - " <td>2.25</td>\n", - " </tr>\n", - " <tr>\n", - " <th>AgI</th>\n", - " <td>1.32</td>\n", - " <td>0.90</td>\n", - " <td>1.88</td>\n", - " <td>1.07</td>\n", - " <td>2.22</td>\n", - " <td>3.20</td>\n", - " <td>2.39</td>\n", - " <td>2.78</td>\n", - " <td>1.97</td>\n", - " <td>2.95</td>\n", - " </tr>\n", - " <tr>\n", - " <th>AlAs</th>\n", - " <td>1.09</td>\n", - " <td>0.85</td>\n", - " <td>1.39</td>\n", - " <td>1.04</td>\n", - " <td>1.94</td>\n", - " <td>2.48</td>\n", - " <td>2.13</td>\n", - " <td>2.24</td>\n", - " <td>1.89</td>\n", - " <td>2.43</td>\n", - " </tr>\n", - " <tr>\n", - " <th>...</th>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " </tr>\n", - " <tr>\n", - " <th>SrTe</th>\n", - " <td>1.91</td>\n", - " <td>0.94</td>\n", - " <td>2.55</td>\n", - " <td>1.14</td>\n", - " <td>2.85</td>\n", - " <td>4.46</td>\n", - " <td>3.05</td>\n", - " <td>3.49</td>\n", - " <td>2.08</td>\n", - " <td>3.69</td>\n", - " </tr>\n", - " <tr>\n", - " <th>OZn</th>\n", - " <td>1.10</td>\n", - " <td>0.46</td>\n", - " <td>1.55</td>\n", - " <td>0.43</td>\n", - " <td>1.56</td>\n", - " <td>2.65</td>\n", - " <td>1.53</td>\n", - " <td>2.01</td>\n", - " <td>0.89</td>\n", - " <td>1.98</td>\n", - " </tr>\n", - " <tr>\n", - " <th>SZn</th>\n", - " <td>1.10</td>\n", - " <td>0.74</td>\n", - " <td>1.55</td>\n", - " <td>0.85</td>\n", - " <td>1.84</td>\n", - " <td>2.65</td>\n", - " <td>1.95</td>\n", - " <td>2.29</td>\n", - " <td>1.59</td>\n", - " <td>2.40</td>\n", - " </tr>\n", - " <tr>\n", - " <th>SeZn</th>\n", - " <td>1.10</td>\n", - " <td>0.80</td>\n", - " <td>1.55</td>\n", - " <td>0.95</td>\n", - " <td>1.90</td>\n", - " <td>2.65</td>\n", - " <td>2.05</td>\n", - " <td>2.35</td>\n", - " <td>1.75</td>\n", - " <td>2.50</td>\n", - " </tr>\n", - " <tr>\n", - " <th>TeZn</th>\n", - " <td>1.10</td>\n", - " <td>0.94</td>\n", - " <td>1.55</td>\n", - " <td>1.14</td>\n", - " <td>2.04</td>\n", - " <td>2.65</td>\n", - " <td>2.24</td>\n", - " <td>2.49</td>\n", - " <td>2.08</td>\n", - " <td>2.69</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "<p>82 rows × 10 columns</p>\n", - "</div>" - ], - "text/plain": [ - " r_s(A) r_s(B) r_p(A) r_p(B) (r_s(A)+r_s(B)) (r_s(A)+r_p(A)) \\\n", - "AgBr 1.32 0.75 1.88 0.88 2.07 3.20 \n", - "AgCl 1.32 0.68 1.88 0.76 2.00 3.20 \n", - "AgF 1.32 0.41 1.88 0.37 1.73 3.20 \n", - "AgI 1.32 0.90 1.88 1.07 2.22 3.20 \n", - "AlAs 1.09 0.85 1.39 1.04 1.94 2.48 \n", - "... ... ... ... ... ... ... \n", - "SrTe 1.91 0.94 2.55 1.14 2.85 4.46 \n", - "OZn 1.10 0.46 1.55 0.43 1.56 2.65 \n", - "SZn 1.10 0.74 1.55 0.85 1.84 2.65 \n", - "SeZn 1.10 0.80 1.55 0.95 1.90 2.65 \n", - "TeZn 1.10 0.94 1.55 1.14 2.04 2.65 \n", - "\n", - " (r_s(A)+r_p(B)) (r_s(B)+r_p(A)) (r_s(B)+r_p(B)) (r_p(A)+r_p(B)) \n", - "AgBr 2.20 2.63 1.63 2.76 \n", - "AgCl 2.08 2.56 1.44 2.64 \n", - "AgF 1.69 2.29 0.78 2.25 \n", - "AgI 2.39 2.78 1.97 2.95 \n", - "AlAs 2.13 2.24 1.89 2.43 \n", - "... ... ... ... ... \n", - "SrTe 3.05 3.49 2.08 3.69 \n", - "OZn 1.53 2.01 0.89 1.98 \n", - "SZn 1.95 2.29 1.59 2.40 \n", - "SeZn 2.05 2.35 1.75 2.50 \n", - "TeZn 2.24 2.49 2.08 2.69 \n", - "\n", - "[82 rows x 10 columns]" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# selected_feature_list = ['IP', 'EA', 'E_HOMO', 'E_LUMO', 'r_s', 'r_p', 'r_d', 'Z', 'period']\n", "selected_feature_list = ['r_s', 'r_p']\n", @@ -1238,11 +303,11 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:06.085193Z", - "start_time": "2020-12-07T19:04:06.081101Z" + "end_time": "2020-12-08T09:03:44.079388Z", + "start_time": "2020-12-08T09:03:44.069671Z" } }, "outputs": [], @@ -1274,267 +339,30 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:06.106688Z", - "start_time": "2020-12-07T19:04:06.086528Z" + "end_time": "2020-12-08T09:03:45.786743Z", + "start_time": "2020-12-08T09:03:45.759462Z" }, "scrolled": true }, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>r_s(A)</th>\n", - " <th>r_s(B)</th>\n", - " <th>r_p(A)</th>\n", - " <th>r_p(B)</th>\n", - " <th>(r_s(A)+r_s(B))</th>\n", - " <th>(r_s(A)+r_p(A))</th>\n", - " <th>(r_s(A)+r_p(B))</th>\n", - " <th>(r_s(B)+r_p(A))</th>\n", - " <th>(r_s(B)+r_p(B))</th>\n", - " <th>(r_p(A)+r_p(B))</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>AgBr</th>\n", - " <td>1.32</td>\n", - " <td>0.75</td>\n", - " <td>1.88</td>\n", - " <td>0.88</td>\n", - " <td>2.07</td>\n", - " <td>3.20</td>\n", - " <td>2.20</td>\n", - " <td>2.63</td>\n", - " <td>1.63</td>\n", - " <td>2.76</td>\n", - " </tr>\n", - " <tr>\n", - " <th>AgCl</th>\n", - " <td>1.32</td>\n", - " <td>0.68</td>\n", - " <td>1.88</td>\n", - " <td>0.76</td>\n", - " <td>2.00</td>\n", - " <td>3.20</td>\n", - " <td>2.08</td>\n", - " <td>2.56</td>\n", - " <td>1.44</td>\n", - " <td>2.64</td>\n", - " </tr>\n", - " <tr>\n", - " <th>AgF</th>\n", - " <td>1.32</td>\n", - " <td>0.41</td>\n", - " <td>1.88</td>\n", - " <td>0.37</td>\n", - " <td>1.73</td>\n", - " <td>3.20</td>\n", - " <td>1.69</td>\n", - " <td>2.29</td>\n", - " <td>0.78</td>\n", - " <td>2.25</td>\n", - " </tr>\n", - " <tr>\n", - " <th>AgI</th>\n", - " <td>1.32</td>\n", - " <td>0.90</td>\n", - " <td>1.88</td>\n", - " <td>1.07</td>\n", - " <td>2.22</td>\n", - " <td>3.20</td>\n", - " <td>2.39</td>\n", - " <td>2.78</td>\n", - " <td>1.97</td>\n", - " <td>2.95</td>\n", - " </tr>\n", - " <tr>\n", - " <th>AlAs</th>\n", - " <td>1.09</td>\n", - " <td>0.85</td>\n", - " <td>1.39</td>\n", - " <td>1.04</td>\n", - " <td>1.94</td>\n", - " <td>2.48</td>\n", - " <td>2.13</td>\n", - " <td>2.24</td>\n", - " <td>1.89</td>\n", - " <td>2.43</td>\n", - " </tr>\n", - " <tr>\n", - " <th>...</th>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " </tr>\n", - " <tr>\n", - " <th>SrTe</th>\n", - " <td>1.91</td>\n", - " <td>0.94</td>\n", - " <td>2.55</td>\n", - " <td>1.14</td>\n", - " <td>2.85</td>\n", - " <td>4.46</td>\n", - " <td>3.05</td>\n", - " <td>3.49</td>\n", - " <td>2.08</td>\n", - " <td>3.69</td>\n", - " </tr>\n", - " <tr>\n", - " <th>OZn</th>\n", - " <td>1.10</td>\n", - " <td>0.46</td>\n", - " <td>1.55</td>\n", - " <td>0.43</td>\n", - " <td>1.56</td>\n", - " <td>2.65</td>\n", - " <td>1.53</td>\n", - " <td>2.01</td>\n", - " <td>0.89</td>\n", - " <td>1.98</td>\n", - " </tr>\n", - " <tr>\n", - " <th>SZn</th>\n", - " <td>1.10</td>\n", - " <td>0.74</td>\n", - " <td>1.55</td>\n", - " <td>0.85</td>\n", - " <td>1.84</td>\n", - " <td>2.65</td>\n", - " <td>1.95</td>\n", - " <td>2.29</td>\n", - " <td>1.59</td>\n", - " <td>2.40</td>\n", - " </tr>\n", - " <tr>\n", - " <th>SeZn</th>\n", - " <td>1.10</td>\n", - " <td>0.80</td>\n", - " <td>1.55</td>\n", - " <td>0.95</td>\n", - " <td>1.90</td>\n", - " <td>2.65</td>\n", - " <td>2.05</td>\n", - " <td>2.35</td>\n", - " <td>1.75</td>\n", - " <td>2.50</td>\n", - " </tr>\n", - " <tr>\n", - " <th>TeZn</th>\n", - " <td>1.10</td>\n", - " <td>0.94</td>\n", - " <td>1.55</td>\n", - " <td>1.14</td>\n", - " <td>2.04</td>\n", - " <td>2.65</td>\n", - " <td>2.24</td>\n", - " <td>2.49</td>\n", - " <td>2.08</td>\n", - " <td>2.69</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "<p>82 rows × 10 columns</p>\n", - "</div>" - ], - "text/plain": [ - " r_s(A) r_s(B) r_p(A) r_p(B) (r_s(A)+r_s(B)) (r_s(A)+r_p(A)) \\\n", - "AgBr 1.32 0.75 1.88 0.88 2.07 3.20 \n", - "AgCl 1.32 0.68 1.88 0.76 2.00 3.20 \n", - "AgF 1.32 0.41 1.88 0.37 1.73 3.20 \n", - "AgI 1.32 0.90 1.88 1.07 2.22 3.20 \n", - "AlAs 1.09 0.85 1.39 1.04 1.94 2.48 \n", - "... ... ... ... ... ... ... \n", - "SrTe 1.91 0.94 2.55 1.14 2.85 4.46 \n", - "OZn 1.10 0.46 1.55 0.43 1.56 2.65 \n", - "SZn 1.10 0.74 1.55 0.85 1.84 2.65 \n", - "SeZn 1.10 0.80 1.55 0.95 1.90 2.65 \n", - "TeZn 1.10 0.94 1.55 1.14 2.04 2.65 \n", - "\n", - " (r_s(A)+r_p(B)) (r_s(B)+r_p(A)) (r_s(B)+r_p(B)) (r_p(A)+r_p(B)) \n", - "AgBr 2.20 2.63 1.63 2.76 \n", - "AgCl 2.08 2.56 1.44 2.64 \n", - "AgF 1.69 2.29 0.78 2.25 \n", - "AgI 2.39 2.78 1.97 2.95 \n", - "AlAs 2.13 2.24 1.89 2.43 \n", - "... ... ... ... ... \n", - "SrTe 3.05 3.49 2.08 3.69 \n", - "OZn 1.53 2.01 0.89 1.98 \n", - "SZn 1.95 2.29 1.59 2.40 \n", - "SeZn 2.05 2.35 1.75 2.50 \n", - "TeZn 2.24 2.49 2.08 2.69 \n", - "\n", - "[82 rows x 10 columns]" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df_D" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:06.207404Z", - "start_time": "2020-12-07T19:04:06.110103Z" + "end_time": "2020-12-08T09:03:46.659432Z", + "start_time": "2020-12-08T09:03:46.560523Z" }, "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "No allowed operations selected.\n", - "Number of total features generated: 10\n", - " RMSE Best desriptor\n", - " 1D: 0.31334 ['r_p(A)']\n", - " 2D: 0.29494 ['r_p(A)', 'r_d(B)']\n", - " 3D: 0.28015 ['r_s(B)', 'r_p(A)', 'r_p(B)']\n", - " 4D: 0.27525 ['IP(B)', 'r_p(A)', 'r_p(B)', 'r_d(B)']\n", - " 5D: 0.26282 ['IP(A)', 'IP(B)', 'r_p(A)', 'r_p(B)', 'r_d(B)']\n", - " 6D: 0.25090 ['IP(A)', 'IP(B)', 'r_s(A)', 'r_p(A)', 'r_p(B)', 'r_d(B)']\n", - " 7D: 0.24946 ['IP(A)', 'IP(B)', 'r_s(A)', 'r_p(A)', 'r_p(B)', 'r_d(A)', 'r_d(B)']\n", - " 8D: 0.24890 ['EA(B)', 'IP(A)', 'IP(B)', 'r_s(A)', 'r_p(A)', 'r_p(B)', 'r_d(A)', 'r_d(B)']\n", - " 9D: 0.24887 ['EA(A)', 'EA(B)', 'IP(A)', 'IP(B)', 'r_s(A)', 'r_p(A)', 'r_p(B)', 'r_d(A)', 'r_d(B)']\n", - "10D: 0.24886 ['EA(A)', 'EA(B)', 'IP(A)', 'IP(B)', 'r_s(A)', 'r_s(B)', 'r_p(A)', 'r_p(B)', 'r_d(A)', 'r_d(B)']\n" - ] - } - ], + "outputs": [], "source": [ "selected_feature_list = ['r_s', 'r_p', 'r_d', 'EA', 'IP']\n", "allowed_operations = []\n", @@ -1560,45 +388,15 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:26.003473Z", - "start_time": "2020-12-07T19:04:06.209204Z" + "end_time": "2020-12-08T09:04:06.908636Z", + "start_time": "2020-12-08T09:03:47.956918Z" }, "scrolled": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "No allowed operations selected.\n", - "Number of total features generated: 10\n", - "n_features: 10; 1D RMSE: 0.313 best features: ['r_p(A)']\n", - "n_features: 10; 2D RMSE: 0.295 best features: ['r_p(A)', 'r_d(B)']\n", - "n_features: 10; 3D RMSE: 0.280 best features: ['r_s(B)', 'r_p(A)', 'r_p(B)']\n", - "Selected operations:\n", - " ['+', '|-|']\n", - "Number of total features generated: 52\n", - "n_features: 52; 1D RMSE: 0.297 best features: ['(r_p(A)+r_d(B))']\n", - "n_features: 52; 2D RMSE: 0.266 best features: ['(r_p(A)+r_d(B))', '|r_p(A)-r_d(B)|']\n", - "n_features: 52; 3D RMSE: 0.210 best features: ['|r_s(A)-r_p(A)|', '(r_s(A)+r_d(B))', '(r_p(A)+r_d(B))']\n", - "Selected operations:\n", - " ['+', '|-|', 'exp']\n", - "Number of total features generated: 73\n", - "n_features: 73; 1D RMSE: 0.297 best features: ['(r_p(A)+r_d(B))']\n", - "n_features: 73; 2D RMSE: 0.228 best features: ['(r_s(B)+r_p(A))', 'exp(r_s(B)+r_p(A))']\n", - "n_features: 73; 3D RMSE: 0.201 best features: ['|r_s(B)-r_p(A)|', '|r_s(B)-r_p(B)|', 'exp(r_p(A))']\n", - "Selected operations:\n", - " ['+', '|-|', 'exp', '^2']\n", - "Number of total features generated: 115\n", - "n_features: 115; 1D RMSE: 0.297 best features: ['(r_p(A)+r_d(B))']\n", - "n_features: 115; 2D RMSE: 0.194 best features: ['(r_s(B)+r_p(A))', '(r_s(B)+r_p(A))^2']\n", - "n_features: 115; 3D RMSE: 0.171 best features: ['(r_s(B)+r_p(A))', '(r_s(B)+r_p(A))^2', 'exp(r_s(B)+r_p(A))']\n" - ] - } - ], + "outputs": [], "source": [ "selected_feature_list = ['r_s', 'r_p', 'r_d', 'EA', 'IP']\n", "op_lists = [[], ['+','|-|'], ['+','|-|','exp'], ['+','|-|','exp', '^2'] ]\n", @@ -1626,27 +424,14 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:26.243626Z", - "start_time": "2020-12-07T19:04:26.005205Z" + "end_time": "2020-12-08T09:04:07.160724Z", + "start_time": "2020-12-08T09:04:06.910229Z" } }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 864x576 with 2 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "#plot\n", "f, (ax1, ax2) = plt.subplots(1,2, sharex=True, figsize=(12,8))\n", @@ -1693,11 +478,11 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:26.249825Z", - "start_time": "2020-12-07T19:04:26.245458Z" + "end_time": "2020-12-08T08:40:40.153539Z", + "start_time": "2020-12-08T08:40:40.149276Z" } }, "outputs": [], @@ -1734,25 +519,15 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:26.599088Z", - "start_time": "2020-12-07T19:04:26.251454Z" + "end_time": "2020-12-08T08:40:40.501898Z", + "start_time": "2020-12-08T08:40:40.155648Z" }, "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Selected operations:\n", - " ['+', '|-|', 'exp', '^2']\n", - "Number of total features generated: 115\n" - ] - } - ], + "outputs": [], "source": [ "#import Data\n", "selected_feature_list = ['r_s', 'r_p', 'r_d', 'EA', 'IP']\n", @@ -1764,37 +539,14 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:26.876516Z", - "start_time": "2020-12-07T19:04:26.600777Z" + "end_time": "2020-12-08T08:40:40.773979Z", + "start_time": "2020-12-08T08:40:40.503329Z" } }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "lambda: 0.200\t dimension of descriptor: 2\t RMSE_LASSO: 0.357\t RMSE_LS: 0.291\n", - " features abs(nonzero_coefs_LASSO)\n", - "0 (r_p(A)+r_p(B)) 0.017879\n", - "1 (r_p(A)+r_d(B)) 0.119307\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# change lam between 0.02 and 0.34, e.g. 0.34, 0.30, 0.20, 0.13, 0.10, 0.02\n", "lam = 0.2\n", @@ -1838,16 +590,17 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:27.016452Z", - "start_time": "2020-12-07T19:04:26.877963Z" + "end_time": "2020-12-08T09:04:07.243017Z", + "start_time": "2020-12-08T09:04:07.162549Z" }, "scrolled": true }, "outputs": [], "source": [ + "# here we define a different dataframe to make it compatible with the SISSO regressor object\n", "# load data\n", "RS_structures = read(\"data/compressed_sensing/RS_structures.xyz\", index=':')\n", "ZB_structures = read(\"data/compressed_sensing/ZB_structures.xyz\", index=':')\n", @@ -1898,34 +651,15 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:27.103807Z", - "start_time": "2020-12-07T19:04:27.018071Z" + "end_time": "2020-12-08T09:04:07.346777Z", + "start_time": "2020-12-08T09:04:07.244250Z" }, "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1D model\n", - "RMSE: 0.2783 | Descriptor: c0 + a0 * ||r_d_B - (r_p_A)| - ((r_p_A + r_s_B))|\n", - "c0:1.151 | a0:-0.5176\n", - "\n", - "2D model\n", - "RMSE: 0.223 | Descriptor: c0 + a0 * |(r_d_B + r_s_A) - ((r_d_B)^2)| + a1 * ||r_d_B - (r_p_A)| - ((r_p_A + r_s_B))|\n", - "c0:1.549 | a0:-0.2932 | a1:-0.5909\n", - "\n", - "3D model\n", - "RMSE: 0.1962 | Descriptor: c0 + a0 * (|EA_B - (IP_A)|)^2 + a1 * |(r_d_B + r_s_A) - ((r_d_B)^2)| + a2 * ||r_d_B - (r_p_A)| - ((r_p_B + r_p_A))|\n", - "c0:1.075 | a0:0.007934 | a1:-0.2739 | a2:-0.4267\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "n_nonzero_coefs=3\n", "n_features_per_sis_iter=10\n", @@ -1980,34 +714,15 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:31.946005Z", - "start_time": "2020-12-07T19:04:27.105384Z" + "end_time": "2020-12-08T09:04:15.868023Z", + "start_time": "2020-12-08T09:04:10.727266Z" }, "scrolled": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1D model\n", - "RMSE: 0.1328 | Descriptor: c0 + a0 * [([(IP_B) / (r_p_A)]) / ((r_s_A)^2)]\n", - "c0:-0.2816 | a0:-0.07225\n", - "\n", - "2D model\n", - "RMSE: 0.1002 | Descriptor: c0 + a0 * [(|r_p_B - (r_s_A)|) / (exp(r_s_A))] + a1 * [(|EA_B - (IP_B)|) / ((r_p_A)^2)]\n", - "c0:-0.1447 | a0:-1.482 | a1:0.1143\n", - "\n", - "3D model\n", - "RMSE: 0.07497 | Descriptor: c0 + a0 * [([(r_d_B) / (r_d_A)]) / ((IP_B)^2)] + a1 * [(|r_p_B - (r_s_A)|) / (exp(r_s_A))] + a2 * [(|EA_B - (IP_B)|) / ((r_p_A)^2)]\n", - "c0:0.004788 | a0:-11.97 | a1:-1.869 | a2:0.1126\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "n_nonzero_coefs=3\n", "n_features_per_sis_iter=50\n", @@ -2056,30 +771,15 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:32.322653Z", - "start_time": "2020-12-07T19:04:31.947438Z" + "end_time": "2020-12-08T09:04:16.257735Z", + "start_time": "2020-12-08T09:04:15.869867Z" }, "scrolled": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1D model\n", - "RMSE: 0.1328 | Descriptor: c0 + a0 * [([(IP_B) / (r_p_A)]) / ((r_s_A)^2)]\n", - "c0:-0.2816 | a0:-0.07225\n", - "\n", - "2D model\n", - "RMSE: 0.1002 | Descriptor: c0 + a0 * [(|r_p_B - (r_s_A)|) / (exp(r_s_A))] + a1 * [(|EA_B - (IP_B)|) / ((r_p_A)^2)]\n", - "c0:-0.1447 | a0:-1.482 | a1:0.1143\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "n_nonzero_coefs=2\n", "n_features_per_sis_iter=50\n", @@ -2128,11 +828,11 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:32.512142Z", - "start_time": "2020-12-07T19:04:32.324113Z" + "end_time": "2020-12-08T09:04:16.439244Z", + "start_time": "2020-12-08T09:04:16.259950Z" } }, "outputs": [], @@ -2151,30 +851,15 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:33.033592Z", - "start_time": "2020-12-07T19:04:32.513705Z" + "end_time": "2020-12-08T09:04:17.222753Z", + "start_time": "2020-12-08T09:04:16.440847Z" }, "scrolled": false }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b6077e90f34d4cbca21b96985ef9be5a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "VBox(children=(HBox(children=(VBox(children=(Dropdown(description='x-axis', options=('[(|EA_B - (IP_B)|) / ((r…" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "visualizer=Visualizer(df, sisso, feat_space)\n", "visualizer.show()" @@ -2182,24 +867,14 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:34.467430Z", - "start_time": "2020-12-07T19:04:33.034809Z" + "end_time": "2020-12-08T09:04:18.777429Z", + "start_time": "2020-12-08T09:04:17.224066Z" } }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Selected operations:\n", - " ['+', '|-|', 'exp', '^2', '/']\n", - "Number of total features generated: 3391\n" - ] - } - ], + "outputs": [], "source": [ "# get the data\n", "selected_feature_list = ['IP', 'EA', 'r_s', 'r_p','r_d']\n", @@ -2213,784 +888,15 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:51.932213Z", - "start_time": "2020-12-07T19:04:34.468831Z" + "end_time": "2020-12-08T09:04:36.911358Z", + "start_time": "2020-12-08T09:04:18.779050Z" }, "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 1) Leave out AgBr: Ediff_ref = -0.030 eV/atom\n", - " RMSE Model\n", - "1D:\t0.138036\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n", - "2D:\t0.116855\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.691 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n", - "3D:\t0.084763\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.242 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.391 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.118\n", - "Ediff_predicted(1D) = -0.009 eV/atom\n", - "Ediff_predicted(2D) = 0.006 eV/atom\n", - "Ediff_predicted(3D) = -0.000 eV/atom\n", - "-----\n", - " 2) Leave out AgCl: Ediff_ref = -0.043 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137927\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n", - "2D:\t0.116617\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.711 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.264\n", - "3D:\t0.084761\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.242 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.388 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.118\n", - "Ediff_predicted(1D) = 0.011 eV/atom\n", - "Ediff_predicted(2D) = 0.034 eV/atom\n", - "Ediff_predicted(3D) = -0.012 eV/atom\n", - "-----\n", - " 3) Leave out AgF: Ediff_ref = -0.154 eV/atom\n", - " RMSE Model\n", - "1D:\t0.135085\t- 0.101 (IP(B)+EA(A))/r_p(A)^2 - 0.378\n", - "2D:\t0.099858\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.434 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.150\n", - "3D:\t0.075106\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.711 |r_s(A)-r_p(B)|/exp(r_s(A)) - 6.091 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.010\n", - "Ediff_predicted(1D) = 0.223 eV/atom\n", - "Ediff_predicted(2D) = -0.024 eV/atom\n", - "Ediff_predicted(3D) = -0.000 eV/atom\n", - "-----\n", - " 4) Leave out AgI: Ediff_ref = 0.037 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137849\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116726\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.618 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n", - "3D:\t0.084826\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.390 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n", - "Ediff_predicted(1D) = -0.032 eV/atom\n", - "Ediff_predicted(2D) = -0.025 eV/atom\n", - "Ediff_predicted(3D) = 0.033 eV/atom\n", - "-----\n", - " 5) Leave out AlAs: Ediff_ref = 0.213 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137448\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116822\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.633 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n", - "3D:\t0.078776\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 10.612 |r_s(B)-r_p(B)|/exp(r_p(B)+r_d(A)) - 1.652 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.040\n", - "Ediff_predicted(1D) = 0.096 eV/atom\n", - "Ediff_predicted(2D) = 0.169 eV/atom\n", - "Ediff_predicted(3D) = 0.250 eV/atom\n", - "-----\n", - " 6) Leave out AlN: Ediff_ref = 0.073 eV/atom\n", - " RMSE Model\n", - "1D:\t0.136161\t+ 0.340 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.190\n", - "2D:\t0.103664\t+ 0.121 |IP(B)-EA(B)|/r_p(A)^2 - 0.618 |r_s(A)-r_p(B)|/r_s(A)^2 - 0.184\n", - "3D:\t0.076815\t+ 0.370 |IP(B)-EA(B)|/exp(r_p(A)^2) - 7.007 |r_s(A)-r_p(B)|/exp(r_s(A)+r_p(A)) - 7.437 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 + 0.022\n", - "Ediff_predicted(1D) = 0.386 eV/atom\n", - "Ediff_predicted(2D) = 0.250 eV/atom\n", - "Ediff_predicted(3D) = 0.271 eV/atom\n", - "-----\n", - " 7) Leave out AlP: Ediff_ref = 0.219 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137532\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116832\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.644 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n", - "3D:\t0.084690\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.401 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n", - "Ediff_predicted(1D) = 0.110 eV/atom\n", - "Ediff_predicted(2D) = 0.177 eV/atom\n", - "Ediff_predicted(3D) = 0.263 eV/atom\n", - "-----\n", - " 8) Leave out AlSb: Ediff_ref = 0.157 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137751\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116751\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.639 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n", - "3D:\t0.078876\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 10.641 |r_s(B)-r_p(B)|/exp(r_p(B)+r_d(A)) - 1.641 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.042\n", - "Ediff_predicted(1D) = 0.074 eV/atom\n", - "Ediff_predicted(2D) = 0.099 eV/atom\n", - "Ediff_predicted(3D) = 0.153 eV/atom\n", - "-----\n", - " 9) Leave out AsGa: Ediff_ref = 0.274 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137217\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116721\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.618 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n", - "3D:\t0.078802\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 10.635 |r_s(B)-r_p(B)|/exp(r_p(B)+r_d(A)) - 1.650 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.040\n", - "Ediff_predicted(1D) = 0.137 eV/atom\n", - "Ediff_predicted(2D) = 0.212 eV/atom\n", - "Ediff_predicted(3D) = 0.306 eV/atom\n", - "-----\n", - "10) Leave out AsB: Ediff_ref = 0.875 eV/atom\n", - " RMSE Model\n", - "1D:\t0.136271\t- 0.056 (IP(A)+IP(B))/r_p(A)^2 - 0.336\n", - "2D:\t0.116899\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.657 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n", - "3D:\t0.084623\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.391 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n", - "Ediff_predicted(1D) = 1.082 eV/atom\n", - "Ediff_predicted(2D) = 0.896 eV/atom\n", - "Ediff_predicted(3D) = 0.929 eV/atom\n", - "-----\n", - "11) Leave out BN: Ediff_ref = 1.712 eV/atom\n", - " RMSE Model\n", - "1D:\t0.133112\t- 0.211 (IP(A)+IP(B))/(r_s(A)+r_p(A))^2 - 0.408\n", - "2D:\t0.099900\t+ 0.113 |IP(B)-EA(B)|/r_p(A)^2 - 1.500 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.138\n", - "3D:\t0.075053\t+ 0.106 |IP(B)-EA(B)|/r_p(A)^2 - 1.790 |r_s(A)-r_p(B)|/exp(r_s(A)) - 6.104 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 + 0.005\n", - "Ediff_predicted(1D) = 1.304 eV/atom\n", - "Ediff_predicted(2D) = 1.576 eV/atom\n", - "Ediff_predicted(3D) = 1.545 eV/atom\n", - "-----\n", - "12) Leave out BP: Ediff_ref = 1.019 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137692\t- 0.056 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116883\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.671 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n", - "3D:\t0.084804\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.392 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n", - "Ediff_predicted(1D) = 1.113 eV/atom\n", - "Ediff_predicted(2D) = 0.991 eV/atom\n", - "Ediff_predicted(3D) = 1.037 eV/atom\n", - "-----\n", - "13) Leave out BSb: Ediff_ref = 0.581 eV/atom\n", - " RMSE Model\n", - "1D:\t0.129244\t- 0.057 (IP(A)+IP(B))/r_p(A)^2 - 0.339\n", - "2D:\t0.112986\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.298 (r_s(B)+r_d(A))/exp(r_d(A)^2) - 0.295\n", - "3D:\t0.084094\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.368 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.123\n", - "Ediff_predicted(1D) = 1.033 eV/atom\n", - "Ediff_predicted(2D) = 1.020 eV/atom\n", - "Ediff_predicted(3D) = 0.684 eV/atom\n", - "-----\n", - "14) Leave out BaO: Ediff_ref = -0.093 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137869\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.115469\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.990 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n", - "3D:\t0.082953\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.246 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.422 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n", - "Ediff_predicted(1D) = -0.158 eV/atom\n", - "Ediff_predicted(2D) = -0.263 eV/atom\n", - "Ediff_predicted(3D) = -0.255 eV/atom\n", - "-----\n", - "15) Leave out BaS: Ediff_ref = -0.320 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137337\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.330\n", - "2D:\t0.116821\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.615 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n", - "3D:\t0.084644\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.239 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.389 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.118\n", - "Ediff_predicted(1D) = -0.192 eV/atom\n", - "Ediff_predicted(2D) = -0.275 eV/atom\n", - "Ediff_predicted(3D) = -0.269 eV/atom\n", - "-----\n", - "16) Leave out BaSe: Ediff_ref = -0.343 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137129\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.329\n", - "2D:\t0.116682\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.599 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n", - "3D:\t0.084425\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.237 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.390 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.118\n", - "Ediff_predicted(1D) = -0.198 eV/atom\n", - "Ediff_predicted(2D) = -0.275 eV/atom\n", - "Ediff_predicted(3D) = -0.268 eV/atom\n", - "-----\n", - "17) Leave out BaTe: Ediff_ref = -0.375 eV/atom\n", - " RMSE Model\n", - "1D:\t0.136799\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.329\n", - "2D:\t0.098896\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.489 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.140\n", - "3D:\t0.076343\t+ 0.108 |IP(B)-EA(B)|/r_p(A)^2 - 1.762 |r_s(A)-r_p(B)|/exp(r_s(A)) - 5.892 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.006\n", - "Ediff_predicted(1D) = -0.206 eV/atom\n", - "Ediff_predicted(2D) = -0.197 eV/atom\n", - "Ediff_predicted(3D) = -0.290 eV/atom\n", - "-----\n", - "18) Leave out BeO: Ediff_ref = 0.692 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137952\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n", - "2D:\t0.099938\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.522 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.139\n", - "3D:\t0.075878\t+ 0.108 |IP(B)-EA(B)|/r_p(A)^2 - 1.804 |r_s(A)-r_p(B)|/exp(r_s(A)) - 4.953 |r_s(B)-r_p(B)|/(r_s(B)+r_d(A))^2 - 0.006\n", - "Ediff_predicted(1D) = 0.643 eV/atom\n", - "Ediff_predicted(2D) = 0.566 eV/atom\n", - "Ediff_predicted(3D) = 0.573 eV/atom\n", - "-----\n", - "19) Leave out BeS: Ediff_ref = 0.506 eV/atom\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " RMSE Model\n", - "1D:\t0.137994\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n", - "2D:\t0.116530\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.620 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n", - "3D:\t0.084632\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.385 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n", - "Ediff_predicted(1D) = 0.468 eV/atom\n", - "Ediff_predicted(2D) = 0.419 eV/atom\n", - "Ediff_predicted(3D) = 0.454 eV/atom\n", - "-----\n", - "20) Leave out BeSe: Ediff_ref = 0.495 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137905\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n", - "2D:\t0.116107\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.579 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n", - "3D:\t0.084638\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.380 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n", - "Ediff_predicted(1D) = 0.436 eV/atom\n", - "Ediff_predicted(2D) = 0.370 eV/atom\n", - "Ediff_predicted(3D) = 0.443 eV/atom\n", - "-----\n", - "21) Leave out BeTe: Ediff_ref = 0.469 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137820\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n", - "2D:\t0.115395\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.525 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.269\n", - "3D:\t0.084490\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.372 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.122\n", - "Ediff_predicted(1D) = 0.395 eV/atom\n", - "Ediff_predicted(2D) = 0.297 eV/atom\n", - "Ediff_predicted(3D) = 0.399 eV/atom\n", - "-----\n", - "22) Leave out C2: Ediff_ref = 2.629 eV/atom\n", - " RMSE Model\n", - "1D:\t0.119515\t- 0.254 IP(B)/exp(r_p(A)^2) - 0.178\n", - "2D:\t0.098042\t+ 0.286 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.657 r_d(A)/exp(r_d(A)^2) - 0.115\n", - "3D:\t0.071567\t+ 0.304 |IP(B)-EA(B)|/exp(r_p(A)^2) - 11.279 |r_s(B)-r_p(B)|/exp(r_s(B)+r_d(A)) - 0.515 |r_s(A)-r_p(B)|/r_s(A)^2 + 0.050\n", - "Ediff_predicted(1D) = 1.676 eV/atom\n", - "Ediff_predicted(2D) = 1.732 eV/atom\n", - "Ediff_predicted(3D) = 2.067 eV/atom\n", - "-----\n", - "23) Leave out CaO: Ediff_ref = -0.265 eV/atom\n", - " RMSE Model\n", - "1D:\t0.136780\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.329\n", - "2D:\t0.115213\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 7.722 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.257\n", - "3D:\t0.078099\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 9.046 |r_s(B)-r_p(B)|/exp(r_s(B)+r_d(A)) - 1.668 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.039\n", - "Ediff_predicted(1D) = -0.095 eV/atom\n", - "Ediff_predicted(2D) = -0.478 eV/atom\n", - "Ediff_predicted(3D) = -0.235 eV/atom\n", - "-----\n", - "24) Leave out CaS: Ediff_ref = -0.369 eV/atom\n", - " RMSE Model\n", - "1D:\t0.135764\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.328\n", - "2D:\t0.098737\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.468 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.143\n", - "3D:\t0.076877\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.770 |r_s(A)-r_p(B)|/exp(r_s(A)) - 6.092 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.004\n", - "Ediff_predicted(1D) = -0.142 eV/atom\n", - "Ediff_predicted(2D) = -0.183 eV/atom\n", - "Ediff_predicted(3D) = -0.387 eV/atom\n", - "-----\n", - "25) Leave out CaSe: Ediff_ref = -0.361 eV/atom\n", - " RMSE Model\n", - "1D:\t0.136102\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.328\n", - "2D:\t0.098713\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.477 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.142\n", - "3D:\t0.076410\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.788 |r_s(A)-r_p(B)|/exp(r_s(A)) - 5.297 |r_s(B)-r_p(B)|/(r_s(B)+r_d(A))^2 - 0.005\n", - "Ediff_predicted(1D) = -0.151 eV/atom\n", - "Ediff_predicted(2D) = -0.174 eV/atom\n", - "Ediff_predicted(3D) = -0.451 eV/atom\n", - "-----\n", - "26) Leave out CaTe: Ediff_ref = -0.350 eV/atom\n", - " RMSE Model\n", - "1D:\t0.136487\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.329\n", - "2D:\t0.098291\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.496 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.139\n", - "3D:\t0.076193\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.785 |r_s(A)-r_p(B)|/exp(r_s(A)) - 5.416 |r_s(B)-r_p(B)|/(r_s(B)+r_d(A))^2 - 0.003\n", - "Ediff_predicted(1D) = -0.162 eV/atom\n", - "Ediff_predicted(2D) = -0.146 eV/atom\n", - "Ediff_predicted(3D) = -0.461 eV/atom\n", - "-----\n", - "27) Leave out CdO: Ediff_ref = -0.084 eV/atom\n", - " RMSE Model\n", - "1D:\t0.135465\t- 0.219 (IP(A)+IP(B))/(r_s(A)+r_p(A))^2 - 0.419\n", - "2D:\t0.104770\t+ 0.121 |IP(B)-EA(B)|/r_p(A)^2 - 0.623 |r_s(A)-r_p(B)|/r_s(A)^2 - 0.183\n", - "3D:\t0.083261\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 0.696 |r_s(A)-r_p(B)|/r_s(A)^2 - 10.800 |r_s(B)-r_p(B)|/exp(r_p(B)+r_d(A)) - 0.081\n", - "Ediff_predicted(1D) = 0.228 eV/atom\n", - "Ediff_predicted(2D) = 0.025 eV/atom\n", - "Ediff_predicted(3D) = 0.054 eV/atom\n", - "-----\n", - "28) Leave out CdS: Ediff_ref = 0.073 eV/atom\n", - " RMSE Model\n", - "1D:\t0.138046\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n", - "2D:\t0.116883\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.653 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n", - "3D:\t0.084806\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.390 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n", - "Ediff_predicted(1D) = 0.057 eV/atom\n", - "Ediff_predicted(2D) = 0.045 eV/atom\n", - "Ediff_predicted(3D) = 0.056 eV/atom\n", - "-----\n", - "29) Leave out CdSe: Ediff_ref = 0.084 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137978\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n", - "2D:\t0.116740\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.629 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n", - "3D:\t0.084811\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.389 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n", - "Ediff_predicted(1D) = 0.041 eV/atom\n", - "Ediff_predicted(2D) = 0.024 eV/atom\n", - "Ediff_predicted(3D) = 0.069 eV/atom\n", - "-----\n", - "30) Leave out CdTe: Ediff_ref = 0.115 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137670\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116256\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.569 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.269\n", - "3D:\t0.084825\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.389 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n", - "Ediff_predicted(1D) = 0.021 eV/atom\n", - "Ediff_predicted(2D) = 0.001 eV/atom\n", - "Ediff_predicted(3D) = 0.109 eV/atom\n", - "-----\n", - "31) Leave out BrCs: Ediff_ref = -0.156 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137730\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116671\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.655 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n", - "3D:\t0.084512\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.392 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n", - "Ediff_predicted(1D) = -0.242 eV/atom\n", - "Ediff_predicted(2D) = -0.225 eV/atom\n", - "Ediff_predicted(3D) = -0.222 eV/atom\n", - "-----\n", - "32) Leave out ClCs: Ediff_ref = -0.150 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137741\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116684\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.660 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n", - "3D:\t0.084432\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.395 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n", - "Ediff_predicted(1D) = -0.235 eV/atom\n", - "Ediff_predicted(2D) = -0.218 eV/atom\n", - "Ediff_predicted(3D) = -0.225 eV/atom\n", - "-----\n", - "33) Leave out CsF: Ediff_ref = -0.108 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137647\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.335\n", - "2D:\t0.099798\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.501 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.145\n", - "3D:\t0.076203\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.776 |r_s(A)-r_p(B)|/exp(r_s(A)) - 5.972 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.007\n", - "Ediff_predicted(1D) = -0.205 eV/atom\n", - "Ediff_predicted(2D) = -0.239 eV/atom\n", - "Ediff_predicted(3D) = -0.202 eV/atom\n", - "-----\n", - "34) Leave out CsI: Ediff_ref = -0.162 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137721\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116674\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.648 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.268\n", - "3D:\t0.084641\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.389 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n", - "Ediff_predicted(1D) = -0.250 eV/atom\n", - "Ediff_predicted(2D) = -0.232 eV/atom\n", - "Ediff_predicted(3D) = -0.213 eV/atom\n", - "-----\n", - "35) Leave out BrCu: Ediff_ref = 0.152 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137813\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n", - "2D:\t0.116576\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.622 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n", - "3D:\t0.084614\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.387 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n", - "Ediff_predicted(1D) = 0.078 eV/atom\n", - "Ediff_predicted(2D) = 0.071 eV/atom\n", - "Ediff_predicted(3D) = 0.098 eV/atom\n", - "-----\n", - "36) Leave out ClCu: Ediff_ref = 0.156 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137931\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n", - "2D:\t0.116770\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.646 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n", - "3D:\t0.084492\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.239 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.393 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n", - "Ediff_predicted(1D) = 0.103 eV/atom\n", - "Ediff_predicted(2D) = 0.102 eV/atom\n", - "Ediff_predicted(3D) = 0.088 eV/atom\n", - "-----\n", - "37) Leave out CuF: Ediff_ref = -0.017 eV/atom\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " RMSE Model\n", - "1D:\t0.134586\t- 0.101 (IP(B)+EA(A))/r_p(A)^2 - 0.380\n", - "2D:\t0.099977\t+ 0.115 |IP(B)-EA(B)|/r_p(A)^2 - 1.437 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.150\n", - "3D:\t0.075550\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.717 |r_s(A)-r_p(B)|/exp(r_s(A)) - 6.057 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.010\n", - "Ediff_predicted(1D) = 0.375 eV/atom\n", - "Ediff_predicted(2D) = 0.105 eV/atom\n", - "Ediff_predicted(3D) = 0.116 eV/atom\n", - "-----\n", - "38) Leave out CuI: Ediff_ref = 0.205 eV/atom\n", - " RMSE Model\n", - "1D:\t0.136996\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.335\n", - "2D:\t0.115484\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.534 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.270\n", - "3D:\t0.084429\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.373 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.122\n", - "Ediff_predicted(1D) = 0.050 eV/atom\n", - "Ediff_predicted(2D) = 0.038 eV/atom\n", - "Ediff_predicted(3D) = 0.129 eV/atom\n", - "-----\n", - "39) Leave out GaN: Ediff_ref = 0.433 eV/atom\n", - " RMSE Model\n", - "1D:\t0.136889\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.100367\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.498 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.143\n", - "3D:\t0.076603\t+ 0.108 |IP(B)-EA(B)|/r_p(A)^2 - 1.775 |r_s(A)-r_p(B)|/exp(r_s(A)) - 6.004 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.004\n", - "Ediff_predicted(1D) = 0.271 eV/atom\n", - "Ediff_predicted(2D) = 0.345 eV/atom\n", - "Ediff_predicted(3D) = 0.372 eV/atom\n", - "-----\n", - "40) Leave out GaP: Ediff_ref = 0.349 eV/atom\n", - " RMSE Model\n", - "1D:\t0.136321\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.335\n", - "2D:\t0.116354\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.576 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.268\n", - "3D:\t0.078854\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 10.646 |r_s(B)-r_p(B)|/exp(r_p(B)+r_d(A)) - 1.647 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.041\n", - "Ediff_predicted(1D) = 0.151 eV/atom\n", - "Ediff_predicted(2D) = 0.244 eV/atom\n", - "Ediff_predicted(3D) = 0.366 eV/atom\n", - "-----\n", - "41) Leave out GaSb: Ediff_ref = 0.155 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137980\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n", - "2D:\t0.116864\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.658 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n", - "3D:\t0.084814\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.392 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.118\n", - "Ediff_predicted(1D) = 0.113 eV/atom\n", - "Ediff_predicted(2D) = 0.121 eV/atom\n", - "Ediff_predicted(3D) = 0.168 eV/atom\n", - "-----\n", - "42) Leave out Ge2: Ediff_ref = 0.201 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137706\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n", - "2D:\t0.116730\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.685 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n", - "3D:\t0.084175\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.243 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.397 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n", - "Ediff_predicted(1D) = 0.290 eV/atom\n", - "Ediff_predicted(2D) = 0.262 eV/atom\n", - "Ediff_predicted(3D) = 0.296 eV/atom\n", - "-----\n", - "43) Leave out CGe: Ediff_ref = 0.811 eV/atom\n", - " RMSE Model\n", - "1D:\t0.131019\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.095780\t+ 0.113 |IP(B)-EA(B)|/r_p(A)^2 - 1.484 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.144\n", - "3D:\t0.072546\t+ 0.108 |IP(B)-EA(B)|/r_p(A)^2 - 1.758 |r_s(A)-r_p(B)|/exp(r_s(A)) - 4.783 |r_s(B)-r_p(B)|/(r_s(B)+r_d(A))^2 - 0.016\n", - "Ediff_predicted(1D) = 0.416 eV/atom\n", - "Ediff_predicted(2D) = 0.524 eV/atom\n", - "Ediff_predicted(3D) = 0.577 eV/atom\n", - "-----\n", - "44) Leave out GeSi: Ediff_ref = 0.263 eV/atom\n", - " RMSE Model\n", - "1D:\t0.138006\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n", - "2D:\t0.116908\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.673 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n", - "3D:\t0.084558\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.242 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.397 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n", - "Ediff_predicted(1D) = 0.297 eV/atom\n", - "Ediff_predicted(2D) = 0.279 eV/atom\n", - "Ediff_predicted(3D) = 0.325 eV/atom\n", - "-----\n", - "45) Leave out AsIn: Ediff_ref = 0.134 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137573\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116898\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.648 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n", - "3D:\t0.084396\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.243 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.411 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.114\n", - "Ediff_predicted(1D) = 0.029 eV/atom\n", - "Ediff_predicted(2D) = 0.112 eV/atom\n", - "Ediff_predicted(3D) = 0.212 eV/atom\n", - "-----\n", - "46) Leave out InN: Ediff_ref = 0.154 eV/atom\n", - " RMSE Model\n", - "1D:\t0.138044\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n", - "2D:\t0.115766\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.721 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.264\n", - "3D:\t0.084756\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.242 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.383 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n", - "Ediff_predicted(1D) = 0.137 eV/atom\n", - "Ediff_predicted(2D) = 0.302 eV/atom\n", - "Ediff_predicted(3D) = 0.186 eV/atom\n", - "-----\n", - "47) Leave out InP: Ediff_ref = 0.179 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137211\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116788\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.626 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n", - "3D:\t0.084800\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.242 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.395 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.118\n", - "Ediff_predicted(1D) = 0.041 eV/atom\n", - "Ediff_predicted(2D) = 0.128 eV/atom\n", - "Ediff_predicted(3D) = 0.199 eV/atom\n", - "-----\n", - "48) Leave out InSb: Ediff_ref = 0.078 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137854\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116919\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.661 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n", - "3D:\t0.084251\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.243 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.414 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.114\n", - "Ediff_predicted(1D) = 0.010 eV/atom\n", - "Ediff_predicted(2D) = 0.071 eV/atom\n", - "Ediff_predicted(3D) = 0.169 eV/atom\n", - "-----\n", - "49) Leave out BrK: Ediff_ref = -0.166 eV/atom\n", - " RMSE Model\n", - "1D:\t0.138054\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n", - "2D:\t0.116806\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.697 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n", - "3D:\t0.084803\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.392 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n", - "Ediff_predicted(1D) = -0.174 eV/atom\n", - "Ediff_predicted(2D) = -0.214 eV/atom\n", - "Ediff_predicted(3D) = -0.185 eV/atom\n", - "-----\n", - "50) Leave out ClK: Ediff_ref = -0.164 eV/atom\n", - " RMSE Model\n", - "1D:\t0.138056\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n", - "2D:\t0.116837\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.700 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n", - "3D:\t0.084799\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.393 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n", - "Ediff_predicted(1D) = -0.162 eV/atom\n", - "Ediff_predicted(2D) = -0.205 eV/atom\n", - "Ediff_predicted(3D) = -0.184 eV/atom\n", - "-----\n", - "51) Leave out FK: Ediff_ref = -0.146 eV/atom\n", - " RMSE Model\n", - "1D:\t0.138001\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n", - "2D:\t0.116920\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.659 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n", - "3D:\t0.084827\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.391 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n", - "Ediff_predicted(1D) = -0.111 eV/atom\n", - "Ediff_predicted(2D) = -0.140 eV/atom\n", - "Ediff_predicted(3D) = -0.147 eV/atom\n", - "-----\n", - "52) Leave out IK: Ediff_ref = -0.167 eV/atom\n", - " RMSE Model\n", - "1D:\t0.138038\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n", - "2D:\t0.116788\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.687 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n", - "3D:\t0.084820\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.391 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n", - "Ediff_predicted(1D) = -0.187 eV/atom\n", - "Ediff_predicted(2D) = -0.218 eV/atom\n", - "Ediff_predicted(3D) = -0.177 eV/atom\n", - "-----\n", - "53) Leave out BrLi: Ediff_ref = -0.033 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137936\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n", - "2D:\t0.116885\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.693 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n", - "3D:\t0.084691\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.394 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n", - "Ediff_predicted(1D) = -0.085 eV/atom\n", - "Ediff_predicted(2D) = -0.006 eV/atom\n", - "Ediff_predicted(3D) = -0.076 eV/atom\n", - "-----\n", - "54) Leave out ClLi: Ediff_ref = -0.038 eV/atom\n", - " RMSE Model\n", - "1D:\t0.138019\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n", - "2D:\t0.116719\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.728 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.264\n", - "3D:\t0.084703\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.397 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n", - "Ediff_predicted(1D) = -0.067 eV/atom\n", - "Ediff_predicted(2D) = 0.024 eV/atom\n", - "Ediff_predicted(3D) = -0.080 eV/atom\n", - "-----\n", - "55) Leave out FLi: Ediff_ref = -0.059 eV/atom\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " RMSE Model\n", - "1D:\t0.137844\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.331\n", - "2D:\t0.113940\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.889 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.260\n", - "3D:\t0.084791\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.242 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.383 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n", - "Ediff_predicted(1D) = 0.010 eV/atom\n", - "Ediff_predicted(2D) = 0.179 eV/atom\n", - "Ediff_predicted(3D) = -0.037 eV/atom\n", - "-----\n", - "56) Leave out ILi: Ediff_ref = -0.022 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137752\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116903\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.648 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n", - "3D:\t0.084732\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.389 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n", - "Ediff_predicted(1D) = -0.105 eV/atom\n", - "Ediff_predicted(2D) = -0.041 eV/atom\n", - "Ediff_predicted(3D) = -0.058 eV/atom\n", - "-----\n", - "57) Leave out MgO: Ediff_ref = -0.232 eV/atom\n", - " RMSE Model\n", - "1D:\t0.134610\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.329\n", - "2D:\t0.109662\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.829 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.259\n", - "3D:\t0.075564\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 10.905 |r_s(B)-r_p(B)|/exp(r_p(B)+r_d(A)) - 1.578 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.046\n", - "Ediff_predicted(1D) = 0.045 eV/atom\n", - "Ediff_predicted(2D) = 0.135 eV/atom\n", - "Ediff_predicted(3D) = -0.023 eV/atom\n", - "-----\n", - "58) Leave out MgS: Ediff_ref = -0.087 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137906\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n", - "2D:\t0.116486\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.732 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.263\n", - "3D:\t0.084479\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.243 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.390 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n", - "Ediff_predicted(1D) = -0.028 eV/atom\n", - "Ediff_predicted(2D) = 0.005 eV/atom\n", - "Ediff_predicted(3D) = -0.017 eV/atom\n", - "-----\n", - "59) Leave out MgSe: Ediff_ref = -0.055 eV/atom\n", - " RMSE Model\n", - "1D:\t0.138048\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n", - "2D:\t0.116843\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.697 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n", - "3D:\t0.084638\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.243 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.394 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n", - "Ediff_predicted(1D) = -0.042 eV/atom\n", - "Ediff_predicted(2D) = -0.016 eV/atom\n", - "Ediff_predicted(3D) = -0.004 eV/atom\n", - "-----\n", - "60) Leave out MgTe: Ediff_ref = -0.005 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137924\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n", - "2D:\t0.116850\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.634 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n", - "3D:\t0.084713\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.242 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.399 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n", - "Ediff_predicted(1D) = -0.059 eV/atom\n", - "Ediff_predicted(2D) = -0.042 eV/atom\n", - "Ediff_predicted(3D) = 0.036 eV/atom\n", - "-----\n", - "61) Leave out BrNa: Ediff_ref = -0.126 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137892\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116912\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.681 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n", - "3D:\t0.084611\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.239 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.395 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n", - "Ediff_predicted(1D) = -0.188 eV/atom\n", - "Ediff_predicted(2D) = -0.112 eV/atom\n", - "Ediff_predicted(3D) = -0.182 eV/atom\n", - "-----\n", - "62) Leave out ClNa: Ediff_ref = -0.133 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137971\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n", - "2D:\t0.116844\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.706 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.264\n", - "3D:\t0.084552\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.239 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.399 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n", - "Ediff_predicted(1D) = -0.177 eV/atom\n", - "Ediff_predicted(2D) = -0.094 eV/atom\n", - "Ediff_predicted(3D) = -0.195 eV/atom\n", - "-----\n", - "63) Leave out FNa: Ediff_ref = -0.146 eV/atom\n", - " RMSE Model\n", - "1D:\t0.138047\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n", - "2D:\t0.115855\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.806 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.262\n", - "3D:\t0.084549\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.239 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.412 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n", - "Ediff_predicted(1D) = -0.131 eV/atom\n", - "Ediff_predicted(2D) = -0.002 eV/atom\n", - "Ediff_predicted(3D) = -0.209 eV/atom\n", - "-----\n", - "64) Leave out INa: Ediff_ref = -0.115 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137742\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116905\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.649 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n", - "3D:\t0.084726\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.390 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n", - "Ediff_predicted(1D) = -0.199 eV/atom\n", - "Ediff_predicted(2D) = -0.133 eV/atom\n", - "Ediff_predicted(3D) = -0.153 eV/atom\n", - "-----\n", - "65) Leave out BrRb: Ediff_ref = -0.164 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137783\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116773\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.651 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n", - "3D:\t0.084422\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.394 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n", - "Ediff_predicted(1D) = -0.243 eV/atom\n", - "Ediff_predicted(2D) = -0.217 eV/atom\n", - "Ediff_predicted(3D) = -0.239 eV/atom\n", - "-----\n", - "66) Leave out ClRb: Ediff_ref = -0.161 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137807\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116794\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.655 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n", - "3D:\t0.084312\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.239 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.398 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n", - "Ediff_predicted(1D) = -0.236 eV/atom\n", - "Ediff_predicted(2D) = -0.210 eV/atom\n", - "Ediff_predicted(3D) = -0.246 eV/atom\n", - "-----\n", - "67) Leave out FRb: Ediff_ref = -0.136 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137839\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.099667\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.510 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.144\n", - "3D:\t0.075979\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.784 |r_s(A)-r_p(B)|/exp(r_s(A)) - 5.974 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.006\n", - "Ediff_predicted(1D) = -0.206 eV/atom\n", - "Ediff_predicted(2D) = -0.275 eV/atom\n", - "Ediff_predicted(3D) = -0.244 eV/atom\n", - "-----\n", - "68) Leave out IRb: Ediff_ref = -0.167 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137753\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.116758\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.644 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n", - "3D:\t0.084594\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.390 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n", - "Ediff_predicted(1D) = -0.250 eV/atom\n", - "Ediff_predicted(2D) = -0.224 eV/atom\n", - "Ediff_predicted(3D) = -0.224 eV/atom\n", - "-----\n", - "69) Leave out Si2: Ediff_ref = 0.279 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137896\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n", - "2D:\t0.116916\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.668 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n", - "3D:\t0.084460\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.400 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n", - "Ediff_predicted(1D) = 0.340 eV/atom\n", - "Ediff_predicted(2D) = 0.290 eV/atom\n", - "Ediff_predicted(3D) = 0.351 eV/atom\n", - "-----\n", - "70) Leave out CSi: Ediff_ref = 0.669 eV/atom\n", - " RMSE Model\n", - "1D:\t0.136280\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n", - "2D:\t0.116073\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.732 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n", - "3D:\t0.083995\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 0.273 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 0.630 |r_s(A)-r_p(B)|/r_s(A)^2 - 0.138\n", - "Ediff_predicted(1D) = 0.468 eV/atom\n", - "Ediff_predicted(2D) = 0.540 eV/atom\n", - "Ediff_predicted(3D) = 0.538 eV/atom\n", - "-----\n", - "71) Leave out Sn2: Ediff_ref = 0.017 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137738\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.331\n", - "2D:\t0.116824\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.671 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n", - "3D:\t0.084230\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.242 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.397 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.116\n", - "Ediff_predicted(1D) = 0.102 eV/atom\n", - "Ediff_predicted(2D) = 0.060 eV/atom\n", - "Ediff_predicted(3D) = 0.108 eV/atom\n", - "-----\n", - "72) Leave out CSn: Ediff_ref = 0.454 eV/atom\n", - " RMSE Model\n", - "1D:\t0.135518\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.335\n", - "2D:\t0.098696\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.499 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.144\n", - "3D:\t0.075498\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.772 |r_s(A)-r_p(B)|/exp(r_s(A)) - 4.861 |r_s(B)-r_p(B)|/(r_s(B)+r_d(A))^2 - 0.014\n", - "Ediff_predicted(1D) = 0.215 eV/atom\n", - "Ediff_predicted(2D) = 0.266 eV/atom\n", - "Ediff_predicted(3D) = 0.319 eV/atom\n", - "-----\n", - "73) Leave out GeSn: Ediff_ref = 0.082 eV/atom\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " RMSE Model\n", - "1D:\t0.138000\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n", - "2D:\t0.099521\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.520 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.138\n", - "3D:\t0.075882\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.791 |r_s(A)-r_p(B)|/exp(r_s(A)) - 5.965 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.001\n", - "Ediff_predicted(1D) = 0.117 eV/atom\n", - "Ediff_predicted(2D) = 0.230 eV/atom\n", - "Ediff_predicted(3D) = 0.196 eV/atom\n", - "-----\n", - "74) Leave out SiSn: Ediff_ref = 0.135 eV/atom\n", - " RMSE Model\n", - "1D:\t0.138049\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n", - "2D:\t0.116895\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.684 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n", - "3D:\t0.083711\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.242 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.426 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.112\n", - "Ediff_predicted(1D) = 0.123 eV/atom\n", - "Ediff_predicted(2D) = 0.158 eV/atom\n", - "Ediff_predicted(3D) = 0.261 eV/atom\n", - "-----\n", - "75) Leave out OSr: Ediff_ref = -0.220 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137775\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.331\n", - "2D:\t0.116846\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.752 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n", - "3D:\t0.084496\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.245 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.407 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n", - "Ediff_predicted(1D) = -0.140 eV/atom\n", - "Ediff_predicted(2D) = -0.260 eV/atom\n", - "Ediff_predicted(3D) = -0.289 eV/atom\n", - "-----\n", - "76) Leave out SSr: Ediff_ref = -0.368 eV/atom\n", - " RMSE Model\n", - "1D:\t0.136449\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.329\n", - "2D:\t0.099449\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.471 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.143\n", - "3D:\t0.076349\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.755 |r_s(A)-r_p(B)|/exp(r_s(A)) - 4.883 |r_s(B)-r_p(B)|/(r_s(B)+r_d(A))^2 - 0.013\n", - "Ediff_predicted(1D) = -0.178 eV/atom\n", - "Ediff_predicted(2D) = -0.217 eV/atom\n", - "Ediff_predicted(3D) = -0.282 eV/atom\n", - "-----\n", - "77) Leave out SeSr: Ediff_ref = -0.375 eV/atom\n", - " RMSE Model\n", - "1D:\t0.136468\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.329\n", - "2D:\t0.099160\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.477 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.142\n", - "3D:\t0.076598\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.758 |r_s(A)-r_p(B)|/exp(r_s(A)) - 5.918 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.007\n", - "Ediff_predicted(1D) = -0.185 eV/atom\n", - "Ediff_predicted(2D) = -0.208 eV/atom\n", - "Ediff_predicted(3D) = -0.312 eV/atom\n", - "-----\n", - "78) Leave out SrTe: Ediff_ref = -0.379 eV/atom\n", - " RMSE Model\n", - "1D:\t0.136542\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.329\n", - "2D:\t0.098501\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.491 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.139\n", - "3D:\t0.076443\t+ 0.108 |IP(B)-EA(B)|/r_p(A)^2 - 1.761 |r_s(A)-r_p(B)|/exp(r_s(A)) - 5.870 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.007\n", - "Ediff_predicted(1D) = -0.194 eV/atom\n", - "Ediff_predicted(2D) = -0.183 eV/atom\n", - "Ediff_predicted(3D) = -0.302 eV/atom\n", - "-----\n", - "79) Leave out OZn: Ediff_ref = 0.102 eV/atom\n", - " RMSE Model\n", - "1D:\t0.135541\t- 0.220 (IP(A)+IP(B))/(r_s(A)+r_p(A))^2 - 0.421\n", - "2D:\t0.105326\t+ 0.121 |IP(B)-EA(B)|/r_p(A)^2 - 0.632 |r_s(A)-r_p(B)|/r_s(A)^2 - 0.181\n", - "3D:\t0.084351\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 0.706 |r_s(A)-r_p(B)|/r_s(A)^2 - 10.702 |r_s(B)-r_p(B)|/exp(r_p(B)+r_d(A)) - 0.080\n", - "Ediff_predicted(1D) = 0.412 eV/atom\n", - "Ediff_predicted(2D) = 0.145 eV/atom\n", - "Ediff_predicted(3D) = 0.161 eV/atom\n", - "-----\n", - "80) Leave out SZn: Ediff_ref = 0.276 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137564\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.115797\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.602 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.268\n", - "3D:\t0.084100\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.239 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.380 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.122\n", - "Ediff_predicted(1D) = 0.170 eV/atom\n", - "Ediff_predicted(2D) = 0.129 eV/atom\n", - "Ediff_predicted(3D) = 0.175 eV/atom\n", - "-----\n", - "81) Leave out SeZn: Ediff_ref = 0.263 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137497\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.115647\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.565 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.269\n", - "3D:\t0.084403\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.375 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.122\n", - "Ediff_predicted(1D) = 0.151 eV/atom\n", - "Ediff_predicted(2D) = 0.107 eV/atom\n", - "Ediff_predicted(3D) = 0.186 eV/atom\n", - "-----\n", - "82) Leave out TeZn: Ediff_ref = 0.245 eV/atom\n", - " RMSE Model\n", - "1D:\t0.137428\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n", - "2D:\t0.115402\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.517 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.270\n", - "3D:\t0.084615\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.374 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.122\n", - "Ediff_predicted(1D) = 0.126 eV/atom\n", - "Ediff_predicted(2D) = 0.074 eV/atom\n", - "Ediff_predicted(3D) = 0.190 eV/atom\n", - "-----\n" - ] - } - ], + "outputs": [], "source": [ "# Leave-one-out cross-validation\n", "n_compounds = len(P)\n", @@ -3022,27 +928,14 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:52.111096Z", - "start_time": "2020-12-07T19:04:51.934395Z" + "end_time": "2020-12-08T09:04:40.440217Z", + "start_time": "2020-12-08T09:04:40.366912Z" } }, - "outputs": [ - { - "ename": "NameError", - "evalue": "name 'np' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m<ipython-input-22-db5254e9c47a>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m show_scatter_plot(xs, ys, data_point_labels=data_point_labels, \n\u001b[0;32m----> 9\u001b[0;31m x_label='E_diff_DFT', y_label='E_diff_predicted', legend=legend, unit='eV/atom')\n\u001b[0m", - "\u001b[0;32m~/analytics/tutorials/analytics-compressed-sensing/compressed_sensing/scatter_plot.py\u001b[0m in \u001b[0;36mshow_scatter_plot\u001b[0;34m(xs, ys, data_point_labels, x_label, y_label, legend, unit)\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mshow_scatter_plot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mxs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mys\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata_point_labels\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mx_label\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_label\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlegend\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0munit\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0;31m# if xs ist not list of lists/arrays make it so, as later the function iterates over xs and ys\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 13\u001b[0;31m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mxs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mlist\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 14\u001b[0m \u001b[0mxs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mxs\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[0mys\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mys\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mNameError\u001b[0m: name 'np' is not defined" - ] - } - ], + "outputs": [], "source": [ "#Plot Prediction errors\n", "prediction_errors = np.linalg.norm(P-P_predict, axis=1)/np.sqrt(n_compounds)\n", @@ -3060,8 +953,8 @@ "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:52.113187Z", - "start_time": "2020-12-07T19:04:04.680Z" + "end_time": "2020-12-08T09:04:41.931592Z", + "start_time": "2020-12-08T09:04:41.874643Z" }, "scrolled": true }, @@ -3140,8 +1033,8 @@ "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:52.114524Z", - "start_time": "2020-12-07T19:04:04.683Z" + "end_time": "2020-12-08T09:04:43.054913Z", + "start_time": "2020-12-08T09:04:43.045711Z" } }, "outputs": [], @@ -3159,8 +1052,8 @@ "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:52.115696Z", - "start_time": "2020-12-07T19:04:04.685Z" + "end_time": "2020-12-08T09:04:59.751495Z", + "start_time": "2020-12-08T09:04:43.306969Z" }, "scrolled": true }, @@ -3184,8 +1077,8 @@ "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2020-12-07T19:04:52.116767Z", - "start_time": "2020-12-07T19:04:04.686Z" + "end_time": "2020-12-08T09:04:59.801410Z", + "start_time": "2020-12-08T09:04:59.753070Z" } }, "outputs": [], diff --git a/compressed_sensing/scatter_plot.py b/compressed_sensing/scatter_plot.py index 4ad284d7afa1c2cb3fb9ba2636bc1043beb49425..485f013848324ce77113ff19ba97c6e80a8b96cc 100644 --- a/compressed_sensing/scatter_plot.py +++ b/compressed_sensing/scatter_plot.py @@ -5,7 +5,7 @@ from bokeh.plotting import figure, show from bokeh.embed import components import itertools from bokeh.palettes import Dark2_5 as palette - +import numpy as np output_notebook() def show_scatter_plot(xs, ys, data_point_labels=None, x_label=None, y_label=None, legend=None, unit=None): diff --git a/metainfo.json b/metainfo.json index 285b86e6a93a6d106366e026f3307f95a1fa3d82..ade713f3c23087fe5663b1d11236f601d1d65ca4 100644 --- a/metainfo.json +++ b/metainfo.json @@ -3,6 +3,7 @@ "Ahmetcik, Emre", "Ziletti, Angelo", "Ouyang, Runhai", + "Luigi Sbailò", "Scheffler, Matthias", "Ghiringhelli, Luca M." ], @@ -12,7 +13,7 @@ "url": "https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-compressed-sensing", "link": "https://analytics-toolkit.nomad-coe.eu/hub/user-redirect/notebooks/tutorials/compressed_sensing.ipynb", "link_public": "https://analytics-toolkit.nomad-coe.eu/public/user-redirect/notebooks/tutorials/compressed_sensing.ipynb", - "updated": "2019-04-05", + "updated": "2020-12-8", "flags":{ "featured": true, "top_of_list": false