From 1fdd6983eae43e6655fb6a949ffe15f2e0993272 Mon Sep 17 00:00:00 2001 From: materialsproject Date: Thu, 10 Nov 2022 23:33:55 +0000 Subject: [PATCH] update docs --- .../_sphinx_javascript_frameworks_compat.js | 134 + docs/_static/basic.css | 171 +- docs/_static/doctools.js | 377 +- docs/_static/documentation_options.js | 8 +- docs/_static/jquery-3.6.0.js | 10881 ++++++++++++++++ docs/_static/jquery.js | 4 +- docs/_static/language_data.js | 106 +- docs/_static/pygments.css | 6 +- docs/_static/searchtools.js | 812 +- docs/_static/sphinx_highlight.js | 144 + docs/_static/underscore.js | 37 +- docs/changelog.html | 32 +- docs/contributors.html | 62 +- docs/dataset_addition_guide.html | 80 +- docs/dataset_summary.html | 592 +- docs/example_bulkmod.html | 86 +- docs/featurizer_summary.html | 410 +- docs/genindex.html | 281 +- docs/index.html | 116 +- docs/installation.html | 56 +- docs/matminer.data_retrieval.html | 879 +- docs/matminer.data_retrieval.tests.html | 265 +- docs/matminer.datasets.html | 339 +- docs/matminer.datasets.tests.html | 405 +- docs/matminer.featurizers.composition.html | 1066 +- ...atminer.featurizers.composition.tests.html | 337 +- docs/matminer.featurizers.html | 1826 ++- docs/matminer.featurizers.site.html | 970 +- docs/matminer.featurizers.site.tests.html | 298 +- docs/matminer.featurizers.structure.html | 1333 +- .../matminer.featurizers.structure.tests.html | 380 +- docs/matminer.featurizers.tests.html | 609 +- docs/matminer.featurizers.utils.html | 344 +- docs/matminer.featurizers.utils.tests.html | 207 +- docs/matminer.figrecipes.html | 62 +- docs/matminer.figrecipes.tests.html | 56 +- docs/matminer.html | 517 +- docs/matminer.utils.data_files.html | 56 +- docs/matminer.utils.html | 547 +- docs/matminer.utils.tests.html | 300 +- docs/modules.html | 40 +- docs/objects.inv | Bin 8647 -> 9134 bytes docs/py-modindex.html | 63 +- docs/search.html | 35 +- docs/searchindex.js | 2 +- 45 files changed, 20309 insertions(+), 5022 deletions(-) create mode 100644 docs/_static/_sphinx_javascript_frameworks_compat.js create mode 100644 docs/_static/jquery-3.6.0.js create mode 100644 docs/_static/sphinx_highlight.js diff --git a/docs/_static/_sphinx_javascript_frameworks_compat.js b/docs/_static/_sphinx_javascript_frameworks_compat.js new file mode 100644 index 000000000..8549469dc --- /dev/null +++ b/docs/_static/_sphinx_javascript_frameworks_compat.js @@ -0,0 +1,134 @@ +/* + * _sphinx_javascript_frameworks_compat.js + * ~~~~~~~~~~ + * + * Compatability shim for jQuery and underscores.js. + * + * WILL BE REMOVED IN Sphinx 6.0 + * xref RemovedInSphinx60Warning + * + */ + +/** + * select a different prefix for underscore + */ +$u = _.noConflict(); + + +/** + * small helper function to urldecode strings + * + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL + */ +jQuery.urldecode = function(x) { + if (!x) { + return x + } + return decodeURIComponent(x.replace(/\+/g, ' ')); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function(s) { + if (typeof s === 'undefined') + s = document.location.search; + var parts = s.substr(s.indexOf('?') + 1).split('&'); + var result = {}; + for (var i = 0; i < parts.length; i++) { + var tmp = parts[i].split('=', 2); + var key = jQuery.urldecode(tmp[0]); + var value = jQuery.urldecode(tmp[1]); + if (key in result) + result[key].push(value); + else + result[key] = [value]; + } + return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { + function highlight(node, addItems) { + if (node.nodeType === 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && + !jQuery(node.parentNode).hasClass(className) && + !jQuery(node.parentNode).hasClass("nohighlight")) { + var span; + var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.className = className; + } + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + if (isInSVG) { + var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + var bbox = node.parentElement.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute('class', className); + addItems.push({ + "parent": node.parentNode, + "target": rect}); + } + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this, addItems); + }); + } + } + var addItems = []; + var result = this.each(function() { + highlight(this, addItems); + }); + for (var i = 0; i < addItems.length; ++i) { + jQuery(addItems[i].parent).before(addItems[i].target); + } + return result; +}; + +/* + * backward compatibility for jQuery.browser + * This will be supported until firefox bug is fixed. + */ +if (!jQuery.browser) { + jQuery.uaMatch = function(ua) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || + /(webkit)[ \/]([\w.]+)/.exec(ua) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || + /(msie) ([\w.]+)/.exec(ua) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; + }; + jQuery.browser = {}; + jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; +} diff --git a/docs/_static/basic.css b/docs/_static/basic.css index 24bc73e7f..4e9a9f1fa 100644 --- a/docs/_static/basic.css +++ b/docs/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -130,7 +130,7 @@ ul.search li a { font-weight: bold; } -ul.search li div.context { +ul.search li p.context { color: #888; margin: 2px 0 0 30px; text-align: left; @@ -222,7 +222,7 @@ table.modindextable td { /* -- general body styles --------------------------------------------------- */ div.body { - min-width: 450px; + min-width: 360px; max-width: 800px; } @@ -237,16 +237,6 @@ a.headerlink { visibility: hidden; } -a.brackets:before, -span.brackets > a:before{ - content: "["; -} - -a.brackets:after, -span.brackets > a:after { - content: "]"; -} - h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, @@ -277,25 +267,25 @@ p.rubric { font-weight: bold; } -img.align-left, .figure.align-left, object.align-left { +img.align-left, figure.align-left, .figure.align-left, object.align-left { clear: left; float: left; margin-right: 1em; } -img.align-right, .figure.align-right, object.align-right { +img.align-right, figure.align-right, .figure.align-right, object.align-right { clear: right; float: right; margin-left: 1em; } -img.align-center, .figure.align-center, object.align-center { +img.align-center, figure.align-center, .figure.align-center, object.align-center { display: block; margin-left: auto; margin-right: auto; } -img.align-default, .figure.align-default { +img.align-default, figure.align-default, .figure.align-default { display: block; margin-left: auto; margin-right: auto; @@ -319,7 +309,8 @@ img.align-default, .figure.align-default { /* -- sidebars -------------------------------------------------------------- */ -div.sidebar { +div.sidebar, +aside.sidebar { margin: 0 0 0.5em 1em; border: 1px solid #ddb; padding: 7px; @@ -333,13 +324,15 @@ div.sidebar { p.sidebar-title { font-weight: bold; } - +nav.contents, +aside.topic, div.admonition, div.topic, blockquote { clear: left; } /* -- topics ---------------------------------------------------------------- */ - +nav.contents, +aside.topic, div.topic { border: 1px solid #ccc; padding: 7px; @@ -377,12 +370,18 @@ div.body p.centered { /* -- content of sidebars/topics/admonitions -------------------------------- */ div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, div.topic > :last-child, div.admonition > :last-child { margin-bottom: 0; } div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, div.topic::after, div.admonition::after, blockquote::after { @@ -425,10 +424,6 @@ table.docutils td, table.docutils th { border-bottom: 1px solid #aaa; } -table.footnote td, table.footnote th { - border: 0 !important; -} - th { text-align: left; padding-right: 5px; @@ -455,20 +450,22 @@ td > :last-child { /* -- figures --------------------------------------------------------------- */ -div.figure { +div.figure, figure { margin: 0.5em; padding: 0.5em; } -div.figure p.caption { +div.figure p.caption, figcaption { padding: 0.3em; } -div.figure p.caption span.caption-number { +div.figure p.caption span.caption-number, +figcaption span.caption-number { font-style: italic; } -div.figure p.caption span.caption-text { +div.figure p.caption span.caption-text, +figcaption span.caption-text { } /* -- field list styles ----------------------------------------------------- */ @@ -503,6 +500,63 @@ table.hlist td { vertical-align: top; } +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + /* -- other body styles ----------------------------------------------------- */ @@ -552,20 +606,26 @@ ol.simple p, ul.simple p { margin-bottom: 0; } - -dl.footnote > dt, -dl.citation > dt { +aside.footnote > span, +div.citation > span { float: left; - margin-right: 0.5em; } - -dl.footnote > dd, -dl.citation > dd { +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { margin-bottom: 0em; } - -dl.footnote > dd:after, -dl.citation > dd:after { +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { content: ""; clear: both; } @@ -582,10 +642,6 @@ dl.field-list > dt { padding-right: 5px; } -dl.field-list > dt:after { - content: ":"; -} - dl.field-list > dd { padding-left: 0.5em; margin-top: 0em; @@ -629,14 +685,6 @@ dl.glossary dt { font-size: 1.1em; } -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - .versionmodified { font-style: italic; } @@ -677,8 +725,9 @@ dl.glossary dt { .classifier:before { font-style: normal; - margin: 0.5em; + margin: 0 0.5em; content: ":"; + display: inline-block; } abbr, acronym { @@ -702,6 +751,7 @@ span.pre { -ms-hyphens: none; -webkit-hyphens: none; hyphens: none; + white-space: nowrap; } div[class*="highlight-"] { @@ -764,8 +814,13 @@ div.code-block-caption code { } table.highlighttable td.linenos, -div.doctest > div.highlight span.gp { /* gp: Generic.Prompt */ - user-select: none; +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ } div.code-block-caption span.caption-number { @@ -780,16 +835,6 @@ div.literal-block-wrapper { margin: 1em 0; } -code.descname { - background-color: transparent; - font-weight: bold; - font-size: 1.2em; -} - -code.descclassname { - background-color: transparent; -} - code.xref, a code { background-color: transparent; font-weight: bold; diff --git a/docs/_static/doctools.js b/docs/_static/doctools.js index daccd209d..527b876ca 100644 --- a/docs/_static/doctools.js +++ b/docs/_static/doctools.js @@ -2,314 +2,155 @@ * doctools.js * ~~~~~~~~~~~ * - * Sphinx JavaScript utilities for all documentation. + * Base JavaScript utilities for all Sphinx HTML documentation. * - * :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ - -/** - * select a different prefix for underscore - */ -$u = _.noConflict(); - -/** - * make the code below compatible with browsers without - * an installed firebug like debugger -if (!window.console || !console.firebug) { - var names = ["log", "debug", "info", "warn", "error", "assert", "dir", - "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", - "profile", "profileEnd"]; - window.console = {}; - for (var i = 0; i < names.length; ++i) - window.console[names[i]] = function() {}; -} - */ - -/** - * small helper function to urldecode strings - */ -jQuery.urldecode = function(x) { - return decodeURIComponent(x).replace(/\+/g, ' '); -}; - -/** - * small helper function to urlencode strings - */ -jQuery.urlencode = encodeURIComponent; - -/** - * This function returns the parsed url parameters of the - * current request. Multiple values per key are supported, - * it will always return arrays of strings for the value parts. - */ -jQuery.getQueryParameters = function(s) { - if (typeof s === 'undefined') - s = document.location.search; - var parts = s.substr(s.indexOf('?') + 1).split('&'); - var result = {}; - for (var i = 0; i < parts.length; i++) { - var tmp = parts[i].split('=', 2); - var key = jQuery.urldecode(tmp[0]); - var value = jQuery.urldecode(tmp[1]); - if (key in result) - result[key].push(value); - else - result[key] = [value]; +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); } - return result; }; -/** - * highlight a given string on a jquery object by wrapping it in - * span elements with the given class name. - */ -jQuery.fn.highlightText = function(text, className) { - function highlight(node, addItems) { - if (node.nodeType === 3) { - var val = node.nodeValue; - var pos = val.toLowerCase().indexOf(text); - if (pos >= 0 && - !jQuery(node.parentNode).hasClass(className) && - !jQuery(node.parentNode).hasClass("nohighlight")) { - var span; - var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.className = className; - } - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - node.parentNode.insertBefore(span, node.parentNode.insertBefore( - document.createTextNode(val.substr(pos + text.length)), - node.nextSibling)); - node.nodeValue = val.substr(0, pos); - if (isInSVG) { - var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); - var bbox = node.parentElement.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute('class', className); - addItems.push({ - "parent": node.parentNode, - "target": rect}); - } - } - } - else if (!jQuery(node).is("button, select, textarea")) { - jQuery.each(node.childNodes, function() { - highlight(this, addItems); - }); - } - } - var addItems = []; - var result = this.each(function() { - highlight(this, addItems); - }); - for (var i = 0; i < addItems.length; ++i) { - jQuery(addItems[i].parent).before(addItems[i].target); - } - return result; -}; - -/* - * backward compatibility for jQuery.browser - * This will be supported until firefox bug is fixed. - */ -if (!jQuery.browser) { - jQuery.uaMatch = function(ua) { - ua = ua.toLowerCase(); - - var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || - /(webkit)[ \/]([\w.]+)/.exec(ua) || - /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || - /(msie) ([\w.]+)/.exec(ua) || - ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || - []; - - return { - browser: match[ 1 ] || "", - version: match[ 2 ] || "0" - }; - }; - jQuery.browser = {}; - jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; -} - /** * Small JavaScript module for the documentation. */ -var Documentation = { - - init : function() { - this.fixFirefoxAnchorBug(); - this.highlightSearchWords(); - this.initIndexTable(); - if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) { - this.initOnKeyListeners(); - } +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); }, /** * i18n support */ - TRANSLATIONS : {}, - PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; }, - LOCALE : 'unknown', + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", // gettext and ngettext don't access this so that the functions // can safely bound to a different name (_ = Documentation.gettext) - gettext : function(string) { - var translated = Documentation.TRANSLATIONS[string]; - if (typeof translated === 'undefined') - return string; - return (typeof translated === 'string') ? translated : translated[0]; - }, - - ngettext : function(singular, plural, n) { - var translated = Documentation.TRANSLATIONS[singular]; - if (typeof translated === 'undefined') - return (n == 1) ? singular : plural; - return translated[Documentation.PLURALEXPR(n)]; + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } }, - addTranslations : function(catalog) { - for (var key in catalog.messages) - this.TRANSLATIONS[key] = catalog.messages[key]; - this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); - this.LOCALE = catalog.locale; + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; }, - /** - * add context elements like header anchor links - */ - addContextElements : function() { - $('div[id] > :header:first').each(function() { - $('\u00B6'). - attr('href', '#' + this.id). - attr('title', _('Permalink to this headline')). - appendTo(this); - }); - $('dt[id]').each(function() { - $('\u00B6'). - attr('href', '#' + this.id). - attr('title', _('Permalink to this definition')). - appendTo(this); - }); + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; }, /** - * workaround a firefox stupidity - * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 + * helper function to focus on search bar */ - fixFirefoxAnchorBug : function() { - if (document.location.hash && $.browser.mozilla) - window.setTimeout(function() { - document.location.href += ''; - }, 10); + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); }, /** - * highlight the search words provided in the url in the text + * Initialise the domain index toggle buttons */ - highlightSearchWords : function() { - var params = $.getQueryParameters(); - var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; - if (terms.length) { - var body = $('div.body'); - if (!body.length) { - body = $('body'); + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); } - window.setTimeout(function() { - $.each(terms, function() { - body.highlightText(this.toLowerCase(), 'highlighted'); - }); - }, 10); - $('') - .appendTo($('#searchbox')); - } - }, - - /** - * init the domain index toggle buttons - */ - initIndexTable : function() { - var togglers = $('img.toggler').click(function() { - var src = $(this).attr('src'); - var idnum = $(this).attr('id').substr(7); - $('tr.cg-' + idnum).toggle(); - if (src.substr(-9) === 'minus.png') - $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); - else - $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); - }).css('display', ''); - if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { - togglers.click(); - } - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords : function() { - $('#searchbox .highlight-link').fadeOut(300); - $('span.highlighted').removeClass('highlighted'); - }, - - /** - * make the url absolute - */ - makeURL : function(relativeURL) { - return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; - }, + }; - /** - * get the current relative url - */ - getCurrentURL : function() { - var path = document.location.pathname; - var parts = path.split(/\//); - $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { - if (this === '..') - parts.pop(); - }); - var url = parts.join('/'); - return path.substring(url.lastIndexOf('/') + 1, path.length - 1); + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); }, - initOnKeyListeners: function() { - $(document).keydown(function(event) { - var activeElementType = document.activeElement.tagName; - // don't navigate when in search box or textarea - if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT' - && !event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey) { - switch (event.keyCode) { - case 37: // left - var prevHref = $('link[rel="prev"]').prop('href'); - if (prevHref) { - window.location.href = prevHref; - return false; + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); } - case 39: // right - var nextHref = $('link[rel="next"]').prop('href'); - if (nextHref) { - window.location.href = nextHref; - return false; + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); } + break; } } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } }); - } + }, }; // quick alias for translations -_ = Documentation.gettext; +const _ = Documentation.gettext; -$(document).ready(function() { - Documentation.init(); -}); +_ready(Documentation.init); diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js index ad801d555..7a8d06ac8 100644 --- a/docs/_static/documentation_options.js +++ b/docs/_static/documentation_options.js @@ -1,12 +1,14 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '0.7.8', - LANGUAGE: 'None', + VERSION: '0.8.1.dev2', + LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', FILE_SUFFIX: '.html', LINK_SUFFIX: '.html', HAS_SOURCE: true, SOURCELINK_SUFFIX: '.txt', - NAVIGATION_WITH_KEYS: false + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, }; \ No newline at end of file diff --git a/docs/_static/jquery-3.6.0.js b/docs/_static/jquery-3.6.0.js new file mode 100644 index 000000000..fc6c299b7 --- /dev/null +++ b/docs/_static/jquery-3.6.0.js @@ -0,0 +1,10881 @@ +/*! + * jQuery JavaScript Library v3.6.0 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2021-03-02T17:08Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 + // Plus for old WebKit, typeof returns "function" for HTML collections + // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) + return typeof obj === "function" && typeof obj.nodeType !== "number" && + typeof obj.item !== "function"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + +var document = window.document; + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.6.0", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return flat( ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), + function( _i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); + } ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.6 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2021-02-16 + */ +( function( window ) { +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ( {} ).hasOwnProperty, + arr = [], + pop = arr.pop, + pushNative = arr.push, + push = arr.push, + slice = arr.slice, + + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[ i ] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + + "ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + + // "Attribute values must be CSS identifiers [capture 5] + // or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + return nonHex ? + + // Strip the backslash prefix from a non-hex escape sequence + nonHex : + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + ( arr = slice.call( preferredDoc.childNodes ) ), + preferredDoc.childNodes + ); + + // Support: Android<4.0 + // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + pushNative.apply( target, slice.call( els ) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + + // Can't trust NodeList.length + while ( ( target[ j++ ] = els[ i++ ] ) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + setDocument( context ); + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { + + // ID selector + if ( ( m = match[ 1 ] ) ) { + + // Document context + if ( nodeType === 9 ) { + if ( ( elem = context.getElementById( m ) ) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && ( elem = newContext.getElementById( m ) ) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[ 2 ] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && + + // Support: IE 8 only + // Exclude object elements + ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && + ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + if ( newContext !== context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); + } + newSelector = groups.join( "," ); + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return ( cache[ key + " " ] = value ); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement( "fieldset" ); + + try { + return !!fn( el ); + } catch ( e ) { + return false; + } finally { + + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split( "|" ), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[ i ] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( ( cur = cur.nextSibling ) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return ( name === "input" || name === "button" ) && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction( function( argument ) { + argument = +argument; + return markFunction( function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ ( j = matchIndexes[ i ] ) ] ) { + seed[ j ] = !( matches[ j ] = seed[ j ] ); + } + } + } ); + } ); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem && elem.namespaceURI, + docElem = elem && ( elem.ownerDocument || elem ).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9 - 11+, Edge 12 - 18+ + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, + // Safari 4 - 5 only, Opera <=11.6 - 12.x only + // IE/Edge & older browsers don't support the :scope pseudo-class. + // Support: Safari 6.0 only + // Safari 6.0 supports :scope but it's an alias of :root there. + support.scope = assert( function( el ) { + docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); + return typeof el.querySelectorAll !== "undefined" && + !el.querySelectorAll( ":scope fieldset div" ).length; + } ); + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert( function( el ) { + el.className = "i"; + return !el.getAttribute( "className" ); + } ); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert( function( el ) { + el.appendChild( document.createComment( "" ) ); + return !el.getElementsByTagName( "*" ).length; + } ); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert( function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + } ); + + // ID filter and find + if ( support.getById ) { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute( "id" ) === attrId; + }; + }; + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode( "id" ); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( ( elem = elems[ i++ ] ) ) { + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find[ "TAG" ] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert( function( el ) { + + var input; + + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll( "[selected]" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push( "~=" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push( ".#.+[+~]" ); + } + + // Support: Firefox <=3.6 - 5 only + // Old Firefox doesn't throw on a badly-escaped identifier. + el.querySelectorAll( "\\\f" ); + rbuggyQSA.push( "[\\r\\n\\f]" ); + } ); + + assert( function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement( "input" ); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll( "[name=d]" ).length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: Opera 10 - 11 only + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll( "*,:x" ); + rbuggyQSA.push( ",.*:" ); + } ); + } + + if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector ) ) ) ) { + + assert( function( el ) { + + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + } ); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + ) ); + } : + function( a, b ) { + if ( b ) { + while ( ( b = b.parentNode ) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { + + // Choose the first element that is related to our preferred document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( a == document || a.ownerDocument == preferredDoc && + contains( preferredDoc, a ) ) { + return -1; + } + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( b == document || b.ownerDocument == preferredDoc && + contains( preferredDoc, b ) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + return a == document ? -1 : + b == document ? 1 : + /* eslint-enable eqeqeq */ + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( ( cur = cur.parentNode ) ) { + ap.unshift( cur ); + } + cur = b; + while ( ( cur = cur.parentNode ) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[ i ] === bp[ i ] ) { + i++; + } + + return i ? + + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[ i ], bp[ i ] ) : + + // Otherwise nodes in our document sort first + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + ap[ i ] == preferredDoc ? -1 : + bp[ i ] == preferredDoc ? 1 : + /* eslint-enable eqeqeq */ + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + setDocument( elem ); + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch ( e ) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( context.ownerDocument || context ) != document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( elem.ownerDocument || elem ) != document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return ( sel + "" ).replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + + // If no nodeType, this is expected to be an array + while ( ( node = elem[ i++ ] ) ) { + + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[ 1 ] = match[ 1 ].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || + match[ 5 ] || "" ).replace( runescape, funescape ); + + if ( match[ 2 ] === "~=" ) { + match[ 3 ] = " " + match[ 3 ] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[ 1 ] = match[ 1 ].toLowerCase(); + + if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { + + // nth-* requires argument + if ( !match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[ 4 ] = +( match[ 4 ] ? + match[ 5 ] + ( match[ 6 ] || 1 ) : + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); + match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); + + // other types prohibit arguments + } else if ( match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[ 6 ] && match[ 2 ]; + + if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[ 3 ] ) { + match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + + // Get excess from tokenize (recursively) + ( excess = tokenize( unquoted, true ) ) && + + // advance to the next closing parenthesis + ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { + + // excess is a negative index + match[ 0 ] = match[ 0 ].slice( 0, excess ); + match[ 2 ] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { + return true; + } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + ( pattern = new RegExp( "(^|" + whitespace + + ")" + className + "(" + whitespace + "|$)" ) ) && classCache( + className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); + } ); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + /* eslint-disable max-len */ + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + /* eslint-enable max-len */ + + }; + }, + + "CHILD": function( type, what, _argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, _context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( ( node = node[ dir ] ) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( ( node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + + // Use previously-cached element index if available + if ( useCache ) { + + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + + // Use the same loop as above to seek `elem` from the start + while ( ( node = ++nodeIndex && node && node[ dir ] || + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || + ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction( function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); + } + } ) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + + // Potentially complex pseudos + "not": markFunction( function( selector ) { + + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction( function( seed, matches, _context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( ( elem = unmatched[ i ] ) ) { + seed[ i ] = !( matches[ i ] = elem ); + } + } + } ) : + function( elem, _context, xml ) { + input[ 0 ] = elem; + matcher( input, null, xml, results ); + + // Don't keep the element (issue #299) + input[ 0 ] = null; + return !results.pop(); + }; + } ), + + "has": markFunction( function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + } ), + + "contains": markFunction( function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + } ), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + + // lang value must be a valid identifier + if ( !ridentifier.test( lang || "" ) ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( ( elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); + return false; + }; + } ), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && + ( !document.hasFocus || document.hasFocus() ) && + !!( elem.type || elem.href || ~elem.tabIndex ); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return ( nodeName === "input" && !!elem.checked ) || + ( nodeName === "option" && !!elem.selected ); + }, + + "selected": function( elem ) { + + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos[ "empty" ]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( ( attr = elem.getAttribute( "type" ) ) == null || + attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo( function() { + return [ 0 ]; + } ), + + "last": createPositionalPseudo( function( _matchIndexes, length ) { + return [ length - 1 ]; + } ), + + "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + } ), + + "even": createPositionalPseudo( function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "odd": createPositionalPseudo( function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ) + } +}; + +Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || ( match = rcomma.exec( soFar ) ) ) { + if ( match ) { + + // Don't consume trailing commas as valid + soFar = soFar.slice( match[ 0 ].length ) || soFar; + } + groups.push( ( tokens = [] ) ); + } + + matched = false; + + // Combinators + if ( ( match = rcombinators.exec( soFar ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + + // Cast descendant combinators to space + type: match[ 0 ].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || + ( match = preFilters[ type ]( match ) ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[ i ].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || + ( outerCache[ elem.uniqueID ] = {} ); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( ( oldCache = uniqueCache[ key ] ) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return ( newCache[ 2 ] = oldCache[ 2 ] ); + } else { + + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[ i ]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[ 0 ]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[ i ], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( ( elem = unmatched[ i ] ) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction( function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( + selector || "*", + context.nodeType ? [ context ] : context, + [] + ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( ( elem = temp[ i ] ) ) { + matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) ) { + + // Restore matcherIn since elem is not yet a final match + temp.push( ( matcherIn[ i ] = elem ) ); + } + } + postFinder( null, ( matcherOut = [] ), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) && + ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { + + seed[ temp ] = !( results[ temp ] = elem ); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + } ); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[ 0 ].type ], + implicitRelative = leadingRelative || Expr.relative[ " " ], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + ( checkContext = context ).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[ j ].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens + .slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), + + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), + len = elems.length; + + if ( outermost ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( !context && elem.ownerDocument != document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( ( matcher = elementMatchers[ j++ ] ) ) { + if ( matcher( elem, context || document, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + + // They will have gone through all possible matchers + if ( ( elem = !matcher && elem ) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( ( matcher = setMatchers[ j++ ] ) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !( unmatched[ i ] || setMatched[ i ] ) ) { + setMatched[ i ] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[ i ] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( + selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) + ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( ( selector = compiled.selector || selector ) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[ 0 ] = match[ 0 ].slice( 0 ); + if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { + + context = ( Expr.find[ "ID" ]( token.matches[ 0 ] + .replace( runescape, funescape ), context ) || [] )[ 0 ]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[ i ]; + + // Abort if we hit a combinator + if ( Expr.relative[ ( type = token.type ) ] ) { + break; + } + if ( ( find = Expr.find[ type ] ) ) { + + // Search, expanding context for leading sibling combinators + if ( ( seed = find( + token.matches[ 0 ].replace( runescape, funescape ), + rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || + context + ) ) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert( function( el ) { + + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; +} ); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert( function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute( "href" ) === "#"; +} ) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + } ); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert( function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +} ) ) { + addHandle( "value", function( elem, _name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + } ); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert( function( el ) { + return el.getAttribute( "disabled" ) == null; +} ) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; + } + } ); +} + +return Sizzle; + +} )( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +} +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, _i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, _i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, _i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( elem.contentDocument != null && + + // Support: IE 11+ + // elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto( elem.contentDocument ) ) { + + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( _i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the primary Deferred + primary = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + primary.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( primary.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return primary.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); + } + + return primary.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, _key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( _all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // Support: IE <=9 only + // IE <=9 replaces "; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] +}; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "" ]; +} + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Only attach events to objects that accept data + if ( !acceptData( elem ) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = Object.create( null ); + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( nativeEvent ), + + handlers = ( + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + + // Support: Chrome 86+ + // In Chrome, if an element having a focusout handler is blurred by + // clicking outside of it, it invokes the handler synchronously. If + // that handler calls `.remove()` on the element, the data is cleared, + // leaving `result` undefined. We need to guard against this. + return result && result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + which: true +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + // Suppress native focus or blur as it's already being fired + // in leverageNative. + _default: function() { + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.get( src ); + events = pdataOld.events; + + if ( events ) { + dataPriv.remove( dest, "handle events" ); + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = flat( args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + }, doc ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html; + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var swap = function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableTrDimensionsVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + }, + + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + // + // Support: Firefox 70+ + // Only Firefox includes border widths + // in computed dimensions. (gh-4529) + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if ( reliableTrDimensionsVal == null ) { + table = document.createElement( "table" ); + tr = document.createElement( "tr" ); + trChild = document.createElement( "div" ); + + table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; + tr.style.cssText = "border:1px solid"; + + // Support: Chrome 86+ + // Height set through cssText does not get applied. + // Computed height then comes back as 0. + tr.style.height = "1px"; + trChild.style.height = "9px"; + + // Support: Android 8 Chrome 86+ + // In our bodyBackground.html iframe, + // display for all div elements is set to "inline", + // which causes a problem only in Android 8 Chrome 86. + // Ensuring the div is display: block + // gets around this issue. + trChild.style.display = "block"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + + parseInt( trStyle.borderTopWidth, 10 ) + + parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( _elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. + if ( ( !support.boxSizingReliable() && isBorderBox || + + // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName( elem, "tr" ) || + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + val === "auto" || + + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + + // Make sure the element is visible & connected + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( _i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = { guid: Date.now() }; + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml, parserErrorElem; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) {} + + parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; + if ( !xml || parserErrorElem ) { + jQuery.error( "Invalid XML: " + ( + parserErrorElem ? + jQuery.map( parserErrorElem.childNodes, function( el ) { + return el.textContent; + } ).join( "\n" ) : + data + ) ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ).filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ).map( function( _i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + +originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Use a noop converter for missing script but not if jsonp + if ( !isSuccess && + jQuery.inArray( "script", s.dataTypes ) > -1 && + jQuery.inArray( "json", s.dataTypes ) < 0 ) { + s.converters[ "text script" ] = function() {}; + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( _i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + +jQuery.ajaxPrefilter( function( s ) { + var i; + for ( i in s.headers ) { + if ( i.toLowerCase() === "content-type" ) { + s.contentType = s.headers[ i ] || ""; + } + } +} ); + + +jQuery._evalUrl = function( url, options, doc ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options, doc ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " + + + MatMiner Changelog — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

Navigation

  • modules |
  • - + @@ -38,8 +40,8 @@

    Navigation

    -
    -

    matminer Changelog

    +
    +

    matminer Changelog

    Caution

    Starting v0.6.6 onwards, the changelog is no longer maintained. Please check the Github commit log for a record of changes.

    @@ -461,7 +463,7 @@

    matminer Changelog

    @@ -481,12 +483,12 @@

    This Page

    Quick search

    - +
    @@ -500,14 +502,14 @@

    Navigation

  • modules |
  • - + diff --git a/docs/contributors.html b/docs/contributors.html index 9903550a1..152cebd52 100644 --- a/docs/contributors.html +++ b/docs/contributors.html @@ -1,18 +1,20 @@ - + - - MatMiner Contributors — matminer 0.7.8 documentation - - - + + + MatMiner Contributors — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

    Navigation

  • modules |
  • - + @@ -38,15 +40,15 @@

    Navigation

    -
    -

    matminer Contributors

    +
    +

    matminer Contributors

    Caution

    Starting v0.6.6 onwards, the contributors list is no longer maintained. the contributors list is no longer maintained. Please check the Github contributors list instead.

    Matminer is led by Anubhav Jain and the HackingMaterials research group at Lawrence Berkeley National Lab.

    -
    -

    LBNL - Hacking Materials

    +
    +

    LBNL - Hacking Materials

    -
    -
    +
    +

    University of Chicago

    • Logan Ward

    • Jiming Chen

    • Ashwin Aggarwal

    • Aik Rui

    -
    - -
    -

    Other

    + +
    +

    Other

    -
    -
    + +
    @@ -110,8 +112,9 @@

    Other

    @@ -151,14 +155,14 @@

    Navigation

  • modules |
  • - + diff --git a/docs/dataset_addition_guide.html b/docs/dataset_addition_guide.html index 7d89761f7..fb920b624 100644 --- a/docs/dataset_addition_guide.html +++ b/docs/dataset_addition_guide.html @@ -1,18 +1,20 @@ - + - - Guide to adding datasets to matminer — matminer 0.7.8 documentation - - - + + + Guide to adding datasets to matminer — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

    Navigation

  • modules |
  • - + @@ -38,8 +40,8 @@

    Navigation

    -
    -

    Guide to adding datasets to matminer

    +
    +

    Guide to adding datasets to matminer

    All information current as of 10/24/2018

    In addition to providing tools for retrieving current data from several standard materials science databases, matminer also provides a suite of static datasets @@ -56,17 +58,17 @@

    Guide to adding datasets to matminer -

    1. Fork the matminer repository on GitHub

    +
    +

    1. Fork the matminer repository on GitHub

    • The matminer code base, including the metadata that defines how matminer handles datasets, is available on GitHub.

    • All editing should take place either within the dev_scripts/dataset_management folder or within matminer/datasets

    -

    -
    -

    2. Prepare the dataset for long term hosting

    + +
    +

    2. Prepare the dataset for long term hosting

    To work properly with matminer’s loading functions it is assumed that all datasets are pandas DataFrame objects stored as JSON files using the MontyEncoder encoding scheme available in the monty Python package. Any @@ -85,8 +87,8 @@

    2. Prepare the dataset for long term hosting -

    To update the script to preprocess your dataset:

    +
    +

    To update the script to preprocess your dataset:

    • Write a preprocessor for the dataset in prep_dataset_for_figshare.py

      The preprocessor should take the dataset path, do any necessary @@ -139,10 +141,10 @@

      To update the script to preprocess your dataset: -

      3. Upload the dataset to long term hosting

      +

    +

    +
    +

    3. Upload the dataset to long term hosting

    Once the dataset file is ready, it should be hosted on Figshare or a comparable open access academic data hosting service. The Hacking Materials group maintains a collective Figshare account and follows the following procedure @@ -152,9 +154,9 @@

    3. Upload the dataset to long term hosting -

    4. Update the matminer dataset metadata file

    +

    +
    +

    4. Update the matminer dataset metadata file

    Matminer stores a file called dataset_metadata.json which contains information on all datasets available in the package. This file is automatically checked by CircleCI for proper formatting and the @@ -173,9 +175,9 @@

    4. Update the matminer dataset metadata filedataset_metadata.json file and fix mistakes if necessary.

    -

    -
    -

    5. Update the dataset tests and loading code

    + +
    +

    5. Update the dataset tests and loading code

    Dataset testing uses unit tests to ensure dataset metadata and dataset content is formatted properly and available. When adding new datasets these tests need updated. In addition matminer provides a set of convenience functions that @@ -268,15 +270,15 @@

    5. Update the dataset tests and loading code -

    6. Make a Pull Request to the matminer GitHub repository

    +

    +
    +

    6. Make a Pull Request to the matminer GitHub repository

    • Make a commit describing the added dataset

    • Make a pull request from your fork to the primary repository

    -
    -
    + +
    @@ -285,8 +287,9 @@

    6. Make a Pull Request to the matminer GitHub repository
    -

    Table of Contents

    -

    @@ -331,14 +335,14 @@

    Navigation

  • modules |
  • - + diff --git a/docs/dataset_summary.html b/docs/dataset_summary.html index ef4e26b29..5cd7d1d9c 100644 --- a/docs/dataset_summary.html +++ b/docs/dataset_summary.html @@ -1,18 +1,20 @@ - + - - Table of Datasets — matminer 0.7.8 documentation - - - + + + Table of Datasets — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

    Navigation

  • modules |
  • - + @@ -38,14 +40,14 @@

    Navigation

    -
    -

    Table of Datasets

    +
    +

    Table of Datasets

    Find a table of all 45 datasets available in matminer here.

    - +
    ---+++ @@ -236,17 +238,17 @@

    Table of Datasets -

    Dataset info

    -
    -

    boltztrap_mp

    + +
    +

    Dataset info

    +
    +

    boltztrap_mp

    Effective mass and thermoelectric properties of 8924 compounds in The Materials Project database that are calculated by the BoltzTraP software package run on the GGA-PBE or GGA+U density functional theory calculation results. The properties are reported at the temperature of 300 Kelvin and the carrier concentration of 1e18 1/cm3.

    Number of entries: 8924

    -

    Name

    +
    --++ @@ -292,15 +294,15 @@

    boltztrap_mp -

    brgoch_superhard_training

    + +
    +

    brgoch_superhard_training

    2574 materials used for training regressors that predict shear and bulk modulus.

    Number of entries: 2574

    -

    Column

    +
    --++ @@ -343,15 +345,15 @@

    brgoch_superhard_training
    @article{doi:10.1021/jacs.8b02717, author = {Mansouri Tehrani, Aria and Oliynyk, Anton O. and Parry, Marcus and Rizvi, Zeshan and Couper, Samantha and Lin, Feng and Miyagi, Lowell and Sparks, Taylor D. and Brgoch, Jakoah}, title = {Machine Learning Directed Search for Ultraincompressible, Superhard Materials}, journal = {Journal of the American Chemical Society}, volume = {140}, number = {31}, pages = {9844-9853}, year = {2018}, doi = {10.1021/jacs.8b02717}, note ={PMID: 30010335}, URL = { https://doi.org/10.1021/jacs.8b02717 }, eprint = { https://doi.org/10.1021/jacs.8b02717 } }
     
    - -
    -

    castelli_perovskites

    + +
    +

    castelli_perovskites

    18,928 perovskites generated with ABX combinatorics, calculating gllbsc band gap and pbe structure, and also reporting absolute band edge positions and heat of formation.

    Number of entries: 18928

    -

    Column

    +
    --++ @@ -397,15 +399,15 @@

    castelli_perovskites
    @Article{C2EE22341D, author ="Castelli, Ivano E. and Landis, David D. and Thygesen, Kristian S. and Dahl, Søren and Chorkendorff, Ib and Jaramillo, Thomas F. and Jacobsen, Karsten W.", title  ="New cubic perovskites for one- and two-photon water splitting using the computational materials repository", journal  ="Energy Environ. Sci.", year  ="2012", volume  ="5", issue  ="10", pages  ="9034-9043", publisher  ="The Royal Society of Chemistry", doi  ="10.1039/C2EE22341D", url  ="http://dx.doi.org/10.1039/C2EE22341D", abstract  ="A new efficient photoelectrochemical cell (PEC) is one of the possible solutions to the energy and climate problems of our time. Such a device requires development of new semiconducting materials with tailored properties with respect to stability and light absorption. Here we perform computational screening of around 19 000 oxides{,} oxynitrides{,} oxysulfides{,} oxyfluorides{,} and oxyfluoronitrides in the cubic perovskite structure with PEC applications in mind. We address three main applications: light absorbers for one- and two-photon water splitting and high-stability transparent shields to protect against corrosion. We end up with 20{,} 12{,} and 15 different combinations of oxides{,} oxynitrides and oxyfluorides{,} respectively{,} inviting further experimental investigation."}
     
    - -
    -

    citrine_thermal_conductivity

    + +
    +

    citrine_thermal_conductivity

    Thermal conductivity of 872 compounds measured experimentally and retrieved from Citrine database from various references. The reported values are measured at various temperatures of which 295 are at room temperature.

    Number of entries: 872

    -

    Column

    +
    --++ @@ -436,15 +438,15 @@

    citrine_thermal_conductivity
    @misc{Citrine Informatics, title = {Citrination}, howpublished = {\url{https://www.citrination.com/}}, }
     
    - -
    -

    dielectric_constant

    + +
    +

    dielectric_constant

    1,056 structures with dielectric properties, calculated with DFPT-PBE.

    Number of entries: 1056

    -

    Column

    +
    --++ @@ -511,15 +513,15 @@

    dielectric_constant
    @Article{Petousis2017, author={Petousis, Ioannis and Mrdjenovich, David and Ballouz, Eric and Liu, Miao and Winston, Donald and Chen, Wei and Graf, Tanja and Schladt, Thomas D. and Persson, Kristin A. and Prinz, Fritz B.}, title={High-throughput screening of inorganic compounds for the discovery of novel dielectric and optical materials}, journal={Scientific Data}, year={2017}, month={Jan}, day={31}, publisher={The Author(s)}, volume={4}, pages={160134}, note={Data Descriptor}, url={http://dx.doi.org/10.1038/sdata.2016.134} }
     
    - -
    -

    double_perovskites_gap

    + +
    +

    double_perovskites_gap

    Band gap of 1306 double perovskites (a_1-b_1-a_2-b_2-O6) calculated using Gritsenko, van Leeuwen, van Lenthe and Baerends potential (gllbsc) in GPAW.

    Number of entries: 1306

    -

    Column

    +
    --++ @@ -558,15 +560,15 @@

    double_perovskites_gap - -
    -

    double_perovskites_gap_lumo

    + +
    +

    double_perovskites_gap_lumo

    Supplementary lumo data of 55 atoms for the double_perovskites_gap dataset.

    Number of entries: 55

    -

    Column

    +
    --++ @@ -593,15 +595,15 @@

    double_perovskites_gap_lumo -

    elastic_tensor_2015

    + +
    +

    elastic_tensor_2015

    1,181 structures with elastic properties calculated with DFT-PBE.

    Number of entries: 1181

    -

    Column

    +
    --++ @@ -681,15 +683,15 @@

    elastic_tensor_2015
    @Article{deJong2015, author={de Jong, Maarten and Chen, Wei and Angsten, Thomas and Jain, Anubhav and Notestine, Randy and Gamst, Anthony and Sluiter, Marcel and Krishna Ande, Chaitanya and van der Zwaag, Sybrand and Plata, Jose J. and Toher, Cormac and Curtarolo, Stefano and Ceder, Gerbrand and Persson, Kristin A. and Asta, Mark}, title={Charting the complete elastic properties of inorganic crystalline compounds}, journal={Scientific Data}, year={2015}, month={Mar}, day={17}, publisher={The Author(s)}, volume={2}, pages={150009}, note={Data Descriptor}, url={http://dx.doi.org/10.1038/sdata.2015.9} }
     
    - -
    -

    expt_formation_enthalpy

    + +
    +

    expt_formation_enthalpy

    Experimental formation enthalpies for inorganic compounds, collected from years of calorimetric experiments. There are 1,276 entries in this dataset, mostly binary compounds. Matching mpids or oqmdids as well as the DFT-computed formation energies are also added (if any).

    Number of entries: 1276

    -

    Column

    +
    --++ @@ -731,15 +733,15 @@

    expt_formation_enthalpy - -
    -

    expt_formation_enthalpy_kingsbury

    + +
    +

    expt_formation_enthalpy_kingsbury

    Dataset containing experimental standard formation enthalpies for solids. Formation enthalpies were compiled primarily from Kim et al., Kubaschewski, and the NIST JANAF tables (see references). Elements, liquids, and gases were excluded. Data were deduplicated such that each material is associated with a single formation enthalpy value. Refer to Wang et al. (see references) for a complete desciption of the methods used. Materials Project database IDs (mp-ids) were assigned to materials from among computed materials in the Materials Project database (version 2021.03.22) that were 1) not marked ‘theoretical’, 2) had structures matching at least one ICSD material, and 3) were within 200 meV of the DFT-computed stable energy hull (e_above_hull < 0.2 eV). Among these candidates, we chose the mp-id with the lowest e_above_hull that matched the reported spacegroup (where available).

    Number of entries: 2135

    -

    Column

    +
    --++ @@ -787,15 +789,15 @@

    expt_formation_enthalpy_kingsbury -

    expt_gap

    + +
    +

    expt_gap

    Experimental band gap of 6354 inorganic semiconductors.

    Number of entries: 6354

    -

    Column

    +
    --++ @@ -817,15 +819,15 @@

    expt_gap
    @article{doi:10.1021/acs.jpclett.8b00124, author = {Zhuo, Ya and Mansouri Tehrani, Aria and Brgoch, Jakoah}, title = {Predicting the Band Gaps of Inorganic Solids by Machine Learning}, journal = {The Journal of Physical Chemistry Letters}, volume = {9}, number = {7}, pages = {1668-1673}, year = {2018}, doi = {10.1021/acs.jpclett.8b00124}, note ={PMID: 29532658}, eprint = { https://doi.org/10.1021/acs.jpclett.8b00124  }}
     
    - -
    -

    expt_gap_kingsbury

    + +
    +

    expt_gap_kingsbury

    Identical to the matbench_expt_gap dataset, except that Materials Project database IDs (mp-ids) have been associated with each material using the same method as described for the expt_formation_enthalpy_kingsbury dataset. Columns have also been renamed for consistency with the formation enthalpy data.

    Number of entries: 4604

    -

    Column

    +
    --++ @@ -852,15 +854,15 @@

    expt_gap_kingsbury -

    flla

    + +
    +

    flla

    3938 structures and computed formation energies from “Crystal Structure Representations for Machine Learning Models of Formation Energies.”

    Number of entries: 3938

    -

    Column

    +
    --++ @@ -907,15 +909,15 @@

    flla¶ @article{doi:10.1063/1.4812323, author = {Jain,Anubhav and Ong,Shyue Ping and Hautier,Geoffroy and Chen,Wei and Richards,William Davidson and Dacek,Stephen and Cholia,Shreyas and Gunter,Dan and Skinner,David and Ceder,Gerbrand and Persson,Kristin A. }, title = {Commentary: The Materials Project: A materials genome approach to accelerating materials innovation}, journal = {APL Materials}, volume = {1}, number = {1}, pages = {011002}, year = {2013}, doi = {10.1063/1.4812323}, URL = {https://doi.org/10.1063/1.4812323}, eprint = {https://doi.org/10.1063/1.4812323} } - -
    -

    glass_binary

    + +
    +

    glass_binary

    Metallic glass formation data for binary alloys, collected from various experimental techniques such as melt-spinning or mechanical alloying. This dataset covers all compositions with an interval of 5 at. % in 59 binary systems, containing a total of 5959 alloys in the dataset. The target property of this dataset is the glass forming ability (GFA), i.e. whether the composition can form monolithic glass or not, which is either 1 for glass forming or 0 for non-full glass forming.

    Number of entries: 5959

    -

    Column

    +
    --++ @@ -937,15 +939,15 @@

    glass_binary
    @article{doi:10.1021/acs.jpclett.7b01046, author = {Sun, Y. T. and Bai, H. Y. and Li, M. Z. and Wang, W. H.}, title = {Machine Learning Approach for Prediction and Understanding of Glass-Forming Ability}, journal = {The Journal of Physical Chemistry Letters}, volume = {8}, number = {14}, pages = {3434-3439}, year = {2017}, doi = {10.1021/acs.jpclett.7b01046}, note ={PMID: 28697303}, eprint = { https://doi.org/10.1021/acs.jpclett.7b01046  }}
     
    - -
    -

    glass_binary_v2

    + +
    +

    glass_binary_v2

    Identical to glass_binary dataset, but with duplicate entries merged. If there was a disagreement in gfa when merging the class was defaulted to 1.

    Number of entries: 5483

    -

    Column

    +
    --++ @@ -967,15 +969,15 @@

    glass_binary_v2
    @article{doi:10.1021/acs.jpclett.7b01046, author = {Sun, Y. T. and Bai, H. Y. and Li, M. Z. and Wang, W. H.}, title = {Machine Learning Approach for Prediction and Understanding of Glass-Forming Ability}, journal = {The Journal of Physical Chemistry Letters}, volume = {8}, number = {14}, pages = {3434-3439}, year = {2017}, doi = {10.1021/acs.jpclett.7b01046}, note ={PMID: 28697303}, eprint = { https://doi.org/10.1021/acs.jpclett.7b01046  }}
     
    - -
    -

    glass_ternary_hipt

    + +
    +

    glass_ternary_hipt

    Metallic glass formation dataset for ternary alloys, collected from the high-throughput sputtering experiments measuring whether it is possible to form a glass using sputtering. The hipt experimental data are of the Co-Fe-Zr, Co-Ti-Zr, Co-V-Zr and Fe-Ti-Nb ternary systems.

    Number of entries: 5170

    -

    Column

    +
    --++ @@ -1008,15 +1010,15 @@

    glass_ternary_hipt
    @article {Reneaaq1566, author = {Ren, Fang and Ward, Logan and Williams, Travis and Laws, Kevin J. and Wolverton, Christopher and Hattrick-Simpers, Jason and Mehta, Apurva}, title = {Accelerated discovery of metallic glasses through iteration of machine learning and high-throughput experiments}, volume = {4}, number = {4}, year = {2018}, doi = {10.1126/sciadv.aaq1566}, publisher = {American Association for the Advancement of Science}, abstract = {With more than a hundred elements in the periodic table, a large number of potential new materials exist to address the technological and societal challenges we face today; however, without some guidance, searching through this vast combinatorial space is frustratingly slow and expensive, especially for materials strongly influenced by processing. We train a machine learning (ML) model on previously reported observations, parameters from physiochemical theories, and make it synthesis method{\textendash}dependent to guide high-throughput (HiTp) experiments to find a new system of metallic glasses in the Co-V-Zr ternary. Experimental observations are in good agreement with the predictions of the model, but there are quantitative discrepancies in the precise compositions predicted. We use these discrepancies to retrain the ML model. The refined model has significantly improved accuracy not only for the Co-V-Zr system but also across all other available validation data. We then use the refined model to guide the discovery of metallic glasses in two additional previously unreported ternaries. Although our approach of iterative use of ML and HiTp experiments has guided us to rapid discovery of three new glass-forming systems, it has also provided us with a quantitatively accurate, synthesis method{\textendash}sensitive predictor for metallic glasses that improves performance with use and thus promises to greatly accelerate discovery of many new metallic glasses. We believe that this discovery paradigm is applicable to a wider range of materials and should prove equally powerful for other materials and properties that are synthesis path{\textendash}dependent and that current physiochemical theories find challenging to predict.}, URL = {http://advances.sciencemag.org/content/4/4/eaaq1566}, eprint = {http://advances.sciencemag.org/content/4/4/eaaq1566.full.pdf}, journal = {Science Advances} }
     
    - -
    -

    glass_ternary_landolt

    + +
    +

    glass_ternary_landolt

    Metallic glass formation dataset for ternary alloys, collected from the “Nonequilibrium Phase Diagrams of Ternary Amorphous Alloys,’ a volume of the Landolt– Börnstein collection. This dataset contains experimental measurements of whether it is possible to form a glass using a variety of processing techniques at thousands of compositions from hundreds of ternary systems. The processing techniques are designated in the “processing” column. There are originally 7191 experiments in this dataset, will be reduced to 6203 after deduplicated, and will be further reduced to 6118 if combining multiple data for one composition. There are originally 6780 melt-spinning experiments in this dataset, will be reduced to 5800 if deduplicated, and will be further reduced to 5736 if combining multiple experimental data for one composition.

    Number of entries: 7191

    -

    Column

    +
    --++ @@ -1047,15 +1049,15 @@

    glass_ternary_landolt - -
    -

    heusler_magnetic

    + +
    +

    heusler_magnetic

    1153 Heusler alloys with DFT-calculated magnetic and electronic properties. The 1153 alloys include 576 full, 449 half and 128 inverse Heusler alloys. The data are extracted and cleaned (including de-duplicating) from Citrine.

    Number of entries: 1153

    -

    Column

    +
    --++ @@ -1101,15 +1103,15 @@

    heusler_magnetic
    @misc{Citrine Informatics, title = {University of Alabama Heusler database}, howpublished = {\url{https://citrination.com/datasets/150561/}}, }
     
    - -
    -

    jarvis_dft_2d

    + +
    +

    jarvis_dft_2d

    Various properties of 636 2D materials computed with the OptB88vdW and TBmBJ functionals taken from the JARVIS DFT database.

    Number of entries: 636

    -

    Column

    +
    --++ @@ -1175,15 +1177,15 @@

    jarvis_dft_2d -

    jarvis_dft_3d

    + +
    +

    jarvis_dft_3d

    Various properties of 25,923 bulk materials computed with the OptB88vdW and TBmBJ functionals taken from the JARVIS DFT database.

    Number of entries: 25923

    -

    Column

    +
    --++ @@ -1252,15 +1254,15 @@

    jarvis_dft_3d -

    jarvis_ml_dft_training

    + +
    +

    jarvis_ml_dft_training

    Various properties of 24,759 bulk and 2D materials computed with the OptB88vdW and TBmBJ functionals taken from the JARVIS DFT database.

    Number of entries: 24759

    -

    Column

    +
    --++ @@ -1350,15 +1352,15 @@

    jarvis_ml_dft_training - -
    -

    m2ax

    + +
    +

    m2ax

    Elastic properties of 223 stable M2AX compounds from “A comprehensive survey of M2AX phase elastic properties” by Cover et al. Calculations are PAW PW91.

    Number of entries: 223

    -

    Column

    +
    --++ @@ -1413,15 +1415,15 @@

    m2ax
    @article{M F Cover, author={M F Cover and O Warschkow and M M M Bilek and D R McKenzie}, title={A comprehensive survey of M 2 AX phase elastic properties}, journal={Journal of Physics: Condensed Matter}, volume={21}, number={30}, pages={305403}, url={http://stacks.iop.org/0953-8984/21/i=30/a=305403}, year={2009}, abstract={M 2 AX phases are a family of nanolaminate, ternary alloys that are composed of slabs of transition metal carbide or nitride (M 2 X) separated by single atomic layers of a main group element. In this combination, they manifest many of the beneficial properties of both ceramic and metallic compounds, making them attractive for many technological applications. We report here the results of a large scale computational survey of the elastic properties of all 240 elemental combinations using first-principles density functional theory calculations. We found correlations revealing the governing role of the A element and its interaction with the M element on the c axis compressibility and shearability of the material. The role of the X element is relatively minor, with the strongest effect seen in the in-plane constants C 11 and C 12 . We identify several elemental compositions with extremal properties such as W 2 SnC, which has by far the lowest value of C 44 , suggesting potential applications as a...}}
     
    - -
    -

    matbench_dielectric

    + +
    +

    matbench_dielectric

    Matbench v0.1 test dataset for predicting refractive index from structure. Adapted from Materials Project database. Removed entries having a formation energy (or energy above the convex hull) more than 150meV and those having refractive indices less than 1 and those containing noble gases. Retrieved April 2, 2019. For benchmarking w/ nested cross validation, the order of the dataset must be identical to the retrieved data; refer to the Automatminer/Matbench publication for more details.

    Number of entries: 4764

    -

    Column

    +
    --++ @@ -1450,15 +1452,15 @@

    matbench_dielectric -

    matbench_expt_gap

    + +
    +

    matbench_expt_gap

    Matbench v0.1 test dataset for predicting experimental band gap from composition alone. Retrieved from Zhuo et al. supplementary information. Deduplicated according to composition, removing compositions with reported band gaps spanning more than a 0.1eV range; remaining compositions were assigned values based on the closest experimental value to the mean experimental value for that composition among all reports. For benchmarking w/ nested cross validation, the order of the dataset must be identical to the retrieved data; refer to the Automatminer/Matbench publication for more details.

    Number of entries: 4604

    -

    Column

    +
    --++ @@ -1484,15 +1486,15 @@

    matbench_expt_gap -

    matbench_expt_is_metal

    + +
    +

    matbench_expt_is_metal

    Matbench v0.1 test dataset for classifying metallicity from composition alone. Retrieved from Zhuo et al. supplementary information. Deduplicated according to composition, ensuring no conflicting reports were entered for any compositions (i.e., no reported compositions were both metal and nonmetal). For benchmarking w/ nested cross validation, the order of the dataset must be identical to the retrieved data; refer to the Automatminer/Matbench publication for more details.

    Number of entries: 4921

    -

    Column

    +
    --++ @@ -1521,15 +1523,15 @@

    matbench_expt_is_metal - -
    -

    matbench_glass

    + +
    +

    matbench_glass

    Matbench v0.1 test dataset for predicting full bulk metallic glass formation ability from chemical formula. Retrieved from “Nonequilibrium Phase Diagrams of Ternary Amorphous Alloys,’ a volume of the Landolt– Börnstein collection. Deduplicated according to composition, ensuring no compositions were reported as both GFA and not GFA (i.e., all reports agreed on the classification designation). For benchmarking w/ nested cross validation, the order of the dataset must be identical to the retrieved data; refer to the Automatminer/Matbench publication for more details.

    Number of entries: 5680

    -

    Column

    +
    --++ @@ -1556,15 +1558,15 @@

    matbench_glass -

    matbench_jdft2d

    + +
    +

    matbench_jdft2d

    Matbench v0.1 test dataset for predicting exfoliation energies from crystal structure (computed with the OptB88vdW and TBmBJ functionals). Adapted from the JARVIS DFT database. For benchmarking w/ nested cross validation, the order of the dataset must be identical to the retrieved data; refer to the Automatminer/Matbench publication for more details.

    Number of entries: 636

    -

    Column

    +
    --++ @@ -1593,15 +1595,15 @@

    matbench_jdft2d -

    matbench_log_gvrh

    + +
    +

    matbench_log_gvrh

    Matbench v0.1 test dataset for predicting DFT log10 VRH-average shear modulus from structure. Adapted from Materials Project database. Removed entries having a formation energy (or energy above the convex hull) more than 150meV and those having negative G_Voigt, G_Reuss, G_VRH, K_Voigt, K_Reuss, or K_VRH and those failing G_Reuss <= G_VRH <= G_Voigt or K_Reuss <= K_VRH <= K_Voigt and those containing noble gases. Retrieved April 2, 2019. For benchmarking w/ nested cross validation, the order of the dataset must be identical to the retrieved data; refer to the Automatminer/Matbench publication for more details.

    Number of entries: 10987

    -

    Column

    +
    --++ @@ -1629,15 +1631,15 @@

    matbench_log_gvrh -

    matbench_log_kvrh

    + +
    +

    matbench_log_kvrh

    Matbench v0.1 test dataset for predicting DFT log10 VRH-average bulk modulus from structure. Adapted from Materials Project database. Removed entries having a formation energy (or energy above the convex hull) more than 150meV and those having negative G_Voigt, G_Reuss, G_VRH, K_Voigt, K_Reuss, or K_VRH and those failing G_Reuss <= G_VRH <= G_Voigt or K_Reuss <= K_VRH <= K_Voigt and those containing noble gases. Retrieved April 2, 2019. For benchmarking w/ nested cross validation, the order of the dataset must be identical to the retrieved data; refer to the Automatminer/Matbench publication for more details.

    Number of entries: 10987

    -

    Column

    +
    --++ @@ -1665,15 +1667,15 @@

    matbench_log_kvrh -

    matbench_mp_e_form

    + +
    +

    matbench_mp_e_form

    Matbench v0.1 test dataset for predicting DFT formation energy from structure. Adapted from Materials Project database. Removed entries having formation energy more than 2.5eV and those containing noble gases. Retrieved April 2, 2019. For benchmarking w/ nested cross validation, the order of the dataset must be identical to the retrieved data; refer to the Automatminer/Matbench publication for more details.

    Number of entries: 132752

    -

    Column

    +
    --++ @@ -1700,15 +1702,15 @@

    matbench_mp_e_form -

    matbench_mp_gap

    + +
    +

    matbench_mp_gap

    Matbench v0.1 test dataset for predicting DFT PBE band gap from structure. Adapted from Materials Project database. Removed entries having a formation energy (or energy above the convex hull) more than 150meV and those containing noble gases. Retrieved April 2, 2019. For benchmarking w/ nested cross validation, the order of the dataset must be identical to the retrieved data; refer to the Automatminer/Matbench publication for more details.

    Number of entries: 106113

    -

    Column

    +
    --++ @@ -1735,15 +1737,15 @@

    matbench_mp_gap -

    matbench_mp_is_metal

    + +
    +

    matbench_mp_is_metal

    Matbench v0.1 test dataset for predicting DFT metallicity from structure. Adapted from Materials Project database. Removed entries having a formation energy (or energy above the convex hull) more than 150meV and those containing noble gases. Retrieved April 2, 2019. For benchmarking w/ nested cross validation, the order of the dataset must be identical to the retrieved data; refer to the Automatminer/Matbench publication for more details.

    Number of entries: 106113

    -

    Column

    +
    --++ @@ -1770,15 +1772,15 @@

    matbench_mp_is_metal - -
    -

    matbench_perovskites

    + +
    +

    matbench_perovskites

    Matbench v0.1 test dataset for predicting formation energy from crystal structure. Adapted from an original dataset generated by Castelli et al. For benchmarking w/ nested cross validation, the order of the dataset must be identical to the retrieved data; refer to the Automatminer/Matbench publication for more details.

    Number of entries: 18928

    -

    Column

    +
    --++ @@ -1802,15 +1804,15 @@

    matbench_perovskites - -
    -

    matbench_phonons

    + +
    +

    matbench_phonons

    Matbench v0.1 test dataset for predicting vibration properties from crystal structure. Original data retrieved from Petretto et al. Original calculations done via ABINIT in the harmonic approximation based on density functional perturbation theory. Removed entries having a formation energy (or energy above the convex hull) more than 150meV. For benchmarking w/ nested cross validation, the order of the dataset must be identical to the retrieved data; refer to the Automatminer/Matbench publication for more details.

    Number of entries: 1265

    -

    Column

    +
    --++ @@ -1837,15 +1839,15 @@

    matbench_phonons -

    matbench_steels

    + +
    +

    matbench_steels

    Matbench v0.1 test dataset for predicting steel yield strengths from chemical composition alone. Retrieved from Citrine informatics. Deduplicated. For benchmarking w/ nested cross validation, the order of the dataset must be identical to the retrieved data; refer to the Automatminer/Matbench publication for more details.

    Number of entries: 312

    -

    Column

    +
    --++ @@ -1869,15 +1871,15 @@

    matbench_steels -

    mp_all_20181018

    + +
    +

    mp_all_20181018

    A complete copy of the Materials Project database as of 10/18/2018. mp_all files contain structure data for each material while mp_nostruct does not.

    Number of entries: 83989

    -

    Column

    +
    --++ @@ -1929,15 +1931,15 @@

    mp_all_20181018
    @article{Jain2013, author = {Jain, Anubhav and Ong, Shyue Ping and Hautier, Geoffroy and Chen, Wei and Richards, William Davidson and Dacek, Stephen and Cholia, Shreyas and Gunter, Dan and Skinner, David and Ceder, Gerbrand and Persson, Kristin a.}, doi = {10.1063/1.4812323}, issn = {2166532X}, journal = {APL Materials}, number = {1}, pages = {011002}, title = {{The Materials Project: A materials genome approach to accelerating materials innovation}}, url = {http://link.aip.org/link/AMPADS/v1/i1/p011002/s1\&Agg=doi}, volume = {1}, year = {2013} }
     
    - -
    -

    mp_nostruct_20181018

    + +
    +

    mp_nostruct_20181018

    A complete copy of the Materials Project database as of 10/18/2018. mp_all files contain structure data for each material while mp_nostruct does not.

    Number of entries: 83989

    -

    Column

    +
    --++ @@ -1983,15 +1985,15 @@

    mp_nostruct_20181018
    @article{Jain2013, author = {Jain, Anubhav and Ong, Shyue Ping and Hautier, Geoffroy and Chen, Wei and Richards, William Davidson and Dacek, Stephen and Cholia, Shreyas and Gunter, Dan and Skinner, David and Ceder, Gerbrand and Persson, Kristin a.}, doi = {10.1063/1.4812323}, issn = {2166532X}, journal = {APL Materials}, number = {1}, pages = {011002}, title = {{The Materials Project: A materials genome approach to accelerating materials innovation}}, url = {http://link.aip.org/link/AMPADS/v1/i1/p011002/s1\&Agg=doi}, volume = {1}, year = {2013} }
     
    - -
    -

    phonon_dielectric_mp

    + +
    +

    phonon_dielectric_mp

    Phonon (lattice/atoms vibrations) and dielectric properties of 1296 compounds computed via ABINIT software package in the harmonic approximation based on density functional perturbation theory.

    Number of entries: 1296

    -

    Column

    +
    --++ @@ -2028,15 +2030,15 @@

    phonon_dielectric_mp - -
    -

    piezoelectric_tensor

    + +
    +

    piezoelectric_tensor

    941 structures with piezoelectric properties, calculated with DFT-PBE.

    Number of entries: 941

    -

    Column

    +
    --++ @@ -2093,15 +2095,15 @@

    piezoelectric_tensor
    @Article{deJong2015, author={de Jong, Maarten and Chen, Wei and Geerlings, Henry and Asta, Mark and Persson, Kristin Aslaug}, title={A database to enable discovery and design of piezoelectric materials}, journal={Scientific Data}, year={2015}, month={Sep}, day={29}, publisher={The Author(s)}, volume={2}, pages={150053}, note={Data Descriptor}, url={http://dx.doi.org/10.1038/sdata.2015.53} }
     
    - -
    -

    ricci_boltztrap_mp_tabular

    + +
    +

    ricci_boltztrap_mp_tabular

    Ab-initio electronic transport database for inorganic materials. Complex multivariable BoltzTraP simulation data is condensed down into tabular form of two main motifs: average eigenvalues at set moderate carrier concentrations and temperatures, and optimal values among all carrier concentrations and temperatures within certain ranges. Here are reported the average of the eigenvalues of conductivity effective mass (mₑᶜᵒⁿᵈ), the Seebeck coefficient (S), the conductivity (σ), the electronic thermal conductivity (κₑ), and the Power Factor (PF) at a doping level of 10¹⁸ cm⁻³ and at a temperature of 300 K for n- and p-type. Also, the maximum values for S, σ, PF, and the minimum value for κₑ chosen among the temperatures [100, 1300] K, the doping levels [10¹⁶, 10²¹] cm⁻³, and doping types are reported. The properties that depend on the relaxation time are reported divided by the constant value 10⁻¹⁴. The average of the eigenvalues for all the properties at all the temperatures, doping levels, and doping types are reported in the tables for each entry. Data is indexed by materials project id (mpid)

    Number of entries: 47737

    -

    Column

    +
    --++ @@ -2261,15 +2263,15 @@

    ricci_boltztrap_mp_tabular -

    steel_strength

    + +
    +

    steel_strength

    312 steels with experimental yield strength and ultimate tensile strength, extracted and cleaned (including de-duplicating) from Citrine.

    Number of entries: 312

    -

    Column

    +
    --++ @@ -2336,15 +2338,15 @@

    steel_strength
    @misc{Citrine Informatics, title = {Mechanical properties of some steels}, howpublished = {\url{https://citrination.com/datasets/153092/}, }
     
    - -
    -

    superconductivity2018

    + +
    +

    superconductivity2018

    Dataset of ~16,000 experimental superconductivity records (critical temperatures) from Stanev et al., originally from the Japanese National Institute for Materials Science. Does not include structural data. Includes ~300 measurements from materials found without superconductivity (Tc=0). No modifications were made to the core dataset, aside from basic file type change to json for (un)packaging with matminer. Reproduced under the Creative Commons 4.0 license, which can be found here: http://creativecommons.org/licenses/by/4.0/.

    Number of entries: 16414

    -

    Column

    +
    --++ @@ -2368,15 +2370,15 @@

    superconductivity2018 - -
    -

    tholander_nitrides

    + +
    +

    tholander_nitrides

    A challenging data set for quantum machine learning containing a diverse set of 12.8k polymorphs in the Zn-Ti-N, Zn-Zr-N and Zn-Hf-N chemical systems. The phase diagrams of the Ti-Zn-N, Zr-Zn-N, and Hf-Zn-N systems are determined using large-scale high-throughput density functional calculations (DFT-GGA) (PBE). In total 12,815 relaxed structures are shared alongside their energy calculated using the VASP DFT code. The High-Throughput Toolkit was used to manage the calculations. Data adapted and deduplicated from the original data on Zenodo at https://zenodo.org/record/5530535#.YjJ3ZhDMJLQ, published under MIT licence. Collated from separate files of chemical systems and deduplicated according to identical structures matching ht_ids. Prepared in collaboration with Rhys Goodall.

    Number of entries: 12815

    -

    Column

    +
    --++ @@ -2410,15 +2412,15 @@

    tholander_nitrides
    @article{tholander2016strong,   title={Strong piezoelectric response in stable TiZnN2, ZrZnN2, and HfZnN2 found by ab initio high-throughput approach},   author={Tholander, Christopher and Andersson, CBA and Armiento, Rickard and Tasnadi, Ferenc and Alling, Bj{\"o}rn},   journal={Journal of Applied Physics},   volume={120},   number={22},   pages={225102},   year={2016},   publisher={AIP Publishing LLC} }
     
    - -
    -

    ucsb_thermoelectrics

    + +
    +

    ucsb_thermoelectrics

    Database of ~1,100 experimental thermoelectric materials from UCSB aggregated from 108 source publications and personal communications. Downloaded from Citrine. Source UCSB webpage is http://www.mrl.ucsb.edu:8080/datamine/thermoelectric.jsp. See reference for more information on original data aggregation. No duplicate entries are present, but each src may result in multiple measurements of the same materials’ properties at different temperatures or conditions.

    Number of entries: 1093

    -

    Column

    +
    --++ @@ -2472,15 +2474,15 @@

    ucsb_thermoelectrics - -
    -

    wolverton_oxides

    + +
    +

    wolverton_oxides

    4,914 perovskite oxides containing composition data, lattice constants, and formation + vacancy formation energies. All perovskites are of the form ABO3. Adapted from a dataset presented by Emery and Wolverton.

    Number of entries: 4914

    -

    Column

    +
    --++ @@ -2547,8 +2549,8 @@

    wolverton_oxides @@ -2557,8 +2559,9 @@

    wolverton_oxides
    -

    Table of Contents

    -
    @@ -2640,14 +2644,14 @@

    Navigation

  • modules |
  • - + diff --git a/docs/example_bulkmod.html b/docs/example_bulkmod.html index 40557da8f..6dca6c084 100644 --- a/docs/example_bulkmod.html +++ b/docs/example_bulkmod.html @@ -1,18 +1,20 @@ - + - - Predicting bulk moduli with matminer — matminer 0.7.8 documentation - - - + + + Predicting bulk moduli with matminer — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

    Navigation

  • modules |
  • - + @@ -38,17 +40,17 @@

    Navigation

    -
    -

    Predicting bulk moduli with matminer

    -
    -

    Fit data mining models to ~6000 calculated bulk moduli from Materials Project

    +
    +

    Predicting bulk moduli with matminer

    +
    +

    Fit data mining models to ~6000 calculated bulk moduli from Materials Project

    Time to complete: 30 minutes

    This notebook is an example of using the MP data retrieval tool retrieve_MP.py to retrieve computed bulk moduli from the materials project databases in the form of a pandas dataframe, using matminer’s tools to populate the dataframe with descriptors/features from pymatgen, and then fitting regression models from the scikit-learn library to the dataset.

    -
    -

    Preamble

    +
    +

    Preamble

    Import libraries, and set pandas display options.

    # filter warnings messages from the notebook
     import warnings
    @@ -63,9 +65,9 @@ 

    Preamblepd.set_option('display.max_rows', None)

    -
    -
    +
    +

    Step 1: Use matminer to obtain data from MP (automatically) in a “pandas” dataframe

    Step 1a: Import matminer’s MP data retrieval tool and get calculated bulk moduli and possible descriptors.

    from matminer.data_retrieval.retrieve_MP import MPDataRetrieval
     
    @@ -97,9 +99,9 @@ 

    Step 1: Use matminer to obtain data from MP (automatically) in a “pandas df_mp.describe()

    -
    -
    -

    Step 2: Add descriptors/features

    + +
    +

    Step 2: Add descriptors/features

    Step 2a: create volume per atom descriptor

    # add volume per atom descriptor
     df_mp['vpa'] = df_mp['volume']/df_mp['nsites']
    @@ -129,9 +131,9 @@ 

    Step 2: Add descriptors/featuresdf_mp.head()

    -
    -
    -

    Step 3: Fit a Linear Regression model, get R2 and RMSE

    + +
    +

    Step 3: Fit a Linear Regression model, get R2 and RMSE

    Step 3a: Define what column is the target output, and what are the relevant descriptors

    # target output column
     y = df_mp['elasticity.K_VRH'].values
    @@ -187,9 +189,9 @@ 

    Step 3: Fit a Linear Regression model, get R2 and RMSEFolds: 10, mean RMSE: 33.200

    -
    -
    -

    Step 4: Plot the results with FigRecipes

    + +
    +

    Step 4: Plot the results with FigRecipes

    from matminer.figrecipes.plotly.make_plots import PlotlyFig
     
     pf = PlotlyFig(x_title='DFT (MP) bulk modulus (GPa)',
    @@ -221,9 +223,9 @@ 

    Step 4: Plot the results with FigRecipes_images/example_bulkmod.png

    Great! We just fit a linear regression model to pymatgen features using matminer and sklearn. Now let’s use a Random Forest model to examine the importance of our features.

    -

    -
    -

    Step 5: Follow similar steps for a Random Forest model

    +
    +
    +

    Step 5: Follow similar steps for a Random Forest model

    Step 5a: Fit the Random Forest model, get R2 and RMSE

    from sklearn.ensemble import RandomForestRegressor
     
    @@ -251,9 +253,9 @@ 

    Step 5: Follow similar steps for a Random Forest modelFolds: 10, mean RMSE: 20.087

    -
    -
    -

    Step 6: Plot our results and determine what features are the most important

    + +
    +

    Step 6: Plot our results and determine what features are the most important

    Step 6a: Plot the random forest model

    from matminer.figrecipes.plotly.make_plots import PlotlyFig
     
    @@ -303,9 +305,9 @@ 

    Step 6: Plot our results and determine what features are the most important<

    _images/example_bulkmod_feats.png -
    -
    -
    + + +
    @@ -314,8 +316,9 @@

    Step 6: Plot our results and determine what features are the most important<

    @@ -361,14 +365,14 @@

    Navigation

  • modules |
  • - + diff --git a/docs/featurizer_summary.html b/docs/featurizer_summary.html index 7a53a6ea3..f83f7fc4b 100644 --- a/docs/featurizer_summary.html +++ b/docs/featurizer_summary.html @@ -1,18 +1,20 @@ - + - - bandstructure — matminer 0.7.8 documentation - - - + + + bandstructure — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

    Navigation

  • modules |
  • - + @@ -39,15 +41,15 @@

    Navigation

    Below, you will find a description of each featurizer, listed in tables grouped by module.

    -
    -

    bandstructure

    -
    -

    Features derived from a material’s electronic bandstructure.

    +
    +

    bandstructure

    +
    +

    Features derived from a material’s electronic bandstructure.

    matminer.featurizers.bandstructure

    -

    Column

    +
    --++ @@ -63,17 +65,17 @@

    Features derived from a material’s electronic bandstructure. -

    base

    -
    -

    Parent classes and meta-featurizers.

    + + +
    +

    base

    +
    +

    Parent classes and meta-featurizers.

    matminer.featurizers.base

    -

    Name

    +
    --++ @@ -92,22 +94,22 @@

    Parent classes and meta-featurizers. -

    composition

    -
    -

    Features based on a material’s composition.

    -
    -

    alloy

    + + +
    +

    composition

    +
    +

    Features based on a material’s composition.

    +
    +

    alloy

    matminer.featurizers.composition.alloy

    Composition featurizers specialized for use with alloys.

    -

    Name

    +
    --++ @@ -126,17 +128,17 @@

    alloy

    Name

    -
    -
    -

    composite

    + +
    +

    composite

    matminer.featurizers.composition.composite

    Composition featurizers for composite features containing more than 1 category of general-purpose data.

    - +
    --++ @@ -152,17 +154,17 @@

    composite -

    element

    + +
    +

    element

    matminer.featurizers.composition.element

    Composition featurizers for elemental data and stoichiometry.

    -

    Name

    +
    --++ @@ -184,17 +186,17 @@

    element -

    ion

    + +
    +

    ion

    matminer.featurizers.composition.ion

    Composition featurizers for compositions with ionic data.

    -

    Name

    +
    --++ @@ -216,17 +218,17 @@

    ion

    Name

    -
    -
    -

    orbital

    + +
    +

    orbital

    matminer.featurizers.composition.orbital

    Composition featurizers for orbital data.

    - +
    --++ @@ -242,17 +244,17 @@

    orbital -

    packing

    + +
    +

    packing

    matminer.featurizers.composition.packing

    Composition featurizers for determining packing characteristics.

    -

    Name

    +
    --++ @@ -265,17 +267,17 @@

    packing -

    thermo

    + +
    +

    thermo

    matminer.featurizers.composition.thermo

    Composition featurizers for thermodynamic properties.

    -

    Name

    +
    --++ @@ -291,18 +293,18 @@

    thermo -

    conversions

    -
    -

    Conversion utilities.

    + + + +
    +

    conversions

    +
    +

    Conversion utilities.

    matminer.featurizers.conversions

    -

    Name

    +
    --++ @@ -345,17 +347,17 @@

    Conversion utilities.

    Name

    -
    -
    -
    -

    dos

    -
    -

    Features based on a material’s electronic density of states.

    + + +
    +

    dos

    +
    +

    Features based on a material’s electronic density of states.

    matminer.featurizers.dos

    - +
    --++ @@ -380,17 +382,17 @@

    Features based on a material’s electronic density of states. -

    function

    -
    -

    Classes for expanding sets of features calculated with other featurizers.

    + + +
    +

    function

    +
    +

    Classes for expanding sets of features calculated with other featurizers.

    matminer.featurizers.function

    -

    Name

    +
    --++ @@ -403,22 +405,22 @@

    Classes for expanding sets of features calculated with other featurizers.

    Name

    -
    -
    -
    -

    site

    -
    -

    Features from individual sites in a material’s crystal structure.

    -
    -

    bonding

    + + +
    +

    site

    +
    +

    Features from individual sites in a material’s crystal structure.

    +
    +

    bonding

    matminer.featurizers.site.bonding

    Site featurizers based on bonding.

    - +
    --++ @@ -437,17 +439,17 @@

    bonding -

    chemical

    + +
    +

    chemical

    matminer.featurizers.site.chemical

    Site featurizers based on local chemical information, rather than geometry alone.

    -

    Name

    +
    --++ @@ -469,17 +471,17 @@

    chemical -

    external

    + +
    +

    external

    matminer.featurizers.site.external

    Site featurizers requiring external libraries for core functionality.

    -

    Name

    +
    --++ @@ -492,17 +494,17 @@

    external -

    fingerprint

    + +
    +

    fingerprint

    matminer.featurizers.site.fingerprint

    Site featurizers that fingerprint a site using local geometry.

    -

    Name

    +
    --++ @@ -527,17 +529,17 @@

    fingerprint -

    misc

    + +
    +

    misc

    matminer.featurizers.site.misc

    Miscellaneous site featurizers.

    -

    Name

    +
    --++ @@ -553,17 +555,17 @@

    misc

    Name

    -
    -
    -

    rdf

    + +
    +

    rdf

    matminer.featurizers.site.rdf

    Site featurizers based on distribution functions.

    - +
    --++ @@ -582,23 +584,23 @@

    rdf

    Name

    -
    -
    -
    -
    -

    structure

    -
    -

    Generating features based on a material’s crystal structure.

    -
    -

    bonding

    + + + +
    +

    structure

    +
    +

    Generating features based on a material’s crystal structure.

    +
    +

    bonding

    matminer.featurizers.structure.bonding

    Structure featurizers based on bonding.

    - +
    --++ @@ -623,17 +625,17 @@

    bonding

    Name

    -
    -
    -

    composite

    + +
    +

    composite

    matminer.featurizers.structure.composite

    Structure featurizers producing more than one kind of structure feature data.

    - +
    --++ @@ -646,17 +648,17 @@

    composite -

    matrix

    + +
    +

    matrix

    matminer.featurizers.structure.matrix

    Structure featurizers generating a matrix for each structure. Most matrix structure featurizers contain the ability to flatten matrices to be dataframe-friendly.

    -

    Name

    +
    --++ @@ -675,17 +677,17 @@

    matrix -

    misc

    + +
    +

    misc

    matminer.featurizers.structure.misc

    Miscellaneous structure featurizers.

    -

    Name

    +
    --++ @@ -704,17 +706,17 @@

    misc¶<

    Name

    -
    -
    -

    order

    + +
    +

    order

    matminer.featurizers.structure.order

    Structure featurizers based on packing or ordering.

    - +
    --++ @@ -736,17 +738,17 @@

    order

    Name

    -
    -
    -

    rdf

    + +
    +

    rdf

    matminer.featurizers.structure.rdf

    Structure featurizers implementing radial distribution functions.

    - +
    --++ @@ -765,17 +767,17 @@

    rdf

    Name

    -
    -
    -

    sites

    + +
    +

    sites

    matminer.featurizers.structure.sites

    Structure featurizers based on aggregating site features.

    - +
    --++ @@ -788,17 +790,17 @@

    sites

    Name

    -
    -
    -

    symmetry

    + +
    +

    symmetry

    matminer.featurizers.structure.symmetry

    Structure featurizers based on symmetry.

    - +
    --++ @@ -814,9 +816,9 @@

    symmetry @@ -825,8 +827,9 @@

    symmetry
    -

    Table of Contents

    -
    @@ -918,14 +922,14 @@

    Navigation

  • modules |
  • - + diff --git a/docs/genindex.html b/docs/genindex.html index 6b5472dbd..da0c852df 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -1,18 +1,19 @@ - + - Index — matminer 0.7.8 documentation - - - + Index — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +29,7 @@

    Navigation

  • modules |
  • - + @@ -73,10 +74,18 @@

    Index

    _

    Name

    - + @@ -1189,24 +1244,40 @@

    G

  • get_chg() (matminer.featurizers.structure.composite.JarvisCFID method)
  • -
  • get_data() (matminer.data_retrieval.retrieve_MP.MPDataRetrieval method) +
  • get_data() (matminer.data_retrieval.retrieve_Citrine.CitrineDataRetrieval method) + +
  • +
  • get_dataframe() (matminer.data_retrieval.retrieve_AFLOW.AFLOWDataRetrieval method)
  • + + -
    +
  • from_pymongo() (matminer.data_retrieval.retrieve_AFLOW.RetrievalQuery class method) +
  • FunctionFeaturizer (class in matminer.featurizers.function)
  • get_rdf_bin_labels() (in module matminer.featurizers.structure.rdf) +
  • +
  • get_relaxed_structure() (matminer.data_retrieval.retrieve_AFLOW.AFLOWDataRetrieval static method)
  • get_single_ofm() (matminer.featurizers.structure.matrix.OrbitalFieldMatrix method)
  • get_site_dos_scores() (in module matminer.featurizers.dos)
  • get_structure_ofm() (matminer.featurizers.structure.matrix.OrbitalFieldMatrix method) +
  • +
  • get_value() (in module matminer.data_retrieval.retrieve_Citrine)
  • get_wigner_coeffs() (in module matminer.featurizers.site.bonding)
  • @@ -1453,6 +1528,8 @@

    I

  • (matminer.featurizers.structure.rdf.PartialRadialDistributionFunction method)
  • (matminer.featurizers.structure.rdf.RadialDistributionFunction method) +
  • +
  • (matminer.featurizers.structure.sites.PartialsSiteStatsFingerprint method)
  • (matminer.featurizers.structure.sites.SiteStatsFingerprint method)
  • @@ -1592,6 +1669,8 @@

    M

    + -
    +
    • matminer.featurizers.utils.grdf @@ -2185,8 +2322,6 @@

      M

    • module
    -
    • matminer.featurizers.utils.oxidation @@ -2345,6 +2480,12 @@

      M

    • maximum() (matminer.featurizers.utils.stats.PropertyStats static method)
    • MaximumPackingEfficiency (class in matminer.featurizers.structure.order) +
    • +
    • maxnpages (matminer.data_retrieval.retrieve_MPDS.MPDSDataRetrieval attribute) +
    • +
    • MDFDataRetrieval (class in matminer.data_retrieval.retrieve_MDF) +
    • +
    • MDFDataRetrievalTest (class in matminer.data_retrieval.tests.test_retrieve_MDF)
    • mean() (matminer.featurizers.utils.stats.PropertyStats static method)
    • @@ -2373,20 +2514,36 @@

      M

    • matminer
    • matminer.data_retrieval +
    • +
    • matminer.data_retrieval.retrieve_AFLOW
    • matminer.data_retrieval.retrieve_base +
    • +
    • matminer.data_retrieval.retrieve_Citrine +
    • +
    • matminer.data_retrieval.retrieve_MDF
    • matminer.data_retrieval.retrieve_MongoDB
    • matminer.data_retrieval.retrieve_MP +
    • +
    • matminer.data_retrieval.retrieve_MPDS
    • matminer.data_retrieval.tests
    • matminer.data_retrieval.tests.base +
    • +
    • matminer.data_retrieval.tests.test_retrieve_AFLOW +
    • +
    • matminer.data_retrieval.tests.test_retrieve_Citrine +
    • +
    • matminer.data_retrieval.tests.test_retrieve_MDF
    • matminer.data_retrieval.tests.test_retrieve_MongoDB
    • matminer.data_retrieval.tests.test_retrieve_MP +
    • +
    • matminer.data_retrieval.tests.test_retrieve_MPDS
    • matminer.datasets
    • @@ -2588,6 +2745,10 @@

      M

    • MPDataRetrieval (class in matminer.data_retrieval.retrieve_MP)
    • MPDataRetrievalTest (class in matminer.data_retrieval.tests.test_retrieve_MP) +
    • +
    • MPDSDataRetrieval (class in matminer.data_retrieval.retrieve_MPDS) +
    • +
    • MPDSDataRetrievalTest (class in matminer.data_retrieval.tests.test_retrieve_MPDS)
    • MultiArgs2 (class in matminer.featurizers.tests.test_base)
    • @@ -2603,7 +2764,7 @@

      M

      N

      + - - + + + + + + + + + + + + + + + + + + + + + + + + +
      -
    • setUp() (matminer.data_retrieval.tests.test_retrieve_MP.MPDataRetrievalTest method) +
    • setUp() (matminer.data_retrieval.tests.test_retrieve_AFLOW.AFLOWDataRetrievalTest method)
    • +
    • setUpClass() (matminer.data_retrieval.tests.test_retrieve_MDF.MDFDataRetrievalTest class method) +
    • Sine (class in matminer.featurizers.utils.grdf)
    • +
      diff --git a/docs/index.html b/docs/index.html index 85772d633..2cea60496 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,18 +1,20 @@ - + - - matminer (Materials Data Mining) — matminer 0.7.8 documentation - - - + + + matminer (Materials Data Mining) — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -39,8 +41,8 @@

      Navigation

      matminer logo -
      -

      matminer

      +
      +

      matminer

      matminer is a Python library for data mining the properties of materials.

      Matminer contains routines for:

        @@ -92,17 +94,17 @@

        matminer

      Take a tour of matminer’s features by scrolling down!

      -
      - -
      -

      Installation

      + +
      +

      Installation

      To install matminer, follow the short installation tutorial.

      -
      -
      -

      Overview

      -
      -

      Featurizers generate descriptors for materials

      + +
      +

      Overview

      +
      +

      Featurizers generate descriptors for materials

      Matminer can turn materials objects - for example, a composition such as “Fe3O4” - into arrays of numbers representing things like average electronegativity or difference in ionic radii of the substituent elements. Matminer also contains sophisticated crystal structure and site featurizers (e.g., obtaining the coordination number or local environment of atoms in the structure) as well as featurizers for complex materials data such as @@ -130,9 +132,9 @@

      Featurizers generate descriptors for materialsTable of Featurizers is available.

      Diagram of featurizers -

      -
      -

      Data retrieval easily puts complex online data into dataframes

      + +
      +

      Data retrieval easily puts complex online data into dataframes

      Retrieve data from the biggest materials databases, such as the Materials Project and Citrine’s databases, in a Pandas dataframe format

      The MPDataRetrieval and CitrineDataRetrieval classes can be used to retrieve data from the biggest open-source materials database collections of the Materials Project and Citrine Informatics, respectively, in a Pandas dataframe format. The data contained in these databases are a variety of material properties, obtained in-house or from other external databases, that are either calculated, measured from experiments, or learned from trained algorithms. The get_dataframe method of these classes executes the data retrieval by searching the respective database using user-specified filters, such as compound/material, property type, etc , extracting the selected data in a JSON/dictionary format through the API, parsing it and output the result to a Pandas dataframe with columns as properties/features measured or calculated and rows as data points.

      For example, to compare experimental and computed band gaps of Si, one can employ the following lines of code:

      @@ -144,9 +146,9 @@

      Data retrieval easily puts complex online data into dataframesMongoDataRetrieval is another data retrieval tool developed that allows for the parsing of any MongoDB collection (which follows a flexible JSON schema), into a Pandas dataframe that has a format similar to the output dataframe from the above data retrieval tools. The arguments of the get_dataframe method allow to utilize MongoDB’s rich and powerful query/aggregation syntax structure. More information on customization of queries can be found in the MongoDB documentation.

      -

      -
      -

      Access ready-made datasets in one line

      + +
      +

      Access ready-made datasets in one line

      Explore datasets for analysis, benchmarking, and testing without ever leaving the Python interpreter

      The datasets module provides an ever growing collection of materials science datasets that have been collected, formatted as pandas dataframes, and made available through a unified interface.

      Loading a dataset as a pandas dataframe is as simple as:

      @@ -172,9 +174,9 @@

      Access ready-made datasets in one lineBrowser not compatible.

      See the dataset summary page for a comprehensive summary of datasets available within matminer. If you would like to contribute a dataset to matminer’s repository see the dataset addition guide.

      -

      -
      -

      Data munging with Conversion Featurizers

      + +
      +

      Data munging with Conversion Featurizers

      Matminer’s multiprocessing-parallelized and error-tolerant featurizer structure makes transforming materials objects into other formats quick and easy.

      For example, here is code that robustly transforms a dataframe of 10k ASE (atomic simulation environment) structures in the “ase atoms” column - some of which contain errors - to Pymatgen structures to use with matminer:

      from matminer.featurizer.conversions import ASEAtomstoStructure
      @@ -205,10 +207,10 @@ 

      Data munging with Conversion FeaturizersPymatgenFunctionApplicator

      -

      -
      -
      + +
      +

      Examples

      Check out some examples of how to use matminer!

      1. Examples index. (Jupyter Notebook)

      2. @@ -220,11 +222,11 @@

        ExamplesJupyter Notebook)

      3. Many more examples! See the matminer_examples repo for details.

      -
      -
      -

      Citations and Changelog

      -
      -

      Citing matminer

      + +
      +

      Citations and Changelog

      +
      +

      Citing matminer

      If you find matminer useful, please encourage its development by citing the following paper in your research

      Ward, L., Dunn, A., Faghaninia, A., Zimmermann, N. E. R., Bajaj, S., Wang, Q.,
       Montoya, J. H., Chen, J., Bystrom, K., Dylla, M., Chard, K., Asta, M., Persson,
      @@ -238,13 +240,13 @@ 

      Citing matminercitations() method present for every featurizer in matminer.

    • If you use one or more datasets, please check the metadata of the dataset for a comprehensive list of BibTex formatted citations to use.

    • -

      -
      +
      +

      Changelog

      Check out our full changelog here.

      -
      -
      -

      Contributions and Support

      + +
      +

      Contributions and Support

      Want to see something added or changed? Here’s a few ways you can!

      • Help us improve the documentation. Tell us where you got ‘stuck’ and improve the install process for everyone.

      • @@ -254,9 +256,9 @@

        Contributions and SupportDiscourse forum

        A comprehensive guide to contributions can be found here.

        A full list of contributors can be found here.

        -

      -
      -
      + + +
      @@ -265,8 +267,9 @@

      Contributions and Support
      -

      Table of Contents

      -
      @@ -319,14 +323,14 @@

      Navigation

    • modules |
    • - + diff --git a/docs/installation.html b/docs/installation.html index 85502cc35..bb5f37093 100644 --- a/docs/installation.html +++ b/docs/installation.html @@ -1,18 +1,20 @@ - + - - Installing matminer — matminer 0.7.8 documentation - - - + + + Installing matminer — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -38,12 +40,12 @@

      Navigation

      -
      -

      Installing matminer

      +
      +

      Installing matminer

      Matminer requires Python 3.6+.

      There are a couple of quick and easy ways to install matminer (see also some tips below):

      -
      -

      Install and update via pip

      +
      +

      Install and update via pip

      If you have installed pip, simply run the command in a bash terminal:

      $ pip install matminer
       
      @@ -53,9 +55,9 @@

      Install and update via pippip install --upgrade matminer.

      -

      -
      +
      +

      Install in development mode

      To install from the latest source of the matminer code in developmental mode, clone the Git source:

      $ git clone https://github.com/hackingmaterials/matminer.git
       
      @@ -66,9 +68,9 @@

      Install in development modegit pull followed by python setup.py develop.

      -

      -
      +
      +

      Tips

      • Make sure you are using Python 3.6 or higher

      • If you have trouble with the installation of a component library (sympy, pymatgen, mdf-forge, etc.), you can try to run pip install <<component>> or (if you are using Anaconda) conda install <<component>> first, and then re-try the installation.

        @@ -80,8 +82,8 @@

        Tips

      • If you still have trouble, open up a a ticket on our forum describing your problem in full (including your system specifications, Python version information, and input/output log). There is a good likelihood that someone else is running into the same issue, and by posting it on the forum we can help make the documentation clearer and smoother.

      -
      -
      + +
      @@ -90,8 +92,9 @@

      Tips

      @@ -130,14 +134,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.data_retrieval.html b/docs/matminer.data_retrieval.html index 7f88ee26d..9ff1fffaa 100644 --- a/docs/matminer.data_retrieval.html +++ b/docs/matminer.data_retrieval.html @@ -1,18 +1,20 @@ - + - - matminer.data_retrieval package — matminer 0.7.8 documentation - - - + + + matminer.data_retrieval package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -38,45 +40,455 @@

      Navigation

      -
      -

      matminer.data_retrieval package

      -
      -

      Subpackages

      +
      +

      matminer.data_retrieval package

      +
      +

      Subpackages

      -
      -
      -

      Submodules

      -
      -
      -

      matminer.data_retrieval.retrieve_AFLOW module

      -
      -
      -

      matminer.data_retrieval.retrieve_Citrine module

      -
      -
      -

      matminer.data_retrieval.retrieve_MDF module

      -
      -
      -

      matminer.data_retrieval.retrieve_MP module

      + +
      +

      Submodules

      +
      +
      +

      matminer.data_retrieval.retrieve_AFLOW module

      +
      +
      +class matminer.data_retrieval.retrieve_AFLOW.AFLOWDataRetrieval
      +

      Bases: BaseDataRetrieval

      +

      Retrieves data from the AFLOW database.

      +

      AFLOW uses the AFLUX API syntax, and the aflow library handles the HTTP +requests for material properties. Note that this helper library is not an +official repository of the AFLOW consortium. However, this library does +dynamically generate the keywords supported by the AFLUX API from their +servers, which makes it robust against changes in the AFLOW system.

      +

      If you use this data retrieval class, please additionally cite: +Rose, F., Toher, C., Gossett, E., Oses, C., Nardelli, M.B., Fornari, M., +Curtarolo, S., 2017. AFLUX: The LUX materials search API for the AFLOW +data repositories. Computational Materials Science 137, 362–370. +https://doi.org/10.1016/j.commatsci.2017.04.036

      +
      + +

      The link to comprehensive API documentation or data source.

      +
      +
      Returns:

      (str): A link to the API documentation for this DataRetrieval class.

      +
      +
      +
      + +
      +
      +citations()
      +

      Retrieve a list of formatted strings of bibtex citations which +should be cited when using a data retrieval method.

      +
      +
      Returns:

      ([str]): Bibtext formatted entries

      +
      +
      +
      + +
      +
      +get_dataframe(criteria, properties, files=None, request_size=10000, request_limit=0, index_auid=True)
      +

      Retrieves data from AFLOW in a DataFrame format.

      +

      The method builds an AFLUX API query from pymongo-like filter criteria +and requested properties. Then, results are collected over HTTP. Note +that the “compound”, “auid”, and “aurl” fields are always returned.

      +
      +
      Args:
      +
      criteria: (dict) Pymongo-like query operator. The first-level

      dictionary keys must be supported AFLOW properties. The values +of the dictionary must either be singletons (int, str, etc.) or +dictionaries. The keys of this second-level dictionary can be +the pymongo operators ‘$in’, ‘$gt’, ‘$lt’, or ‘$not.’ There can +not be further nesting. +VALID:

      +
      +

      {‘auid’: {‘$in’: [‘aflow:a17a2da2f3d3953a’]}}

      +
      +
      +
      INVALID:

      {‘auid’: {‘$not’: {‘$in’: [‘aflow:a17a2da2f3d3953a’]}}}

      +
      +
      +
      +
      properties: (list of str) Properties returned in the DataFrame.

      See the api link for a list of supported properties.

      +
      +
      files: (list of str) For convenience, specific files may also be

      downloaded as pymatgen objects. Each file download is collected +by a separate HTTP request (read slow). The default behavior is +to return none of these objects. Supported files:

      +
      +

      “prototype_structure” - the prototype structure +“input_structure” - the input structure +“band_structure” - TODO +“dos” - TODO

      +
      +
      +
      +

      request_size: (int) Number of results to return per HTTP request. +request_limit: (int) Maximum number of requests to submit. The

      +
      +

      default behavior is to request all matching records.

      +
      +
      +
      index_auid: (bool) Whether to set the “AFLOW unique identifier” as

      the index of the DataFrame.

      +
      +
      +
      +
      +

      Returns (pandas.DataFrame): The data requested from the AFLOW database.

      +
      + +
      +
      +static get_relaxed_structure(aurl)
      +

      Collects the relaxed structure as a pymatgen.Structure.

      +
      +
      Args:

      aurl: (str) The url for the material entry in AFLOW.

      +
      +
      +

      Returns: (pymatgen.Structure) The relaxed structure.

      +
      + +
      + +
      +
      +class matminer.data_retrieval.retrieve_AFLOW.RetrievalQuery(catalog=None, batch_size=100, step=1)
      +

      Bases: Query

      +

      Provides instance constructors for pymongo-like queries.

      +
      +
      +classmethod from_pymongo(criteria, properties, request_size)
      +

      Generates an aflow Query object from pymongo-like arguments.

      +
      +
      Args:
      +
      criteria: (dict) Pymongo-like query operator. See the

      AFLOWDataRetrieval.get_DataFrame method for more details

      +
      +
      properties: (list of str) Properties returned in the DataFrame.

      See the api link for a list of supported properties.

      +
      +
      request_size: (int) Number of results to return per HTTP request.

      Note that this is similar to “limit” in pymongo.find.

      +
      +
      +
      +
      +
      + +
      + +
      +
      +

      matminer.data_retrieval.retrieve_Citrine module

      +
      +
      +class matminer.data_retrieval.retrieve_Citrine.CitrineDataRetrieval(api_key=None)
      +

      Bases: BaseDataRetrieval

      +

      CitrineDataRetrieval is used to retrieve data from the Citrination database +See API client docs at api_link below.

      +
      +
      +__init__(api_key=None)
      +
      +
      Args:
      +
      api_key: (str) Your Citrine API key, or None if

      you’ve set the CITRINE_KEY environment variable

      +
      +
      +
      +
      +
      + +
      + +

      The link to comprehensive API documentation or data source.

      +
      +
      Returns:

      (str): A link to the API documentation for this DataRetrieval class.

      +
      +
      +
      + +
      +
      +citations()
      +

      Retrieve a list of formatted strings of bibtex citations which +should be cited when using a data retrieval method.

      +
      +
      Returns:

      ([str]): Bibtext formatted entries

      +
      +
      +
      + +
      +
      +get_data(formula=None, prop=None, data_type=None, reference=None, min_measurement=None, max_measurement=None, from_record=None, data_set_id=None, max_results=None)
      +

      Gets raw api data from Citrine in json format. See api_link for more +information on input parameters

      +
      +
      Args:
      +
      formula: (str) filter for the chemical formula field; only those

      results that have chemical formulas that contain this string +will be returned

      +
      +
      +

      prop: (str) name of the property to search for +data_type: (str) ‘EXPERIMENTAL’/’COMPUTATIONAL’/’MACHINE_LEARNING’;

      +
      +

      filter for properties obtained from experimental work, +computational methods, or machine learning.

      +
      +
      +
      reference: (str) filter for the reference field; only those

      results that have contributors that contain this string +will be returned

      +
      +
      +

      min_measurement: (str/num) minimum of the property value range +max_measurement: (str/num) maximum of the property value range +from_record: (int) index of first record to return (indexed from 0) +data_set_id: (int) id of the particular data set to search on +max_results: (int) number of records to limit the results to

      +
      +
      +

      Returns: (list) of jsons/pifs returned by Citrine’s API

      +
      + +
      +
      +get_dataframe(criteria, properties=None, common_fields=None, secondary_fields=False, print_properties_options=True)
      +

      Gets a Pandas dataframe object from data retrieved from +the Citrine API.

      +
      +
      Args:
      +
      criteria (dict): see get_data method for supported keys except

      prop; prop should be included in properties.

      +
      +
      properties ([str]): requested properties/fields/columns.

      For example, [“Seebeck coefficient”, “Band gap”]. If unsure +about the exact words, capitalization, etc try something like +[“gap”] and “max_results”: 3 and print_properties_options=True +to see the exact options for this field

      +
      +
      common_fields ([str]): fields that are common to all the requested

      properties. Common example can be “chemicalFormula”. Look for +suggested common fields after a quick query for more info

      +
      +
      secondary_fields (bool): if True, fields not included in properties

      may be added to the output (e.g. references). Recommended only +if len(properties)==1

      +
      +
      print_properties_options (bool): whether to print available options

      for “properties” and “common_fields” arguments.

      +
      +
      +
      +
      +

      Returns: (object) Pandas dataframe object containing the results

      +
      + +
      + +
      +
      +matminer.data_retrieval.retrieve_Citrine.get_value(dict_item)
      +
      + +
      +
      +matminer.data_retrieval.retrieve_Citrine.parse_scalars(scalars)
      +
      + +
      +
      +

      matminer.data_retrieval.retrieve_MDF module

      +
      +
      +class matminer.data_retrieval.retrieve_MDF.MDFDataRetrieval(anonymous=False, **kwargs)
      +

      Bases: BaseDataRetrieval

      +

      MDFDataRetrieval is used to retrieve data from the Materials Data Facility +database and convert them into a Pandas DataFrame. Note that invocation +with full access to MDF will require authentication (see api_link) but an +anonymous mode is supported, which can be used with anonymous=True as a +keyword arg.

      +
      +
      Examples:

      >>>mdf_dr = MDFDataRetrieval(anonymous=True) +>>>results = mdf_dr.get_dataframe({“elements”:[“Ag”, “Be”], “source_names”: [“oqmd”]})

      +

      >>>results = mdf_dr.get_dataframe({“source_names”: [“oqmd”], +>>> “match_ranges”: {“oqmd.band_gap.value”: [4.0, “*”]}})

      +
      +
      +

      If you use this data retrieval class, please additionally cite: +Blaiszik, B., Chard, K., Pruyne, J., Ananthakrishnan, R., Tuecke, S., +Foster, I., 2016. The Materials Data Facility: Data Services to Advance +Materials Science Research. JOM 68, 2045–2052. +https://doi.org/10.1007/s11837-016-2001-3

      +
      +
      +__init__(anonymous=False, **kwargs)
      +
      +
      Args:
      +
      anonymous (bool): whether to use anonymous login (i. e. no

      globus authentication)

      +
      +
      **kwargs: kwargs for Forge, including index (globus search index

      to search on), local_ep, anonymous

      +
      +
      +
      +
      +
      + +
      + +

      The link to comprehensive API documentation or data source.

      +
      +
      Returns:

      (str): A link to the API documentation for this DataRetrieval class.

      +
      +
      +
      + +
      +
      +citations()
      +

      Retrieve a list of formatted strings of bibtex citations which +should be cited when using a data retrieval method.

      +
      +
      Returns:

      ([str]): Bibtext formatted entries

      +
      +
      +
      + +
      +
      +get_data(squery, unwind_arrays=True, **kwargs)
      +

      Gets a dataframe from the MDF API from an explicit string +query (rather than input args like get_dataframe).

      +
      +
      Args:

      squery (str): String for explicit query +unwind_arrays (bool): whether or not to unwind arrays in

      +
      +

      flattening docs for dataframe

      +
      +

      **kwargs: kwargs for query

      +
      +
      Returns:

      dataframe corresponding to query

      +
      +
      +
      + +
      +
      +get_dataframe(criteria, properties=None, unwind_arrays=True)
      +

      Retrieves data from the MDF API and formats it as a Pandas Dataframe

      +
      +
      Args:
      +
      criteria (dict): options for keys are

      source_names ([str]): source names to include, e. g. [“oqmd”] +elements ([str]): elements to include, e. g. [“Ag”, “Si”] +titles ([str]): titles to include, e. g. [“Coarsening of a

      +
      +

      semisolid Al-Cu alloy”]

      +
      +

      tags ([str]): tags to include, e. g. [“outcar”] +resource_types ([str]): resources to include, e. g. [“record”] +match_fields ({}): field-value mappings to include, e. g.

      +
      +

      {“oqmd.converged”: True}

      +
      +
      +
      exclude_fields ({}): field-value mappings to exclude, e. g.

      {“oqmd.converged”: False}

      +
      +
      match_ranges ({}): field-range mappings to include, e. g.

      {“oqmd.band_gap.value”: [1, 5]}, use “*” for no lower +or upper bound, e. g. {“oqdm.band_gap.value”: [1, “*”]},

      +
      +
      exclude_ranges ({}): field-range mapping to exclude,

      {“oqmd.band_gap.value”: [3, “*”]} to exclude all +results with band gap higher than 3.

      +
      +
      raw (bool): whether or not to return raw (non-dataframe)

      output, defaults to False

      +
      +
      +
      +
      unwind_arrays (bool): whether or not to unwind arrays in

      flattening docs for dataframe

      +
      +
      +
      +
      Returns (pandas.DataFrame):

      DataFrame corresponding to all documents from aggregated query

      +
      +
      +
      + +
      + +
      +
      +matminer.data_retrieval.retrieve_MDF.make_dataframe(docs, unwind_arrays=True)
      +

      Formats raw docs returned from MDF API search into a dataframe

      +
      +
      Args:
      +
      docs [{}]: list of documents from forge search

      or aggregation

      +
      +
      +
      +
      +

      Returns: DataFrame corresponding to formatted docs

      +
      + +
      +
      +

      matminer.data_retrieval.retrieve_MP module

      -
      -class matminer.data_retrieval.retrieve_MP.MPDataRetrieval(api_key=None)
      -

      Bases: matminer.data_retrieval.retrieve_base.BaseDataRetrieval

      +
      +class matminer.data_retrieval.retrieve_MP.MPDataRetrieval(api_key=None)
      +

      Bases: BaseDataRetrieval

      Retrieves data from the Materials Project database.

      If you use this data retrieval class, please additionally cite:

      Ong, S.P., Cholia, S., Jain, A., Brafman, M., Gunter, D., Ceder, G., @@ -86,8 +498,8 @@

      matminer.data_retrieval.retrieve_MDF modulehttps://doi.org/10.1016/j.commatsci.2014.10.037

      -
      -__init__(api_key=None)
      +
      +__init__(api_key=None)
      Args:
      api_key: (str) Your Materials Project API key, or None if you’ve

      set up your pymatgen config.

      @@ -98,8 +510,8 @@

      matminer.data_retrieval.retrieve_MDF module - +

      The link to comprehensive API documentation or data source.

      Returns:

      (str): A link to the API documentation for this DataRetrieval class.

      @@ -108,8 +520,8 @@

      matminer.data_retrieval.retrieve_MDF module -
      -citations()
      +
      +citations()

      Retrieve a list of formatted strings of bibtex citations which should be cited when using a data retrieval method.

      @@ -119,8 +531,8 @@

      matminer.data_retrieval.retrieve_MDF module -
      -get_data(criteria, properties, mp_decode=True, index_mpid=True)
      +
      +get_data(criteria, properties, mp_decode=True, index_mpid=True)
      Args:
      criteria: (str/dict) see MPRester.query() for a description of this

      parameter. String examples: “mp-1234”, “Fe2O3”, “Li-Fe-O’, @@ -141,8 +553,8 @@

      matminer.data_retrieval.retrieve_MDF module -
      -get_dataframe(criteria, properties, index_mpid=True, **kwargs)
      +
      +get_dataframe(criteria, properties, index_mpid=True, **kwargs)

      Gets data from MP in a dataframe format. See api_link for more details.

      Args:

      criteria (dict): the same as in get_data @@ -162,8 +574,8 @@

      matminer.data_retrieval.retrieve_MDF module -
      -try_get_prop_by_material_id(prop, material_id_list, **kwargs)
      +
      +try_get_prop_by_material_id(prop, material_id_list, **kwargs)

      Call the relevant get_prop_by_material_id. “prop” is a property such as bandstructure that is not readily available in supported properties of the get_data function but via the get_bandstructure_by_material_id @@ -188,19 +600,200 @@

      matminer.data_retrieval.retrieve_MDF module -

      matminer.data_retrieval.retrieve_MPDS module

      -

      -
      -

      matminer.data_retrieval.retrieve_MongoDB module

      + +
      +

      matminer.data_retrieval.retrieve_MPDS module

      +

      Warning: +This retrieval class is to be deprecated in favor of the mpds_client library +pip install mpds_client (https://pypi.org/project/mpds-client), +which is fully compatible with matminer

      +
      +
      +exception matminer.data_retrieval.retrieve_MPDS.APIError(msg, code=0)
      +

      Bases: Exception

      +

      Simple error handling

      +
      +
      +__init__(msg, code=0)
      +
      + +
      +
      -
      -class matminer.data_retrieval.retrieve_MongoDB.MongoDataRetrieval(coll)
      -

      Bases: matminer.data_retrieval.retrieve_base.BaseDataRetrieval

      +
      +class matminer.data_retrieval.retrieve_MPDS.MPDSDataRetrieval(api_key=None, endpoint=None)
      +

      Bases: BaseDataRetrieval

      +

      Retrieves data from Materials Platform for Data Science (MPDS). +See api_link for more information.

      +

      Usage: +$>export MPDS_KEY=…

      +

      client = MPDSDataRetrieval()

      +

      dataframe = client.get_dataframe({“formula”:”SrTiO3”, “props”:”phonons”})

      +

      or +jsonobj = client.get_data(

      +
      +

      {“formula”:”SrTiO3”, “sgs”: 99, “props”:”atomic properties”}, +fields={

      +
      +

      ‘S’:[“entry”, “cell_abc”, “sg_n”, “basis_noneq”, “els_noneq”]

      +
      +

      }

      +
      +

      )

      +

      or +jsonobj = client.get_data({“formula”:”SrTiO3”}, fields={})

      +

      If you use this data retrieval class, please additionally cite: +Blokhin, E., Villars, P., 2018. The PAULING FILE Project and Materials +Platform for Data Science: From Big Data Toward Materials Genome, +in: Andreoni, W., Yip, S. (Eds.), Handbook of Materials Modeling: +Methods: Theory and Modeling. Springer International Publishing, Cham, +pp. 1-26. https://doi.org/10.1007/978-3-319-42913-7_62-2

      -
      -__init__(coll)
      +
      +__init__(api_key=None, endpoint=None)
      +

      MPDS API consumer constructor

      +
      +
      Args:

      api_key: (str) The MPDS API key, or None if the MPDS_KEY envvar is set +endpoint: (str) MPDS API gateway URL

      +
      +
      +

      Returns: None

      +
      + +
      + +

      The link to comprehensive API documentation or data source.

      +
      +
      Returns:

      (str): A link to the API documentation for this DataRetrieval class.

      +
      +
      +
      + +
      +
      +chillouttime = 2
      +
      + +
      +
      +citations()
      +

      Retrieve a list of formatted strings of bibtex citations which +should be cited when using a data retrieval method.

      +
      +
      Returns:

      ([str]): Bibtext formatted entries

      +
      +
      +
      + +
      +
      +static compile_crystal(datarow, flavor='pmg')
      +

      Helper method for representing the MPDS crystal structures in two flavors: +either as a Pymatgen Structure object, or as an ASE Atoms object.

      +

      Attention! These two flavors are not compatible, e.g. +primitive vs. crystallographic cell is defaulted, +atoms wrapped or non-wrapped into the unit cell, etc.

      +

      Note, that the crystal structures are not retrieved by default, +so one needs to specify the fields while retrieval:

      +
      +
        +
      • cell_abc

      • +
      • sg_n

      • +
      • basis_noneq

      • +
      • els_noneq

      • +
      +
      +

      e.g. like this: {‘S’:[‘cell_abc’, ‘sg_n’, ‘basis_noneq’, ‘els_noneq’]} +NB. occupancies are not considered.

      +
      +
      Args:
      +
      datarow: (list) Required data to construct crystal structure:

      [cell_abc, sg_n, basis_noneq, els_noneq]

      +
      +
      +

      flavor: (str) Either “pmg”, or “ase”

      +
      +
      Returns:
        +
      • if flavor is pmg, Pymatgen Structure object

      • +
      • if flavor is ase, ASE Atoms object

      • +
      +
      +
      +
      + +
      +
      +default_properties = ('Phase', 'Formula', 'SG', 'Entry', 'Property', 'Units', 'Value')
      +
      + +
      +
      +endpoint = 'https://api.mpds.io/v0/download/facet'
      +
      + +
      +
      +get_data(criteria, phases=None, fields=None)
      +

      Retrieve data in JSON. +JSON is expected to be valid against the schema +at http://developer.mpds.io/mpds.schema.json

      +
      +
      Args:
      +
      criteria (dict): Search query like {“categ_A”: “val_A”, “categ_B”: “val_B”},

      documented at http://developer.mpds.io/#Categories +example: criteria={“elements”: “K-Ag”, “classes”: “iodide”,

      +
      +

      “props”: “heat capacity”, “lattices”: “cubic”}

      +
      +
      +
      +

      phases (list): Phase IDs, according to the MPDS distinct phases concept +fields (dict): Data of interest for C-, S-, and P-entries,

      +
      +

      e.g. for phase diagrams: {‘C’: [‘naxes’, ‘arity’, ‘shapes’]}, +documented at http://developer.mpds.io/#JSON-schemata

      +
      +
      +
      Returns:

      List of dicts: C-, S-, and P-entries, the format is +documented at http://developer.mpds.io/#JSON-schemata

      +
      +
      +
      + +
      +
      +get_dataframe(criteria, properties=('Phase', 'Formula', 'SG', 'Entry', 'Property', 'Units', 'Value'), **kwargs)
      +

      Retrieve data as a Pandas dataframe.

      +
      +
      Args:

      criteria (dict): the same as criteria in get_data +properties ([str]): list of properties/titles to be included +**kwargs: other keyword arguments available in get_data

      +
      +
      +

      Returns: (object) Pandas DataFrame object containing the results

      +
      + +
      +
      +maxnpages = 100
      +
      + +
      +
      +pagesize = 1000
      +
      + +
      + +
      +
      +

      matminer.data_retrieval.retrieve_MongoDB module

      +
      +
      +class matminer.data_retrieval.retrieve_MongoDB.MongoDataRetrieval(coll)
      +

      Bases: BaseDataRetrieval

      +
      +
      +__init__(coll)

      Retrieves data from a MongoDB collection to a pandas.Dataframe object

      Args:

      coll: A MongoDB collection object

      @@ -209,8 +802,8 @@

      matminer.data_retrieval.retrieve_MPDS module - +

      The link to comprehensive API documentation or data source.

      Returns:

      (str): A link to the API documentation for this DataRetrieval class.

      @@ -219,8 +812,8 @@

      matminer.data_retrieval.retrieve_MPDS module -
      -get_dataframe(criteria, properties=None, limit=0, sort=None, idx_field=None, strict=False)
      +
      +get_dataframe(criteria, properties=None, limit=0, sort=None, idx_field=None, strict=False)
      Args:

      criteria: (dict) - a pymongo-style query to filter data records properties: ([str] or None) - a list of str fields to retrieve;

      @@ -243,8 +836,8 @@

      matminer.data_retrieval.retrieve_MPDS module -
      -matminer.data_retrieval.retrieve_MongoDB.clean_projection(projection)
      +
      +matminer.data_retrieval.retrieve_MongoDB.clean_projection(projection)

      Projecting on e.g. ‘a.b.’ and ‘a’ is disallowed in MongoDb, so project inclusively. See unit tests for examples of what this is doing.

      @@ -254,13 +847,13 @@

      matminer.data_retrieval.retrieve_MPDS module -
      -matminer.data_retrieval.retrieve_MongoDB.is_int(x)
      +
      +matminer.data_retrieval.retrieve_MongoDB.is_int(x)

      -
      -matminer.data_retrieval.retrieve_MongoDB.remove_ints(projection)
      +
      +matminer.data_retrieval.retrieve_MongoDB.remove_ints(projection)

      Transforms a string like “a.1.x” to “a.x” - for Mongo projection purposes

      Args:

      projection: (str) the projection to remove ints from

      @@ -269,13 +862,13 @@

      matminer.data_retrieval.retrieve_MPDS module -

      matminer.data_retrieval.retrieve_base module

      +

      +
      +

      matminer.data_retrieval.retrieve_base module

      -
      -class matminer.data_retrieval.retrieve_base.BaseDataRetrieval
      -

      Bases: object

      +
      +class matminer.data_retrieval.retrieve_base.BaseDataRetrieval
      +

      Bases: object

      Abstract class to retrieve data from various material APIs while adhering to a quasi-standard format for querying.

      ## Implementing a new DataRetrieval class

      @@ -326,8 +919,8 @@

      matminer.data_retrieval.retrieve_MPDS modulehttps://google.github.io/styleguide/pyguide.html).

      - +

      The link to comprehensive API documentation or data source.

      Returns:

      (str): A link to the API documentation for this DataRetrieval class.

      @@ -336,8 +929,8 @@

      matminer.data_retrieval.retrieve_MPDS module -
      -citations()
      +
      +citations()

      Retrieve a list of formatted strings of bibtex citations which should be cited when using a data retrieval method.

      @@ -347,8 +940,8 @@

      matminer.data_retrieval.retrieve_MPDS module -
      -get_dataframe(criteria, properties, **kwargs)
      +
      +get_dataframe(criteria, properties, **kwargs)

      Retrieve a dataframe of properties from the database which satisfy criteria.

      @@ -369,11 +962,11 @@

      matminer.data_retrieval.retrieve_MPDS module -

      Module contents

      -

      -
      + +
      +

      Module contents

      +
      +
      @@ -382,23 +975,111 @@

      matminer.data_retrieval.retrieve_MPDS module
      -

      Table of Contents

      -

      @@ -429,14 +1110,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.data_retrieval.tests.html b/docs/matminer.data_retrieval.tests.html index 7ea5d43e3..186d10123 100644 --- a/docs/matminer.data_retrieval.tests.html +++ b/docs/matminer.data_retrieval.tests.html @@ -1,18 +1,20 @@ - + - - matminer.data_retrieval.tests package — matminer 0.7.8 documentation - - - + + + matminer.data_retrieval.tests package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -38,74 +40,157 @@

      Navigation

      -
      -

      matminer.data_retrieval.tests package

      -
      -

      Submodules

      -
      -
      -

      matminer.data_retrieval.tests.base module

      -
      -
      -

      matminer.data_retrieval.tests.test_retrieve_AFLOW module

      -
      -
      -

      matminer.data_retrieval.tests.test_retrieve_Citrine module

      -
      -
      -

      matminer.data_retrieval.tests.test_retrieve_MDF module

      -
      -
      -

      matminer.data_retrieval.tests.test_retrieve_MP module

      +
      +

      matminer.data_retrieval.tests package

      +
      +

      Submodules

      +
      +
      +

      matminer.data_retrieval.tests.base module

      +
      +
      +

      matminer.data_retrieval.tests.test_retrieve_AFLOW module

      -
      -class matminer.data_retrieval.tests.test_retrieve_MP.MPDataRetrievalTest(methodName='runTest')
      -

      Bases: unittest.case.TestCase

      +
      +class matminer.data_retrieval.tests.test_retrieve_AFLOW.AFLOWDataRetrievalTest(methodName='runTest')
      +

      Bases: TestCase

      -
      -setUp()
      +
      +setUp()

      Hook method for setting up the test fixture before exercising it.

      -
      -test_get_data()
      +
      +test_get_data()
      -
      -
      -

      matminer.data_retrieval.tests.test_retrieve_MPDS module

      -
      -
      -

      matminer.data_retrieval.tests.test_retrieve_MongoDB module

      + +
      +

      matminer.data_retrieval.tests.test_retrieve_Citrine module

      +
      +
      +class matminer.data_retrieval.tests.test_retrieve_Citrine.CitrineDataRetrievalTest(methodName='runTest')
      +

      Bases: TestCase

      +
      +
      +setUp()
      +

      Hook method for setting up the test fixture before exercising it.

      +
      + +
      +
      +test_get_data()
      +
      + +
      +
      +test_multiple_items_in_list()
      +
      + +
      + +
      +
      +

      matminer.data_retrieval.tests.test_retrieve_MDF module

      -
      -class matminer.data_retrieval.tests.test_retrieve_MongoDB.MongoDataRetrievalTest(methodName='runTest')
      -

      Bases: pymatgen.util.testing.PymatgenTest

      +
      +class matminer.data_retrieval.tests.test_retrieve_MDF.MDFDataRetrievalTest(methodName='runTest')
      +

      Bases: TestCase

      -
      -test_cleaned_projection()
      +
      +classmethod setUpClass() None
      +

      Hook method for setting up class fixture before running tests in the class.

      +
      + +
      +
      +test_get_dataframe()
      -
      -test_get_dataframe()
      +
      +test_get_dataframe_by_query()
      -
      -test_remove_ints()
      +
      +test_make_dataframe()
      -
      -
      -

      Module contents

      -
      -
      + +
      +

      matminer.data_retrieval.tests.test_retrieve_MP module

      +
      +
      +class matminer.data_retrieval.tests.test_retrieve_MP.MPDataRetrievalTest(methodName='runTest')
      +

      Bases: TestCase

      +
      +
      +setUp()
      +

      Hook method for setting up the test fixture before exercising it.

      +
      + +
      +
      +test_get_data()
      +
      + +
      + +
      +
      +

      matminer.data_retrieval.tests.test_retrieve_MPDS module

      +
      +
      +class matminer.data_retrieval.tests.test_retrieve_MPDS.MPDSDataRetrievalTest(methodName='runTest')
      +

      Bases: TestCase

      +
      +
      +setUp()
      +

      Hook method for setting up the test fixture before exercising it.

      +
      + +
      +
      +test_valid_answer()
      +
      + +
      + +
      +
      +

      matminer.data_retrieval.tests.test_retrieve_MongoDB module

      +
      +
      +class matminer.data_retrieval.tests.test_retrieve_MongoDB.MongoDataRetrievalTest(methodName='runTest')
      +

      Bases: PymatgenTest

      +
      +
      +test_cleaned_projection()
      +
      + +
      +
      +test_get_dataframe()
      +
      + +
      +
      +test_remove_ints()
      +
      + +
      + +
      +
      +

      Module contents

      +
      +
      @@ -114,22 +199,70 @@

      matminer.data_retrieval.tests.test_retrieve_MPDS module
      @@ -160,14 +293,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.datasets.html b/docs/matminer.datasets.html index 7d409710d..8088bdca7 100644 --- a/docs/matminer.datasets.html +++ b/docs/matminer.datasets.html @@ -1,18 +1,20 @@ - + - - matminer.datasets package — matminer 0.7.8 documentation - - - + + + matminer.datasets package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - +
      @@ -38,33 +40,110 @@

      Navigation

      -
      -

      matminer.datasets package

      -
      -

      Subpackages

      +
      +

      matminer.datasets package

      +
      +

      Subpackages

      -
      -
      -

      Submodules

      -
      -
      -

      matminer.datasets.convenience_loaders module

      -
      -
      -matminer.datasets.convenience_loaders.load_boltztrap_mp(data_home=None, download_if_missing=True)
      + +
      +

      Submodules

      +
      +
      +

      matminer.datasets.convenience_loaders module

      +
      +
      +matminer.datasets.convenience_loaders.load_boltztrap_mp(data_home=None, download_if_missing=True)

      Convenience function for loading the boltztrap_mp dataset.

      Args:

      data_home (str, None): Where to look for and store the loaded dataset

      @@ -78,8 +157,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_brgoch_superhard_training(subset='all', drop_suspect=False, data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_brgoch_superhard_training(subset='all', drop_suspect=False, data_home=None, download_if_missing=True)

      Convenience function for loading the expt_formation_enthalpy dataset.

      Args:
      @@ -104,8 +183,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_castelli_perovskites(data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_castelli_perovskites(data_home=None, download_if_missing=True)

      Convenience function for loading the castelli_perovskites dataset.

      Args:

      data_home (str, None): Where to look for and store the loaded dataset

      @@ -119,8 +198,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_citrine_thermal_conductivity(room_temperature=True, data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_citrine_thermal_conductivity(room_temperature=True, data_home=None, download_if_missing=True)

      Convenience function for loading the citrine thermal conductivity dataset.

      Args:
      @@ -138,8 +217,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_dielectric_constant(include_metadata=False, data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_dielectric_constant(include_metadata=False, data_home=None, download_if_missing=True)

      Convenience function for loading the dielectric_constant dataset.

      Args:
      @@ -157,8 +236,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_double_perovskites_gap(return_lumo=False, data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_double_perovskites_gap(return_lumo=False, data_home=None, download_if_missing=True)

      Convenience function for loading the double_perovskites_gap dataset.

      Args:
      @@ -176,8 +255,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_double_perovskites_gap_lumo(data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_double_perovskites_gap_lumo(data_home=None, download_if_missing=True)

      Convenience function for loading the double_perovskites_gap_lumo dataset.

      Args:

      data_home (str, None): Where to look for and store the loaded dataset

      @@ -191,8 +270,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_elastic_tensor(version='2015', include_metadata=False, data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_elastic_tensor(version='2015', include_metadata=False, data_home=None, download_if_missing=True)

      Convenience function for loading the elastic_tensor dataset.

      Args:
      @@ -212,8 +291,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_expt_formation_enthalpy(data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_expt_formation_enthalpy(data_home=None, download_if_missing=True)

      Convenience function for loading the expt_formation_enthalpy dataset.

      Args:

      data_home (str, None): Where to look for and store the loaded dataset

      @@ -227,8 +306,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_expt_gap(data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_expt_gap(data_home=None, download_if_missing=True)

      Convenience function for loading the expt_gap dataset.me

      Args:

      data_home (str, None): Where to look for and store the loaded dataset

      @@ -242,8 +321,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_flla(data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_flla(data_home=None, download_if_missing=True)

      Convenience function for loading the flla dataset.

      Args:

      data_home (str, None): Where to look for and store the loaded dataset

      @@ -257,8 +336,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_glass_binary(version='v2', data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_glass_binary(version='v2', data_home=None, download_if_missing=True)

      Convenience function for loading the glass_binary dataset.

      Args:
      @@ -276,8 +355,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_glass_ternary_hipt(system='all', data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_glass_ternary_hipt(system='all', data_home=None, download_if_missing=True)

      Convenience function for loading the glass_ternary_hipt dataset.

      Args:
      @@ -295,8 +374,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_glass_ternary_landolt(processing='all', unique_composition=True, data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_glass_ternary_landolt(processing='all', unique_composition=True, data_home=None, download_if_missing=True)

      Convenience function for loading the glass_ternary_landolt dataset.

      Args:
      @@ -316,8 +395,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_heusler_magnetic(data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_heusler_magnetic(data_home=None, download_if_missing=True)

      Convenience function for loading the heusler magnetic dataset.

      Args:

      data_home (str, None): Where to look for and store the loaded dataset

      @@ -331,8 +410,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_jarvis_dft_2d(drop_nan_columns=None, data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_jarvis_dft_2d(drop_nan_columns=None, data_home=None, download_if_missing=True)

      Convenience function for loading the jarvis dft 2d dataset.

      Args:

      drop_nan_columns (list, str): Column or columns to drop rows @@ -348,8 +427,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_jarvis_dft_3d(drop_nan_columns=None, data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_jarvis_dft_3d(drop_nan_columns=None, data_home=None, download_if_missing=True)

      Convenience function for loading the jarvis dft 3d dataset.

      Args:

      drop_nan_columns (list, str): Column or columns to drop rows @@ -365,8 +444,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_jarvis_ml_dft_training(drop_nan_columns=None, data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_jarvis_ml_dft_training(drop_nan_columns=None, data_home=None, download_if_missing=True)

      Convenience function for loading the jarvis ml dft training dataset.

      Args:

      drop_nan_columns (list, str): Column or columns to drop rows @@ -382,8 +461,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_m2ax(data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_m2ax(data_home=None, download_if_missing=True)

      Convenience function for loading the m2ax dataset.

      Args:

      data_home (str, None): Where to look for and store the loaded dataset

      @@ -397,8 +476,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_mp(include_structures=False, data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_mp(include_structures=False, data_home=None, download_if_missing=True)

      Convenience function for loading the materials project dataset.

      Args:
      @@ -416,8 +495,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_phonon_dielectric_mp(data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_phonon_dielectric_mp(data_home=None, download_if_missing=True)

      Convenience function for loading the phonon_dielectric_mp dataset.

      Args:

      data_home (str, None): Where to look for and store the loaded dataset

      @@ -431,8 +510,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_piezoelectric_tensor(include_metadata=False, data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_piezoelectric_tensor(include_metadata=False, data_home=None, download_if_missing=True)

      Convenience function for loading the piezoelectric_tensor dataset.

      Args:
      @@ -450,8 +529,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_steel_strength(data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_steel_strength(data_home=None, download_if_missing=True)

      Convenience function for loading the steel strength dataset.

      Args:

      data_home (str, None): Where to look for and store the loaded dataset

      @@ -465,8 +544,8 @@

      Submodules -
      -matminer.datasets.convenience_loaders.load_wolverton_oxides(data_home=None, download_if_missing=True)
      +
      +matminer.datasets.convenience_loaders.load_wolverton_oxides(data_home=None, download_if_missing=True)

      Convenience function for loading the wolverton oxides dataset.

      Args:

      data_home (str, None): Where to look for and store the loaded dataset

      @@ -479,12 +558,12 @@

      Submodules -

      matminer.datasets.dataset_retrieval module

      +

      +
      +

      matminer.datasets.dataset_retrieval module

      -
      -matminer.datasets.dataset_retrieval.get_all_dataset_info(dataset_name)
      +
      +matminer.datasets.dataset_retrieval.get_all_dataset_info(dataset_name)
      Helper function to get all info for a particular dataset, including:
      -
      -

      Module contents

      -
      -
      + +
      +

      matminer.datasets.utils module

      +
      +
      +

      Module contents

      +
      +
      @@ -644,19 +723,59 @@

      Submodules

      @@ -687,14 +806,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.datasets.tests.html b/docs/matminer.datasets.tests.html index c984971a8..3f8e3da61 100644 --- a/docs/matminer.datasets.tests.html +++ b/docs/matminer.datasets.tests.html @@ -1,18 +1,20 @@ - + - - matminer.datasets.tests package — matminer 0.7.8 documentation - - - + + + matminer.datasets.tests package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -38,325 +40,325 @@

      Navigation

      -
      -

      matminer.datasets.tests package

      -
      -

      Submodules

      -
      -
      -

      matminer.datasets.tests.base module

      +
      +

      matminer.datasets.tests package

      +
      +

      Submodules

      +
      +
      +

      matminer.datasets.tests.base module

      -
      -class matminer.datasets.tests.base.DatasetTest(methodName='runTest')
      -

      Bases: unittest.case.TestCase

      +
      +class matminer.datasets.tests.base.DatasetTest(methodName='runTest')
      +

      Bases: TestCase

      -
      -setUp()
      +
      +setUp()

      Hook method for setting up the test fixture before exercising it.

      -
      -
      -

      matminer.datasets.tests.test_convenience_loaders module

      -
      -
      -

      matminer.datasets.tests.test_dataset_retrieval module

      + +
      +

      matminer.datasets.tests.test_convenience_loaders module

      +
      +
      +

      matminer.datasets.tests.test_dataset_retrieval module

      -
      -class matminer.datasets.tests.test_dataset_retrieval.DataRetrievalTest(methodName='runTest')
      -

      Bases: matminer.datasets.tests.base.DatasetTest

      +
      +class matminer.datasets.tests.test_dataset_retrieval.DataRetrievalTest(methodName='runTest')
      +

      Bases: DatasetTest

      -
      -test_get_all_dataset_info()
      +
      +test_get_all_dataset_info()
      -
      -test_get_dataset_attribute()
      +
      +test_get_dataset_attribute()
      -
      -test_get_dataset_citations()
      +
      +test_get_dataset_citations()
      -
      -test_get_dataset_column_descriptions()
      +
      +test_get_dataset_column_descriptions()
      -
      -test_get_dataset_columns()
      +
      +test_get_dataset_columns()
      -
      -test_get_dataset_description()
      +
      +test_get_dataset_description()
      -
      -test_get_dataset_num_entries()
      +
      +test_get_dataset_num_entries()
      -
      -test_get_dataset_reference()
      +
      +test_get_dataset_reference()
      -
      -test_load_dataset()
      +
      +test_load_dataset()
      -
      -test_print_available_datasets()
      +
      +test_print_available_datasets()
      -
      -
      -

      matminer.datasets.tests.test_datasets module

      + +
      +

      matminer.datasets.tests.test_datasets module

      -
      -class matminer.datasets.tests.test_datasets.DataSetsTest(methodName='runTest')
      -

      Bases: matminer.datasets.tests.base.DatasetTest

      +
      +class matminer.datasets.tests.test_datasets.DataSetsTest(methodName='runTest')
      +

      Bases: DatasetTest

      -
      -universal_dataset_check(dataset_name, object_headers=None, numeric_headers=None, bool_headers=None, test_func=None)
      +
      +universal_dataset_check(dataset_name, object_headers=None, numeric_headers=None, bool_headers=None, test_func=None)
      -
      -class matminer.datasets.tests.test_datasets.MatbenchDatasetsTest(methodName='runTest')
      -

      Bases: matminer.datasets.tests.test_datasets.DataSetsTest

      +
      +class matminer.datasets.tests.test_datasets.MatbenchDatasetsTest(methodName='runTest')
      +

      Bases: DataSetsTest

      Matbench datasets are tested here.

      -
      -test_matbench_v0_1()
      +
      +test_matbench_v0_1()
      -
      -class matminer.datasets.tests.test_datasets.MatminerDatasetsTest(methodName='runTest')
      -

      Bases: matminer.datasets.tests.test_datasets.DataSetsTest

      +
      +class matminer.datasets.tests.test_datasets.MatminerDatasetsTest(methodName='runTest')
      +

      Bases: DataSetsTest

      All datasets hosted with matminer are tested here, excluding matbench datasets.

      -
      -test_boltztrap_mp()
      +
      +test_boltztrap_mp()
      -
      -test_brgoch_superhard_training()
      +
      +test_brgoch_superhard_training()
      -
      -test_castelli_perovskites()
      +
      +test_castelli_perovskites()
      -
      -test_citrine_thermal_conductivity()
      +
      +test_citrine_thermal_conductivity()
      -
      -test_dielectric_constant()
      +
      +test_dielectric_constant()
      -
      -test_double_perovskites_gap()
      +
      +test_double_perovskites_gap()
      -
      -test_double_perovskites_gap_lumo()
      +
      +test_double_perovskites_gap_lumo()
      -
      -test_elastic_tensor_2015()
      +
      +test_elastic_tensor_2015()
      -
      -test_expt_formation_enthalpy()
      +
      +test_expt_formation_enthalpy()
      -
      -test_expt_formation_enthalpy_kingsbury()
      +
      +test_expt_formation_enthalpy_kingsbury()
      -
      -test_expt_gap()
      +
      +test_expt_gap()
      -
      -test_expt_gap_kingsbury()
      +
      +test_expt_gap_kingsbury()
      -
      -test_flla()
      +
      +test_flla()
      -
      -test_glass_binary()
      +
      +test_glass_binary()
      -
      -test_glass_binary_v2()
      +
      +test_glass_binary_v2()
      -
      -test_glass_ternary_hipt()
      +
      +test_glass_ternary_hipt()
      -
      -test_glass_ternary_landolt()
      +
      +test_glass_ternary_landolt()
      -
      -test_heusler_magnetic()
      +
      +test_heusler_magnetic()
      -
      -test_jarvis_dft_2d()
      +
      +test_jarvis_dft_2d()
      -
      -test_jarvis_dft_3d()
      +
      +test_jarvis_dft_3d()
      -
      -test_jarvis_ml_dft_training()
      +
      +test_jarvis_ml_dft_training()
      -
      -test_m2ax()
      +
      +test_m2ax()
      -
      -test_mp_all_20181018()
      +
      +test_mp_all_20181018()
      -
      -test_mp_nostruct_20181018()
      +
      +test_mp_nostruct_20181018()
      -
      -test_phonon_dielectric_mp()
      +
      +test_phonon_dielectric_mp()
      -
      -test_piezoelectric_tensor()
      +
      +test_piezoelectric_tensor()
      -
      -test_ricci_boltztrap_mp_tabular()
      +
      +test_ricci_boltztrap_mp_tabular()
      -
      -test_steel_strength()
      +
      +test_steel_strength()
      -
      -test_superconductivity2018()
      +
      +test_superconductivity2018()
      -
      -test_tholander_nitrides_e_form()
      +
      +test_tholander_nitrides_e_form()
      -
      -test_ucsb_thermoelectrics()
      +
      +test_ucsb_thermoelectrics()
      -
      -test_wolverton_oxides()
      +
      +test_wolverton_oxides()
      -
      -
      -

      matminer.datasets.tests.test_utils module

      + +
      +

      matminer.datasets.tests.test_utils module

      -
      -class matminer.datasets.tests.test_utils.UtilsTest(methodName='runTest')
      -

      Bases: matminer.datasets.tests.base.DatasetTest

      +
      +class matminer.datasets.tests.test_utils.UtilsTest(methodName='runTest')
      +

      Bases: DatasetTest

      -
      -test_fetch_external_dataset()
      +
      +test_fetch_external_dataset()
      -
      -test_get_data_home()
      +
      +test_get_data_home()
      -
      -test_get_file_sha256_hash()
      +
      +test_get_file_sha256_hash()
      -
      -test_load_dataset_dict()
      +
      +test_load_dataset_dict()
      -
      -test_read_dataframe_from_file()
      +
      +test_read_dataframe_from_file()
      -
      -test_validate_dataset()
      +
      +test_validate_dataset()
      -
      -
      -

      Module contents

      -
      -
      + +
      +

      Module contents

      +
      +
      @@ -365,20 +367,99 @@

      Submodules
      -

      Table of Contents

      -

      @@ -409,14 +490,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.featurizers.composition.html b/docs/matminer.featurizers.composition.html index 91e821493..9b3775bf9 100644 --- a/docs/matminer.featurizers.composition.html +++ b/docs/matminer.featurizers.composition.html @@ -1,18 +1,20 @@ - + - - matminer.featurizers.composition package — matminer 0.7.8 documentation - - - + + + matminer.featurizers.composition package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -38,38 +40,105 @@

      Navigation

      -
      -

      matminer.featurizers.composition package

      -
      -

      Subpackages

      +
      +

      matminer.featurizers.composition package

      +
      +

      Subpackages

      -
      -
      -

      Submodules

      -
      -
      -

      matminer.featurizers.composition.alloy module

      + +
      +

      Submodules

      +
      +
      +

      matminer.featurizers.composition.alloy module

      Composition featurizers specialized for use with alloys.

      -
      -class matminer.featurizers.composition.alloy.Miedema(struct_types='all', ss_types='min', data_source='Miedema')
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.composition.alloy.Miedema(struct_types='all', ss_types='min', data_source='Miedema')
      +

      Bases: BaseFeaturizer

      Formation enthalpies of intermetallic compounds, from Miedema et al.

      Calculate the formation enthalpies of the intermetallic compound, solid solution and amorphous phase of a given composition, based on @@ -116,14 +185,13 @@

      Submodules -
      -__init__(struct_types='all', ss_types='min', data_source='Miedema')
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(struct_types='all', ss_types='min', data_source='Miedema')
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -135,8 +203,8 @@

      Submodules -
      -deltaH_chem(elements, fracs, struct)
      +
      +deltaH_chem(elements, fracs, struct)

      Chemical term of formation enthalpy Args:

      @@ -151,8 +219,8 @@

      Submodules -
      -deltaH_elast(elements, fracs)
      +
      +deltaH_elast(elements, fracs)

      Elastic term of formation enthalpy Args:

      @@ -166,8 +234,8 @@

      Submodules -
      -deltaH_struct(elements, fracs, latt)
      +
      +deltaH_struct(elements, fracs, latt)

      Structural term of formation enthalpy, only for solid solution Args:

      @@ -182,8 +250,8 @@

      Submodules -
      -deltaH_topo(elements, fracs)
      +
      +deltaH_topo(elements, fracs)

      Topological term of formation enthalpy, only for amorphous phase Args:

      @@ -197,8 +265,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -207,8 +275,8 @@

      Submodules -
      -featurize(comp)
      +
      +featurize(comp)

      Get Miedema formation enthalpies of target structures: inter, amor, ss (can be further divided into ‘min’, ‘fcc’, ‘bcc’, ‘hcp’, ‘no_latt’

      @@ -223,8 +291,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -238,8 +306,8 @@

      Submodules -
      -precheck(c: pymatgen.core.composition.Composition)bool
      +
      +precheck(c: Composition) bool

      Precheck a single entry. Miedema does not work for compositions containing any elements for which the Miedema model has no parameters. To precheck an entire dataframe (qnd automatically gather @@ -256,9 +324,9 @@

      Submodules -
      -class matminer.featurizers.composition.alloy.WenAlloys
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.composition.alloy.WenAlloys
      +

      Bases: BaseFeaturizer

      Calculate features for alloy properties.

      Based on the work:

      “Machine learning assisted design of high entropy alloys @@ -286,14 +354,13 @@

      Submodules -
      -__init__()
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__()
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -305,8 +372,8 @@

      Submodules -
      -static compute_atomic_fraction(elements, composition)
      +
      +static compute_atomic_fraction(elements, composition)

      Get atomic fraction string.

      Args:

      elements ([pymatgen.Element or str]): List of elements @@ -318,12 +385,12 @@

      Submodules -
      -static compute_configuration_entropy(fractions)
      +
      +static compute_configuration_entropy(fractions)

      Compute the configuration entropy.

      -

      R \sum^n_{i=1} c_i \ln{c_i}

      -

      where c_i are the fraction of each element i -and R is the ideal gas constant +

      R \sum^n_{i=1} c_i \ln{c_i}

      +

      where c_i are the fraction of each element i +and R is the ideal gas constant Args:

      fractions ([float]): List of element fractions

      @@ -335,12 +402,12 @@

      Submodules -
      -static compute_delta(variable, fractions)
      +
      +static compute_delta(variable, fractions)

      Compute Yang’s delta parameter for a generic variable.

      -

      \sqrt{\sum^n_{i=1} c_i \left( 1 - \frac{v_i}{\bar{v}} \right)^2 }

      -

      where c_i and v_i are the fraction and variable of -element i, and \bar{v} is the fraction-weighted +

      \sqrt{\sum^n_{i=1} c_i \left( 1 - \frac{v_i}{\bar{v}} \right)^2 }

      +

      where c_i and v_i are the fraction and variable of +element i, and \bar{v} is the fraction-weighted average of the variable. Args:

      @@ -354,8 +421,8 @@

      Submodules -
      -compute_enthalpy(elements, fractions)
      +
      +compute_enthalpy(elements, fractions)

      Compute mixing enthalpy.

      Args:

      elements ([pymatgen.Element or str]): List of elements @@ -367,8 +434,8 @@

      Submodules -
      -static compute_gamma_radii(miracle_radius_stats)
      +
      +static compute_gamma_radii(miracle_radius_stats)
      Compute Gamma of the radii. The solid angles of the

      atomic packing for the elements with the most significant and smallest atomic sizes.

      @@ -379,7 +446,7 @@

      Submodules, r_{min} and r_{max} are the mean radii +

      where r, r_{min} and r_{max} are the mean radii min radii and max radii.

      Args:

      miracle_radius_stats (dict): Dictionary of stats for miracleradius via compute_magpie_summary

      @@ -391,8 +458,8 @@

      Submodules -
      -static compute_lambda(yang_delta, entropy)
      +
      +static compute_lambda(yang_delta, entropy)
      Args:

      yang_delta (float): Yang Solid Solution Delta entropy (float): Configuration entropy

      @@ -403,16 +470,16 @@

      Submodules -
      -static compute_local_mismatch(variable, fractions)
      +
      +static compute_local_mismatch(variable, fractions)

      Compute local mismatch of a given variable.

      :math:`sum^n_{i=1} sum^n_{j=1,i

      eq j} c_i c_j | v_i - v_j |^2`

      -

      where c_{i,j} and v_{i,j} are the fraction and variable of -element i,j. +

      where c_{i,j} and v_{i,j} are the fraction and variable of +element i,j. Args:

      variable (list): List of properties to asses @@ -426,8 +493,8 @@

      Submodules -
      -compute_magpie_summary(attribute_name, elements, fractions)
      +
      +compute_magpie_summary(attribute_name, elements, fractions)

      Get limited list of weighted statistics according to magpie data.

      Args:

      attribute_name (str): Name of magpie attribute to retrieve @@ -440,8 +507,8 @@

      Submodules -
      -static compute_strength_local_mismatch_shear(shear_modulus, mean_shear_modulus, fractions)
      +
      +static compute_strength_local_mismatch_shear(shear_modulus, mean_shear_modulus, fractions)

      The local mismatch of the shear values.

      :math:`sum^n_{i=1}

      @@ -451,8 +518,8 @@

      Submodules, :math:’G’ and G_{i} are the fraction, mean shear modulus and shear modulus of -element i. +

      where c_{i}, :math:’G’ and G_{i} are the fraction, mean shear modulus and shear modulus of +element i. Args:

      shear_modulus ([float]): List of shear moduli of elements @@ -467,8 +534,8 @@

      Submodules -
      -static compute_weight_fraction(elements, composition)
      +
      +static compute_weight_fraction(elements, composition)

      Get weight fraction string.

      Args:

      elements ([pymatgen.Element or str]): List of elements @@ -480,8 +547,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -490,8 +557,8 @@

      Submodules -
      -featurize(comp)
      +
      +featurize(comp)

      Get elemental property attributes Args:

      @@ -504,8 +571,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -519,8 +586,8 @@

      Submodules -
      -precheck(comp)
      +
      +precheck(comp)

      Precheck (provide an estimate of whether a featurizer will work or not) for a single entry (e.g., a single composition). If the entry fails the precheck, it will most likely fail featurization; if it passes, it is @@ -556,9 +623,9 @@

      Submodules -
      -class matminer.featurizers.composition.alloy.YangSolidSolution
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.composition.alloy.YangSolidSolution
      +

      Bases: BaseFeaturizer

      Mixing thermochemistry and size mismatch terms of Yang and Zhang (2012)

      This featurizer returns two different features developed by .. Yang and Zhang https://linkinghub.elsevier.com/retrieve/pii/S0254058411009357 @@ -574,14 +641,13 @@

      Submodules -
      -__init__()
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__()
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -593,12 +659,12 @@

      Submodules -
      -compute_delta(comp)
      +
      +compute_delta(comp)

      Compute Yang’s delta parameter

      -

      \sqrt{\sum^n_{i=1} c_i \left( 1 - \frac{r_i}{\bar{r}} \right)^2 }

      -

      where c_i and r_i are the fraction and radius of -element i, and \bar{r} is the fraction-weighted +

      \sqrt{\sum^n_{i=1} c_i \left( 1 - \frac{r_i}{\bar{r}} \right)^2 }

      +

      where c_i and r_i are the fraction and radius of +element i, and \bar{r} is the fraction-weighted average of the radii. We use the radii compiled by .. Miracle et al. https://www.tandfonline.com/doi/ref/10.1179/095066010X12646898728200?scroll=top.

      @@ -610,13 +676,13 @@

      Submodules -
      -compute_omega(comp)
      +
      +compute_omega(comp)

      Compute Yang’s mixing thermodynamics descriptor

      -

      \frac{T_m \Delta S_{mix}}{ |  \Delta H_{mix} | }

      -

      Where T_m is average melting temperature, -\Delta S_{mix} is the ideal mixing entropy, -and \Delta H_{mix} is the average mixing enthalpies +

      \frac{T_m \Delta S_{mix}}{ | \Delta H_{mix} | }

      +

      Where T_m is average melting temperature, +\Delta S_{mix} is the ideal mixing entropy, +and \Delta H_{mix} is the average mixing enthalpies of all pairs of elements in the alloy

      Args:

      comp (Composition) - Composition to featurizer

      @@ -627,8 +693,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -637,8 +703,8 @@

      Submodules -
      -featurize(comp)
      +
      +featurize(comp)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -650,8 +716,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -665,8 +731,8 @@

      Submodules -
      -precheck(c: pymatgen.core.composition.Composition)bool
      +
      +precheck(c: Composition) bool

      Precheck a single entry. YangSolidSolution does not work for compositions containing any binary element combinations for which the model has no parameters. We can nearly equivalently approximate this by checking @@ -684,14 +750,14 @@

      Submodules -

      matminer.featurizers.composition.composite module

      +

      +
      +

      matminer.featurizers.composition.composite module

      Composition featurizers for composite features containing more than 1 category of general-purpose data.

      -
      -class matminer.featurizers.composition.composite.ElementProperty(data_source, features, stats)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.composition.composite.ElementProperty(data_source, features, stats)
      +

      Bases: BaseFeaturizer

      Class to calculate elemental property attributes.

      To initialize quickly, use the from_preset() method.

      Features: Based on the statistics of the data_source chosen, computed @@ -716,14 +782,13 @@

      Submodules -
      -__init__(data_source, features, stats)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(data_source, features, stats)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -735,8 +800,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -745,8 +810,8 @@

      Submodules -
      -featurize(comp)
      +
      +featurize(comp)

      Get elemental property attributes

      Args:

      comp: Pymatgen composition object

      @@ -757,8 +822,8 @@

      Submodules -
      -classmethod from_preset(preset_name)
      +
      +classmethod from_preset(preset_name)

      Return ElementProperty from a preset string Args:

      @@ -774,8 +839,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -791,9 +856,9 @@

      Submodules -
      -class matminer.featurizers.composition.composite.Meredig
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.composition.composite.Meredig
      +

      Bases: BaseFeaturizer

      Class to calculate features as defined in Meredig et. al.

      Features:

      Atomic fraction of each of the first 103 elements, in order of atomic number. @@ -810,14 +875,13 @@

      Submodules -
      -__init__()
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__()
      +

      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -829,8 +893,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -839,8 +903,8 @@

      Submodules -
      -featurize(comp)
      +
      +featurize(comp)

      Get elemental property attributes

      Args:

      comp: Pymatgen composition object

      @@ -851,8 +915,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -867,14 +931,14 @@

      Submodules -

      matminer.featurizers.composition.element module

      +

      +
      +

      matminer.featurizers.composition.element module

      Composition featurizers for elemental data and stoichiometry.

      -
      -class matminer.featurizers.composition.element.BandCenter
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.composition.element.BandCenter
      +

      Bases: BaseFeaturizer

      Estimation of absolute position of band center using electronegativity.

      Features
      +
      +

      matminer.featurizers.composition.ion module

      Composition featurizers for compositions with ionic data.

      -
      -class matminer.featurizers.composition.ion.CationProperty(data_source, features, stats)
      -

      Bases: matminer.featurizers.composition.composite.ElementProperty

      +
      +class matminer.featurizers.composition.ion.CationProperty(data_source, features, stats)
      +

      Bases: ElementProperty

      Features based on properties of cations in a material

      Requires that oxidation states have already been determined. Property statistics weighted by composition.

      @@ -1160,8 +1221,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1173,8 +1234,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1183,8 +1244,8 @@

      Submodules -
      -featurize(comp)
      +
      +featurize(comp)

      Get elemental property attributes

      Args:

      comp: Pymatgen composition object

      @@ -1195,8 +1256,8 @@

      Submodules -
      -classmethod from_preset(preset_name)
      +
      +classmethod from_preset(preset_name)

      Return ElementProperty from a preset string Args:

      @@ -1214,21 +1275,20 @@

      Submodules -
      -class matminer.featurizers.composition.ion.ElectronAffinity
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.composition.ion.ElectronAffinity
      +

      Bases: BaseFeaturizer

      Calculate average electron affinity times formal charge of anion elements. Note: The formal charges must already be computed before calling featurize. Generates average (electron affinity*formal charge) of anions.

      -
      -__init__()
      -

      Initialize self. See help(type(self)) for accurate signature.

      -
      +
      +__init__()
      +

      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1240,8 +1300,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1250,8 +1310,8 @@

      Submodules -
      -featurize(comp)
      +
      +featurize(comp)
      Args:

      comp: (Composition) Composition to be featurized

      @@ -1261,8 +1321,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1278,9 +1338,9 @@

      Submodules -
      -class matminer.featurizers.composition.ion.ElectronegativityDiff(stats=None)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.composition.ion.ElectronegativityDiff(stats=None)
      +

      Bases: BaseFeaturizer

      Features from electronegativity differences between anions and cations.

      These features are computed by first determining the concentration-weighted average electronegativity of the anions. For example, the average @@ -1296,14 +1356,13 @@

      Submodules -
      -__init__(stats=None)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(stats=None)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1315,8 +1374,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1325,8 +1384,8 @@

      Submodules -
      -featurize(comp)
      +
      +featurize(comp)
      Args:

      comp: Pymatgen Composition object

      @@ -1336,8 +1395,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1353,13 +1412,13 @@

      Submodules -
      -class matminer.featurizers.composition.ion.IonProperty(data_source=<matminer.utils.data.PymatgenData object>, fast=False)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.composition.ion.IonProperty(data_source=<matminer.utils.data.PymatgenData object>, fast=False)
      +

      Bases: BaseFeaturizer

      Ionic property attributes. Similar to ElementProperty.

      -
      -__init__(data_source=<matminer.utils.data.PymatgenData object>, fast=False)
      +
      +__init__(data_source=<matminer.utils.data.PymatgenData object>, fast=False)
      Args:
      @@ -1377,8 +1436,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1390,8 +1449,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1400,8 +1459,8 @@

      Submodules -
      -featurize(comp)
      +
      +featurize(comp)

      Ionic character attributes

      Args:

      comp: (Composition) Composition to be featurized

      @@ -1414,8 +1473,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1431,14 +1490,14 @@

      Submodules -
      -class matminer.featurizers.composition.ion.OxidationStates(stats=None)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.composition.ion.OxidationStates(stats=None)
      +

      Bases: BaseFeaturizer

      Statistics about the oxidation states for each specie. Features are concentration-weighted statistics of the oxidation states.

      -
      -__init__(stats=None)
      +
      +__init__(stats=None)
      Args:

      stats - (list of string), which statistics compute

      @@ -1446,8 +1505,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1459,8 +1518,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1469,8 +1528,8 @@

      Submodules -
      -featurize(comp)
      +
      +featurize(comp)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -1482,13 +1541,13 @@

      Submodules -
      -classmethod from_preset(preset_name)
      +
      +classmethod from_preset(preset_name)

      -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1504,8 +1563,8 @@

      Submodules -
      -matminer.featurizers.composition.ion.is_ionic(comp)
      +
      +matminer.featurizers.composition.ion.is_ionic(comp)

      Determines whether a compound is an ionic compound.

      Looks at the oxidation states of each site and checks if both anions and cations exist

      @@ -1516,14 +1575,14 @@

      Submodules -

      matminer.featurizers.composition.orbital module

      +

      +
      +

      matminer.featurizers.composition.orbital module

      Composition featurizers for orbital data.

      -
      -class matminer.featurizers.composition.orbital.AtomicOrbitals
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.composition.orbital.AtomicOrbitals
      +

      Bases: BaseFeaturizer

      Determine HOMO/LUMO features based on a composition.

      The highest occupied molecular orbital (HOMO) and lowest unoccupied molecular orbital (LUMO) are estiated from the atomic orbital energies @@ -1537,8 +1596,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1550,8 +1609,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1560,8 +1619,8 @@

      Submodules -
      -featurize(comp)
      +
      +featurize(comp)
      Args:
      comp: (Composition)

      pymatgen Composition object

      @@ -1583,8 +1642,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1600,9 +1659,9 @@

      Submodules -
      -class matminer.featurizers.composition.orbital.ValenceOrbital(orbitals='s', 'p', 'd', 'f', props='avg', 'frac')
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.composition.orbital.ValenceOrbital(orbitals=('s', 'p', 'd', 'f'), props=('avg', 'frac'))
      +

      Bases: BaseFeaturizer

      Attributes of valence orbital shells

      Args:

      data_source (data object): source from which to retrieve element data @@ -1614,14 +1673,13 @@

      Submodules -
      -__init__(orbitals='s', 'p', 'd', 'f', props='avg', 'frac')
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(orbitals=('s', 'p', 'd', 'f'), props=('avg', 'frac'))
      +

      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1633,8 +1691,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1643,8 +1701,8 @@

      Submodules -
      -featurize(comp)
      +
      +featurize(comp)

      Weighted fraction of valence electrons in each orbital

      Args:

      comp: Pymatgen composition object

      @@ -1658,8 +1716,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1674,14 +1732,14 @@

      Submodules -

      matminer.featurizers.composition.packing module

      +

      +
      +

      matminer.featurizers.composition.packing module

      Composition featurizers for determining packing characteristics.

      -
      -class matminer.featurizers.composition.packing.AtomicPackingEfficiency(threshold=0.01, n_nearest=1, 3, 5, max_types=6)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.composition.packing.AtomicPackingEfficiency(threshold=0.01, n_nearest=(1, 3, 5), max_types=6)
      +

      Bases: BaseFeaturizer

      Packing efficiency based on a geometric theory of the amorphous packing of hard spheres.

      This featurizer computes two different kinds of the features. The first @@ -1713,8 +1771,8 @@

      Submodules -
      -__init__(threshold=0.01, n_nearest=1, 3, 5, max_types=6)
      +
      +__init__(threshold=0.01, n_nearest=(1, 3, 5), max_types=6)

      Initialize the featurizer

      Args:
      @@ -1732,8 +1790,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1745,13 +1803,13 @@

      Submodules -
      -compute_nearest_cluster_distance(comp)
      +
      +compute_nearest_cluster_distance(comp)

      Compute the distance between a composition and that the nearest efficiently-packed clusters.

      -

      Measures the mean L_2 distance between the alloy composition -and the k-nearest clusters with Atomic Packing Efficiencies -within the user-specified tolerance of 1. k is any of the +

      Measures the mean L_2 distance between the alloy composition +and the k-nearest clusters with Atomic Packing Efficiencies +within the user-specified tolerance of 1. k is any of the numbers defined in the “n_nearest” parameter of this class.

      If there are less than k efficient clusters in the system, we use the maximum distance between any two compositions (1) for the @@ -1765,8 +1823,8 @@

      Submodules -
      -compute_simultaneous_packing_efficiency(comp)
      +
      +compute_simultaneous_packing_efficiency(comp)

      Compute the packing efficiency of the system when the neighbor shell of each atom has the same composition as the alloy. When this criterion is satisfied, it is possible for every atom in this system @@ -1781,8 +1839,8 @@

      Submodules -
      -create_cluster_lookup_tool(elements)
      +
      +create_cluster_lookup_tool(elements)

      Get the compositions of efficiently-packed clusters in a certain system of elements

      @@ -1797,8 +1855,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1807,8 +1865,8 @@

      Submodules -
      -featurize(comp)
      +
      +featurize(comp)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -1820,14 +1878,14 @@

      Submodules -
      -find_ideal_cluster_size(radius_ratio)
      +
      +find_ideal_cluster_size(radius_ratio)

      Get the optimal cluster size for a certain radius ratio

      -

      Finds the number of nearest neighbors n that minimizes -|1 - rp(n)/r|, where rp(n) is the ideal radius -ratio for a certain n and r is the actual ratio.

      +

      Finds the number of nearest neighbors n that minimizes +|1 - rp(n)/r|, where rp(n) is the ideal radius +ratio for a certain n and r is the actual ratio.

      -
      Args:

      radius_ratio (float): r / r_{neighbor}

      +
      Args:

      radius_ratio (float): r / r_{neighbor}

      Returns:

      (int) number of neighboring atoms for that will be the most efficiently packed. @@ -1837,22 +1895,22 @@

      Submodules -
      -get_ideal_radius_ratio(n_neighbors)
      +
      +get_ideal_radius_ratio(n_neighbors)

      Compute the idea ratio between the central atom and neighboring atoms for a neighbor with a certain number of nearest neighbors.

      Based on work by Miracle, Lord, and Ranganathan.

      Args:

      n_neighbors (int): Number of atoms in 1st NN shell

      -
      Return:

      (float) ideal radius ratio r / r_{neighbor}

      +
      Return:

      (float) ideal radius ratio r / r_{neighbor}

      -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1867,14 +1925,14 @@

      Submodules -

      matminer.featurizers.composition.thermo module

      +

      +
      +

      matminer.featurizers.composition.thermo module

      Composition featurizers for thermodynamic properties.

      -
      -class matminer.featurizers.composition.thermo.CohesiveEnergy(mapi_key=None)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.composition.thermo.CohesiveEnergy(mapi_key=None)
      +

      Bases: BaseFeaturizer

      Cohesive energy per atom using elemental cohesive energies and formation energy.

      Get cohesive energy per atom of a compound by adding known @@ -1889,14 +1947,13 @@

      Submodules -
      -__init__(mapi_key=None)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(mapi_key=None)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1908,8 +1965,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1918,8 +1975,8 @@

      Submodules -
      -featurize(comp, formation_energy_per_atom=None)
      +
      +featurize(comp, formation_energy_per_atom=None)
      Args:

      comp: (pymatgen.Composition): A composition formation_energy_per_atom: (float) the formation energy per atom of

      @@ -1932,8 +1989,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1949,9 +2006,9 @@

      Submodules -
      -class matminer.featurizers.composition.thermo.CohesiveEnergyMP(mapi_key=None)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.composition.thermo.CohesiveEnergyMP(mapi_key=None)
      +

      Bases: BaseFeaturizer

      Cohesive energy per atom lookup using Materials Project

      Parameters:
      @@ -1961,14 +2018,13 @@

      Submodules -
      -__init__(mapi_key=None)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(mapi_key=None)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1980,8 +2036,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1990,8 +2046,8 @@

      Submodules -
      -featurize(comp)
      +
      +featurize(comp)
      Args:

      comp: (str) compound composition, eg: “NaCl”

      @@ -1999,8 +2055,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -2015,11 +2071,11 @@

      Submodules -

      Module contents

      -

      -
      + +
      +

      Module contents

      +
      +
      @@ -2028,23 +2084,215 @@

      Submodules
      -

      Table of Contents

      -

      @@ -2075,14 +2323,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.featurizers.composition.tests.html b/docs/matminer.featurizers.composition.tests.html index cc1c8a766..f846a1b23 100644 --- a/docs/matminer.featurizers.composition.tests.html +++ b/docs/matminer.featurizers.composition.tests.html @@ -1,18 +1,20 @@ - + - - matminer.featurizers.composition.tests package — matminer 0.7.8 documentation - - - + + + matminer.featurizers.composition.tests package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -38,224 +40,224 @@

      Navigation

      -
      -

      matminer.featurizers.composition.tests package

      -
      -

      Submodules

      -
      -
      -

      matminer.featurizers.composition.tests.base module

      +
      +

      matminer.featurizers.composition.tests package

      +
      +

      Submodules

      +
      +
      +

      matminer.featurizers.composition.tests.base module

      -
      -class matminer.featurizers.composition.tests.base.CompositionFeaturesTest(methodName='runTest')
      -

      Bases: pymatgen.util.testing.PymatgenTest

      +
      +class matminer.featurizers.composition.tests.base.CompositionFeaturesTest(methodName='runTest')
      +

      Bases: PymatgenTest

      -
      -setUp()
      +
      +setUp()

      Hook method for setting up the test fixture before exercising it.

      -
      -
      -

      matminer.featurizers.composition.tests.test_alloy module

      + +
      +

      matminer.featurizers.composition.tests.test_alloy module

      -
      -class matminer.featurizers.composition.tests.test_alloy.AlloyFeaturizersTest(methodName='runTest')
      -

      Bases: matminer.featurizers.composition.tests.base.CompositionFeaturesTest

      +
      +class matminer.featurizers.composition.tests.test_alloy.AlloyFeaturizersTest(methodName='runTest')
      +

      Bases: CompositionFeaturesTest

      -
      -test_WenAlloys()
      +
      +test_WenAlloys()
      -
      -test_miedema_all()
      +
      +test_miedema_all()
      -
      -test_miedema_ss()
      +
      +test_miedema_ss()
      -
      -test_yang()
      +
      +test_yang()
      -
      -
      -

      matminer.featurizers.composition.tests.test_composite module

      + +
      +

      matminer.featurizers.composition.tests.test_composite module

      -
      -class matminer.featurizers.composition.tests.test_composite.CompositeFeaturesTest(methodName='runTest')
      -

      Bases: matminer.featurizers.composition.tests.base.CompositionFeaturesTest

      +
      +class matminer.featurizers.composition.tests.test_composite.CompositeFeaturesTest(methodName='runTest')
      +

      Bases: CompositionFeaturesTest

      -
      -test_elem()
      +
      +test_elem()
      -
      -test_elem_deml()
      +
      +test_elem_deml()
      -
      -test_elem_matminer()
      +
      +test_elem_matminer()
      -
      -test_elem_matscholar_el()
      +
      +test_elem_matscholar_el()
      -
      -test_elem_megnet_el()
      +
      +test_elem_megnet_el()
      -
      -test_fere_corr()
      +
      +test_fere_corr()
      -
      -test_meredig()
      +
      +test_meredig()
      -
      -
      -

      matminer.featurizers.composition.tests.test_element module

      + +
      +

      matminer.featurizers.composition.tests.test_element module

      -
      -class matminer.featurizers.composition.tests.test_element.ElementFeaturesTest(methodName='runTest')
      -

      Bases: matminer.featurizers.composition.tests.base.CompositionFeaturesTest

      +
      +class matminer.featurizers.composition.tests.test_element.ElementFeaturesTest(methodName='runTest')
      +

      Bases: CompositionFeaturesTest

      -
      -test_band_center()
      +
      +test_band_center()
      -
      -test_fraction()
      +
      +test_fraction()
      -
      -test_stoich()
      +
      +test_stoich()
      -
      -test_tm_fraction()
      +
      +test_tm_fraction()
      -
      -
      -

      matminer.featurizers.composition.tests.test_ion module

      + +
      +

      matminer.featurizers.composition.tests.test_ion module

      -
      -class matminer.featurizers.composition.tests.test_ion.IonFeaturesTest(methodName='runTest')
      -

      Bases: matminer.featurizers.composition.tests.base.CompositionFeaturesTest

      +
      +class matminer.featurizers.composition.tests.test_ion.IonFeaturesTest(methodName='runTest')
      +

      Bases: CompositionFeaturesTest

      -
      -test_cation_properties()
      +
      +test_cation_properties()
      -
      -test_elec_affin()
      +
      +test_elec_affin()
      -
      -test_en_diff()
      +
      +test_en_diff()
      -
      -test_ionic()
      +
      +test_ionic()
      -
      -test_is_ionic()
      +
      +test_is_ionic()

      Test checking whether a compound is ionic

      -
      -test_oxidation_states()
      +
      +test_oxidation_states()
      -
      -
      -

      matminer.featurizers.composition.tests.test_orbital module

      + +
      +

      matminer.featurizers.composition.tests.test_orbital module

      -
      -class matminer.featurizers.composition.tests.test_orbital.OrbitalFeaturesTest(methodName='runTest')
      -

      Bases: matminer.featurizers.composition.tests.base.CompositionFeaturesTest

      +
      +class matminer.featurizers.composition.tests.test_orbital.OrbitalFeaturesTest(methodName='runTest')
      +

      Bases: CompositionFeaturesTest

      -
      -test_atomic_orbitals()
      +
      +test_atomic_orbitals()
      -
      -test_valence()
      +
      +test_valence()
      -
      -
      -

      matminer.featurizers.composition.tests.test_packing module

      + +
      +

      matminer.featurizers.composition.tests.test_packing module

      -
      -class matminer.featurizers.composition.tests.test_packing.PackingFeaturesTest(methodName='runTest')
      -

      Bases: matminer.featurizers.composition.tests.base.CompositionFeaturesTest

      +
      +class matminer.featurizers.composition.tests.test_packing.PackingFeaturesTest(methodName='runTest')
      +

      Bases: CompositionFeaturesTest

      -
      -test_ape()
      +
      +test_ape()
      -
      -
      -

      matminer.featurizers.composition.tests.test_thermo module

      + +
      +

      matminer.featurizers.composition.tests.test_thermo module

      -
      -class matminer.featurizers.composition.tests.test_thermo.ThermoFeaturesTest(methodName='runTest')
      -

      Bases: matminer.featurizers.composition.tests.base.CompositionFeaturesTest

      +
      +class matminer.featurizers.composition.tests.test_thermo.ThermoFeaturesTest(methodName='runTest')
      +

      Bases: CompositionFeaturesTest

      -
      -test_cohesive_energy()
      +
      +test_cohesive_energy()
      -
      -test_cohesive_energy_mp()
      +
      +test_cohesive_energy_mp()
      -
      -
      -

      Module contents

      -
      -
      + +
      +

      Module contents

      +
      +
      @@ -264,23 +266,92 @@

      Submodules
      -

      Table of Contents

      -

      @@ -311,14 +382,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.featurizers.html b/docs/matminer.featurizers.html index 769da9846..6a32d7906 100644 --- a/docs/matminer.featurizers.html +++ b/docs/matminer.featurizers.html @@ -1,18 +1,20 @@ - + - - matminer.featurizers package — matminer 0.7.8 documentation - - - + + + matminer.featurizers package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -38,10 +40,10 @@

      Navigation

      -
      -

      matminer.featurizers package

      -
      -

      Subpackages

      +
      +

      matminer.featurizers package

      +
      +

      Subpackages

      @@ -117,24 +486,388 @@

      SubpackagesSubmodules -
    • matminer.featurizers.structure.bonding module
    • -
    • matminer.featurizers.structure.composite module
    • -
    • matminer.featurizers.structure.matrix module
    • -
    • matminer.featurizers.structure.misc module
    • -
    • matminer.featurizers.structure.order module
    • -
    • matminer.featurizers.structure.rdf module
    • -
    • matminer.featurizers.structure.sites module
    • -
    • matminer.featurizers.structure.symmetry module
    • +
    • matminer.featurizers.structure.bonding module +
    • +
    • matminer.featurizers.structure.composite module +
    • +
    • matminer.featurizers.structure.matrix module +
    • +
    • matminer.featurizers.structure.misc module +
    • +
    • matminer.featurizers.structure.order module +
    • +
    • matminer.featurizers.structure.rdf module +
    • +
    • matminer.featurizers.structure.sites module +
    • +
    • matminer.featurizers.structure.symmetry module +
    • Module contents
    • matminer.featurizers.tests package
    • @@ -151,24 +884,81 @@

      SubpackagesSubmodules -
    • matminer.featurizers.utils.grdf module
    • -
    • matminer.featurizers.utils.oxidation module
    • -
    • matminer.featurizers.utils.stats module
    • +
    • matminer.featurizers.utils.grdf module +
    • +
    • matminer.featurizers.utils.oxidation module +
    • +
    • matminer.featurizers.utils.stats module +
    • Module contents
    • -
      -
      -

      Submodules

      -
      -
      -

      matminer.featurizers.bandstructure module

      + +
      +

      Submodules

      +
      +
      +

      matminer.featurizers.bandstructure module

      -
      -class matminer.featurizers.bandstructure.BandFeaturizer(kpoints=None, find_method='nearest', nbands=2)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.bandstructure.BandFeaturizer(kpoints=None, find_method='nearest', nbands=2)
      +

      Bases: BaseFeaturizer

      Featurizes a pymatgen band structure object.

      Args:
      @@ -190,14 +980,13 @@

      Submodules -
      -__init__(kpoints=None, find_method='nearest', nbands=2)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(kpoints=None, find_method='nearest', nbands=2)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -209,8 +998,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -219,8 +1008,8 @@

      Submodules -
      -featurize(bs)
      +
      +featurize(bs)
      Args:
      bs (pymatgen BandStructure or BandStructureSymmLine or their dict):

      The band structure to featurize. To obtain all features, bs @@ -265,8 +1054,8 @@

      Submodules -
      -static get_bindex_bspin(extremum, is_cbm)
      +
      +static get_bindex_bspin(extremum, is_cbm)

      Returns the band index and spin of band extremum

      Args:
      @@ -279,8 +1068,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -296,9 +1085,9 @@

      Submodules -
      -class matminer.featurizers.bandstructure.BranchPointEnergy(n_vb=1, n_cb=1, calculate_band_edges=True, atol=1e-05)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.bandstructure.BranchPointEnergy(n_vb=1, n_cb=1, calculate_band_edges=True, atol=1e-05)
      +

      Bases: BaseFeaturizer

      Branch point energy and absolute band edge position.

      Calculates the branch point energy and (optionally) an absolute band edge position assuming the branch point energy is the center of the gap

      @@ -316,14 +1105,13 @@

      Submodules -
      -__init__(n_vb=1, n_cb=1, calculate_band_edges=True, atol=1e-05)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(n_vb=1, n_cb=1, calculate_band_edges=True, atol=1e-05)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -335,8 +1123,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()
      Returns ([str]): absolute energy levels as provided in the input

      BandStructure. “absolute” means no reference energy is subtracted from branch_point_energy, vbm or cbm.

      @@ -345,8 +1133,8 @@

      Submodules -
      -featurize(bs, target_gap=None, weights=None)
      +
      +featurize(bs, target_gap=None, weights=None)
      Args:

      bs (BandStructure): Uniform (not symm line) band structure target_gap (float): if set the band gap is scissored to match this

      @@ -364,8 +1152,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -380,13 +1168,13 @@

      Submodules -

      matminer.featurizers.base module

      +

      +
      +

      matminer.featurizers.base module

      -
      -class matminer.featurizers.base.BaseFeaturizer
      -

      Bases: sklearn.base.BaseEstimator, sklearn.base.TransformerMixin, abc.ABC

      +
      +class matminer.featurizers.base.BaseFeaturizer
      +

      Bases: BaseEstimator, TransformerMixin, ABC

      Abstract class to calculate features from raw materials input data such a compound formula or a pymatgen crystal structure or bandstructure object.

      @@ -498,14 +1286,14 @@

      Submodules -
      -property chunksize
      +
      +
      +property chunksize
      -
      -abstract citations()
      +
      +abstract citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -517,8 +1305,8 @@

      Submodules -
      -abstract feature_labels()
      +
      +abstract feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -527,8 +1315,8 @@

      Submodules -
      -abstract featurize(*x)
      +
      +abstract featurize(*x)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -540,8 +1328,8 @@

      Submodules -
      -featurize_dataframe(df, col_id, ignore_errors=False, return_errors=False, inplace=False, multiindex=False, pbar=True)
      +
      +featurize_dataframe(df, col_id, ignore_errors=False, return_errors=False, inplace=False, multiindex=False, pbar=True)

      Compute features for all entries contained in input dataframe.

      Args:

      df (Pandas dataframe): Dataframe containing input data. @@ -573,8 +1361,8 @@

      Submodules -
      -featurize_many(entries, ignore_errors=False, return_errors=False, pbar=True)
      +
      +featurize_many(entries, ignore_errors=False, return_errors=False, pbar=True)

      Featurize a list of entries.

      If featurize takes multiple inputs, supply inputs as a list of tuples.

      Featurize_many supports entries as a list, tuple, numpy array, @@ -599,8 +1387,8 @@

      Submodules -
      -featurize_wrapper(x, return_errors=False, ignore_errors=False)
      +
      +featurize_wrapper(x, return_errors=False, ignore_errors=False)

      An exception wrapper for featurize, used in featurize_many and featurize_dataframe. featurize_wrapper changes the behavior of featurize when ignore_errors is True in featurize_many/dataframe.

      @@ -623,8 +1411,8 @@

      Submodules -
      -fit(X, y=None, **fit_kwargs)
      +
      +fit(X, y=None, **fit_kwargs)

      Update the parameters of this featurizer based on available data

      Args:

      X - [list of tuples], training data

      @@ -635,8 +1423,8 @@

      Submodules -
      -fit_featurize_dataframe(df, col_id, fit_args=None, *args, **kwargs)
      +
      +fit_featurize_dataframe(df, col_id, fit_args=None, *args, **kwargs)

      The dataframe equivalent of fit_transform. Takes a dataframe and column id as input, fits the featurizer to that dataframe, and returns a featurized dataframe. Accepts the same arguments as @@ -656,8 +1444,8 @@

      Submodules -
      -abstract implementors()
      +
      +abstract implementors()

      List of implementors of the feature.

      Returns:
      @@ -670,14 +1458,14 @@

      Submodules -
      -property n_jobs
      +
      +
      +property n_jobs
      -
      -precheck(*x)bool
      +
      +precheck(*x) bool

      Precheck (provide an estimate of whether a featurizer will work or not) for a single entry (e.g., a single composition). If the entry fails the precheck, it will most likely fail featurization; if it passes, it is @@ -711,8 +1499,8 @@

      Submodules -
      -precheck_dataframe(df, col_id, return_frac=True, inplace=False) → Union[float, pandas.core.frame.DataFrame]
      +
      +precheck_dataframe(df, col_id, return_frac=True, inplace=False) Union[float, DataFrame]

      Precheck an entire dataframe. Subclasses wanting to use precheck functionality should not override this method, they should override precheck (unless the entire df determines whether single entries pass @@ -759,29 +1547,29 @@

      Submodules -
      -set_chunksize(chunksize)
      +
      +set_chunksize(chunksize)

      Set the chunksize used for Pool.map parallelisation.

      -
      -set_n_jobs(n_jobs)
      +
      +set_n_jobs(n_jobs)

      Set the number of threads for this.

      -
      -transform(X)
      +
      +transform(X)

      Compute features for a list of inputs

      -
      -class matminer.featurizers.base.MultipleFeaturizer(featurizers, iterate_over_entries=True)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.base.MultipleFeaturizer(featurizers, iterate_over_entries=True)
      +

      Bases: BaseFeaturizer

      Class to run multiple featurizers on the same input data.

      All featurizers must take the same kind of data as input to the featurize function.

      @@ -798,14 +1586,13 @@

      Submodules -
      -__init__(featurizers, iterate_over_entries=True)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(featurizers, iterate_over_entries=True)
      +

      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -817,8 +1604,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -827,8 +1614,8 @@

      Submodules -
      -featurize(*x)
      +
      +featurize(*x)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -840,8 +1627,8 @@

      Submodules -
      -featurize_many(entries, ignore_errors=False, return_errors=False, pbar=True)
      +
      +featurize_many(entries, ignore_errors=False, return_errors=False, pbar=True)

      Featurize a list of entries.

      If featurize takes multiple inputs, supply inputs as a list of tuples.

      Featurize_many supports entries as a list, tuple, numpy array, @@ -866,8 +1653,8 @@

      Submodules -
      -featurize_wrapper(x, return_errors=False, ignore_errors=False)
      +
      +featurize_wrapper(x, return_errors=False, ignore_errors=False)

      An exception wrapper for featurize, used in featurize_many and featurize_dataframe. featurize_wrapper changes the behavior of featurize when ignore_errors is True in featurize_many/dataframe.

      @@ -890,8 +1677,8 @@

      Submodules -
      -fit(X, y=None, **fit_kwargs)
      +
      +fit(X, y=None, **fit_kwargs)

      Update the parameters of this featurizer based on available data

      Args:

      X - [list of tuples], training data

      @@ -902,8 +1689,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -917,24 +1704,24 @@

      Submodules -
      -set_n_jobs(n_jobs)
      +
      +set_n_jobs(n_jobs)

      Set the number of threads for this.

      -
      -class matminer.featurizers.base.StackedFeaturizer(featurizer=None, model=None, name=None, class_names=None)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.base.StackedFeaturizer(featurizer=None, model=None, name=None, class_names=None)
      +

      Bases: BaseFeaturizer

      Use the output of a machine learning model as features

      For regression models, we use the single output class.

      For classification models, we use the probability for the first N-1 classes where N is the number of classes.

      -
      -__init__(featurizer=None, model=None, name=None, class_names=None)
      +
      +__init__(featurizer=None, model=None, name=None, class_names=None)

      Initialize featurizer

      Args:

      featurizer (BaseFeaturizer): Featurizer used to generate inputs to the model @@ -951,8 +1738,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -964,8 +1751,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -974,8 +1761,8 @@

      Submodules -
      -featurize(*x)
      +
      +featurize(*x)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -987,8 +1774,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1003,17 +1790,17 @@

      Submodules -

      matminer.featurizers.conversions module

      +

      +
      +

      matminer.featurizers.conversions module

      This module defines featurizers that can convert between different data formats

      Note that these featurizers do not produce machine learning-ready features. Instead, they should be used to pre-process data, either through a standalone transformation or as part of a Pipeline.

      -
      -class matminer.featurizers.conversions.ASEAtomstoStructure(target_col_id='PMG Structure from ASE Atoms', overwrite_data=False)
      -

      Bases: matminer.featurizers.conversions.ConversionFeaturizer

      +
      +class matminer.featurizers.conversions.ASEAtomstoStructure(target_col_id='PMG Structure from ASE Atoms', overwrite_data=False)
      +

      Bases: ConversionFeaturizer

      Convert dataframes of ase structures to pymatgen structures for further use with matminer.

      @@ -1025,14 +1812,13 @@

      Submodules -
      -__init__(target_col_id='PMG Structure from ASE Atoms', overwrite_data=False)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(target_col_id='PMG Structure from ASE Atoms', overwrite_data=False)
      +
      -
      -featurize(ase_atoms)
      +
      +featurize(ase_atoms)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -1044,8 +1830,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1061,9 +1847,9 @@

      Submodules -
      -class matminer.featurizers.conversions.CompositionToOxidComposition(target_col_id='composition_oxid', overwrite_data=False, coerce_mixed=True, return_original_on_error=False, **kwargs)
      -

      Bases: matminer.featurizers.conversions.ConversionFeaturizer

      +
      +class matminer.featurizers.conversions.CompositionToOxidComposition(target_col_id='composition_oxid', overwrite_data=False, coerce_mixed=True, return_original_on_error=False, **kwargs)
      +

      Bases: ConversionFeaturizer

      Utility featurizer to add oxidation states to a pymatgen Composition.

      Oxidation states are determined using pymatgen’s guessing routines. The expected input is a pymatgen.core.composition.Composition object.

      @@ -1093,14 +1879,13 @@

      Submodules -
      -__init__(target_col_id='composition_oxid', overwrite_data=False, coerce_mixed=True, return_original_on_error=False, **kwargs)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(target_col_id='composition_oxid', overwrite_data=False, coerce_mixed=True, return_original_on_error=False, **kwargs)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1112,8 +1897,8 @@

      Submodules -
      -featurize(comp)
      +
      +featurize(comp)

      Add oxidation states to a Structure using pymatgen’s guessing routines.

      Args:

      comp (pymatgen.core.composition.Composition): A composition.

      @@ -1127,8 +1912,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1144,9 +1929,9 @@

      Submodules -
      -class matminer.featurizers.conversions.CompositionToStructureFromMP(target_col_id='structure', overwrite_data=False, mapi_key=None)
      -

      Bases: matminer.featurizers.conversions.ConversionFeaturizer

      +
      +class matminer.featurizers.conversions.CompositionToStructureFromMP(target_col_id='structure', overwrite_data=False, mapi_key=None)
      +

      Bases: ConversionFeaturizer

      Featurizer to get a Structure object from Materials Project using the composition alone. The most stable entry from Materials Project is selected, or NaN if no entry is found in the Materials Project.

      @@ -1167,14 +1952,13 @@

      Submodules -
      -__init__(target_col_id='structure', overwrite_data=False, mapi_key=None)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(target_col_id='structure', overwrite_data=False, mapi_key=None)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1186,8 +1970,8 @@

      Submodules -
      -featurize(comp)
      +
      +featurize(comp)

      Get the most stable structure from Materials Project Args:

      @@ -1200,8 +1984,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1217,9 +2001,9 @@

      Submodules -
      -class matminer.featurizers.conversions.ConversionFeaturizer(target_col_id, overwrite_data)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.conversions.ConversionFeaturizer(target_col_id, overwrite_data)
      +

      Bases: BaseFeaturizer

      Abstract class to perform data conversions.

      Featurizers subclassing this class do not produce machine learning-ready features but instead are used to pre-process data. As Featurizers, @@ -1251,14 +2035,13 @@

      Submodules -
      -__init__(target_col_id, overwrite_data)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(target_col_id, overwrite_data)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1270,8 +2053,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1280,8 +2063,8 @@

      Submodules -
      -featurize(*x)
      +
      +featurize(*x)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -1293,8 +2076,8 @@

      Submodules -
      -featurize_dataframe(df, col_id, **kwargs)
      +
      +featurize_dataframe(df, col_id, **kwargs)

      Perform the data conversion and set the target column dynamically.

      target_col_id, and accordingly feature_labels, may depend on the column id of the data being featurized. As such, target_col_id is @@ -1318,8 +2101,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1335,9 +2118,9 @@

      Submodules -
      -class matminer.featurizers.conversions.DictToObject(target_col_id='_object', overwrite_data=False)
      -

      Bases: matminer.featurizers.conversions.ConversionFeaturizer

      +
      +class matminer.featurizers.conversions.DictToObject(target_col_id='_object', overwrite_data=False)
      +

      Bases: ConversionFeaturizer

      Utility featurizer to decode a dict to Python object via MSON.

      Note that this Featurizer does not produce machine learning-ready features but instead can be applied to pre-process data or as part of a Pipeline.

      @@ -1357,14 +2140,13 @@

      Submodules -
      -__init__(target_col_id='_object', overwrite_data=False)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(target_col_id='_object', overwrite_data=False)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1376,8 +2158,8 @@

      Submodules -
      -featurize(dict_data)
      +
      +featurize(dict_data)

      Convert a string to a pymatgen Composition.

      Args:
      @@ -1391,8 +2173,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1408,9 +2190,9 @@

      Submodules -
      -class matminer.featurizers.conversions.JsonToObject(target_col_id='_object', overwrite_data=False)
      -

      Bases: matminer.featurizers.conversions.ConversionFeaturizer

      +
      +class matminer.featurizers.conversions.JsonToObject(target_col_id='_object', overwrite_data=False)
      +

      Bases: ConversionFeaturizer

      Utility featurizer to decode json data to a Python object via MSON.

      Note that this Featurizer does not produce machine learning-ready features but instead can be applied to pre-process data or as part of a Pipeline.

      @@ -1430,14 +2212,13 @@

      Submodules -
      -__init__(target_col_id='_object', overwrite_data=False)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(target_col_id='_object', overwrite_data=False)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1449,8 +2230,8 @@

      Submodules -
      -featurize(json_data)
      +
      +featurize(json_data)

      Convert a string to a pymatgen Composition.

      Args:
      @@ -1464,8 +2245,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1481,9 +2262,9 @@

      Submodules -
      -class matminer.featurizers.conversions.PymatgenFunctionApplicator(func, func_args=None, func_kwargs=None, target_col_id=None, overwrite_data=False)
      -

      Bases: matminer.featurizers.conversions.ConversionFeaturizer

      +
      +class matminer.featurizers.conversions.PymatgenFunctionApplicator(func, func_args=None, func_kwargs=None, target_col_id=None, overwrite_data=False)
      +

      Bases: ConversionFeaturizer

      Featurizer to run any function using on/from pymatgen primitives.

      For example, apply

      @@ -1506,14 +2287,13 @@

      Submodules -
      -__init__(func, func_args=None, func_kwargs=None, target_col_id=None, overwrite_data=False)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(func, func_args=None, func_kwargs=None, target_col_id=None, overwrite_data=False)
      +
      -
      -featurize(obj)
      +
      +featurize(obj)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -1525,8 +2305,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1542,9 +2322,9 @@

      Submodules -
      -class matminer.featurizers.conversions.StrToComposition(reduce=False, target_col_id='composition', overwrite_data=False)
      -

      Bases: matminer.featurizers.conversions.ConversionFeaturizer

      +
      +class matminer.featurizers.conversions.StrToComposition(reduce=False, target_col_id='composition', overwrite_data=False)
      +

      Bases: ConversionFeaturizer

      Utility featurizer to convert a string to a Composition

      The expected input is a composition in string form (e.g. “Fe2O3”).

      Note that this Featurizer does not produce machine learning-ready features @@ -1567,14 +2347,13 @@

      Submodules -
      -__init__(reduce=False, target_col_id='composition', overwrite_data=False)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(reduce=False, target_col_id='composition', overwrite_data=False)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1586,8 +2365,8 @@

      Submodules -
      -featurize(string_composition)
      +
      +featurize(string_composition)

      Convert a string to a pymatgen Composition.

      Args:
      @@ -1601,8 +2380,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1618,9 +2397,9 @@

      Submodules -
      -class matminer.featurizers.conversions.StructureToComposition(reduce=False, target_col_id='composition', overwrite_data=False)
      -

      Bases: matminer.featurizers.conversions.ConversionFeaturizer

      +
      +class matminer.featurizers.conversions.StructureToComposition(reduce=False, target_col_id='composition', overwrite_data=False)
      +

      Bases: ConversionFeaturizer

      Utility featurizer to convert a Structure to a Composition.

      The expected input is a pymatgen.core.structure.Structure object.

      Note that this Featurizer does not produce machine learning-ready features @@ -1644,14 +2423,13 @@

      Submodules -
      -__init__(reduce=False, target_col_id='composition', overwrite_data=False)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(reduce=False, target_col_id='composition', overwrite_data=False)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1663,8 +2441,8 @@

      Submodules -
      -featurize(structure)
      +
      +featurize(structure)

      Convert a string to a pymatgen Composition.

      Args:

      structure (pymatgen.core.structure.Structure): A structure.

      @@ -1675,8 +2453,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1692,9 +2470,9 @@

      Submodules -
      -class matminer.featurizers.conversions.StructureToIStructure(target_col_id='istructure', overwrite_data=False)
      -

      Bases: matminer.featurizers.conversions.ConversionFeaturizer

      +
      +class matminer.featurizers.conversions.StructureToIStructure(target_col_id='istructure', overwrite_data=False)
      +

      Bases: ConversionFeaturizer

      Utility featurizer to convert a Structure to an immutable IStructure.

      This is useful if you are using features that employ caching.

      The expected input is a pymatgen.core.structure.Structure object.

      @@ -1716,14 +2494,13 @@

      Submodules -
      -__init__(target_col_id='istructure', overwrite_data=False)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(target_col_id='istructure', overwrite_data=False)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1735,8 +2512,8 @@

      Submodules -
      -featurize(structure)
      +
      +featurize(structure)

      Convert a pymatgen Structure to an immutable IStructure,

      Args:

      structure (pymatgen.core.structure.Structure): A structure.

      @@ -1750,8 +2527,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1767,9 +2544,9 @@

      Submodules -
      -class matminer.featurizers.conversions.StructureToOxidStructure(target_col_id='structure_oxid', overwrite_data=False, return_original_on_error=False, **kwargs)
      -

      Bases: matminer.featurizers.conversions.ConversionFeaturizer

      +
      +class matminer.featurizers.conversions.StructureToOxidStructure(target_col_id='structure_oxid', overwrite_data=False, return_original_on_error=False, **kwargs)
      +

      Bases: ConversionFeaturizer

      Utility featurizer to add oxidation states to a pymatgen Structure.

      Oxidation states are determined using pymatgen’s guessing routines. The expected input is a pymatgen.core.structure.Structure object.

      @@ -1796,14 +2573,13 @@

      Submodules -
      -__init__(target_col_id='structure_oxid', overwrite_data=False, return_original_on_error=False, **kwargs)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(target_col_id='structure_oxid', overwrite_data=False, return_original_on_error=False, **kwargs)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1815,8 +2591,8 @@

      Submodules -
      -featurize(structure)
      +
      +featurize(structure)

      Add oxidation states to a Structure using pymatgen’s guessing routines.

      Args:

      structure (pymatgen.core.structure.Structure): A structure.

      @@ -1830,8 +2606,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1846,13 +2622,13 @@

      Submodules -

      matminer.featurizers.dos module

      +

      +
      +

      matminer.featurizers.dos module

      -
      -class matminer.featurizers.dos.DOSFeaturizer(contributors=1, decay_length=0.1, sampling_resolution=100, gaussian_smear=0.05)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.dos.DOSFeaturizer(contributors=1, decay_length=0.1, sampling_resolution=100, gaussian_smear=0.05)
      +

      Bases: BaseFeaturizer

      Significant character and contribution of the density of state from a CompleteDos, object. Contributors are the atomic orbitals from each site within the structure. This underlines the importance of dos.structure.

      @@ -1885,14 +2661,13 @@

      Submodules -
      -__init__(contributors=1, decay_length=0.1, sampling_resolution=100, gaussian_smear=0.05)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(contributors=1, decay_length=0.1, sampling_resolution=100, gaussian_smear=0.05)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1904,8 +2679,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()
      Returns ([str]): list of names of the features. See the docs for the

      featurize method for more information.

      @@ -1913,8 +2688,8 @@

      Submodules -
      -featurize(dos)
      +
      +featurize(dos)
      Args:
      dos (pymatgen CompleteDos or their dict):

      The density of states to featurize. Must be a complete DOS, @@ -1927,8 +2702,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1944,9 +2719,9 @@

      Submodules -
      -class matminer.featurizers.dos.DopingFermi(dopings=None, eref='midgap', T=300, return_eref=False)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.dos.DopingFermi(dopings=None, eref='midgap', T=300, return_eref=False)
      +

      Bases: BaseFeaturizer

      The fermi level (w.r.t. selected reference energy) associated with a specified carrier concentration (1/cm3) and temperature. This featurizar requires the total density of states and structure. The Structure @@ -1981,14 +2756,13 @@

      Submodules -
      -__init__(dopings=None, eref='midgap', T=300, return_eref=False)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(dopings=None, eref='midgap', T=300, return_eref=False)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -2000,8 +2774,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()
      Returns ([str]): list of names of the features generated by featurize

      example: “fermi_c-1e+20T300” that is the fermi level for the electron concentration of 1e20 (c-1e+20) and temperature of 300K.

      @@ -2010,8 +2784,8 @@

      Submodules -
      -featurize(dos, bandgap=None)
      +
      +featurize(dos, bandgap=None)
      Args:

      dos (pymatgen Dos, CompleteDos or FermiDos): bandgap (float): for example the experimentally measured band gap

      @@ -2027,8 +2801,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -2044,9 +2818,9 @@

      Submodules -
      -class matminer.featurizers.dos.DosAsymmetry(decay_length=0.5, sampling_resolution=100, gaussian_smear=0.05)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.dos.DosAsymmetry(decay_length=0.5, sampling_resolution=100, gaussian_smear=0.05)
      +

      Bases: BaseFeaturizer

      Quantifies the asymmetry of the DOS near the Fermi level.

      The DOS asymmetry is defined the natural logarithm of the quotient of the total DOS above the Fermi level and the total DOS below the Fermi level. A @@ -2068,14 +2842,13 @@

      Submodules -
      -__init__(decay_length=0.5, sampling_resolution=100, gaussian_smear=0.05)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(decay_length=0.5, sampling_resolution=100, gaussian_smear=0.05)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -2087,14 +2860,14 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Returns the labels for each of the features.

      -
      -featurize(dos)
      +
      +featurize(dos)

      Calculates the DOS asymmetry.

      Args:

      dos (Dos): A pymatgen Dos object.

      @@ -2105,8 +2878,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -2122,9 +2895,9 @@

      Submodules -
      -class matminer.featurizers.dos.Hybridization(decay_length=0.1, sampling_resolution=100, gaussian_smear=0.05, species=None)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.dos.Hybridization(decay_length=0.1, sampling_resolution=100, gaussian_smear=0.05, species=None)
      +

      Bases: BaseFeaturizer

      quantify s/p/d/f orbital character and their hybridizations at band edges

      Args:
      @@ -2155,14 +2928,13 @@

      Submodules -
      -__init__(decay_length=0.1, sampling_resolution=100, gaussian_smear=0.05, species=None)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(decay_length=0.1, sampling_resolution=100, gaussian_smear=0.05, species=None)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -2174,8 +2946,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Returns ([str]): feature names starting with the extrema (cbm or vbm) followed by either s,p,d,f orbital to show normalized contribution or a pair showing their hybridization or contribution of an element. @@ -2183,8 +2955,8 @@

      Submodules -
      -featurize(dos, decay_length=None)
      +
      +featurize(dos, decay_length=None)

      takes in the density of state and return the orbitals contributions and hybridizations.

      @@ -2199,8 +2971,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -2216,9 +2988,9 @@

      Submodules -
      -class matminer.featurizers.dos.SiteDOS(decay_length=0.1, sampling_resolution=100, gaussian_smear=0.05)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.dos.SiteDOS(decay_length=0.1, sampling_resolution=100, gaussian_smear=0.05)
      +

      Bases: BaseFeaturizer

      report the fractional s/p/d/f dos for a particular site. a CompleteDos object is required because knowledge of the structure is needed. this featurizer will work for metals as well as semiconductors. if the dos is a @@ -2253,14 +3025,13 @@

      Submodules -
      -__init__(decay_length=0.1, sampling_resolution=100, gaussian_smear=0.05)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(decay_length=0.1, sampling_resolution=100, gaussian_smear=0.05)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -2272,8 +3043,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()
      Returns (list of str): list of names of the features. See the docs for

      the featurizer class for more information.

      @@ -2281,8 +3052,8 @@

      Submodules -
      -featurize(dos, idx)
      +
      +featurize(dos, idx)

      get dos scores for given site index

      Args:
      @@ -2295,8 +3066,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -2312,8 +3083,8 @@

      Submodules -
      -matminer.featurizers.dos.get_cbm_vbm_scores(dos, decay_length, sampling_resolution, gaussian_smear)
      +
      +matminer.featurizers.dos.get_cbm_vbm_scores(dos, decay_length, sampling_resolution, gaussian_smear)

      Quantifies the contribution of all atomic orbitals (s/p/d/f) from all crystal sites to the conduction band minimum (CBM) and the valence band maximum (VBM). An exponential decay function is used to sample the DOS. @@ -2349,8 +3120,8 @@

      Submodules -
      -matminer.featurizers.dos.get_site_dos_scores(dos, idx, decay_length, sampling_resolution, gaussian_smear)
      +
      +matminer.featurizers.dos.get_site_dos_scores(dos, idx, decay_length, sampling_resolution, gaussian_smear)

      Quantifies the contribution of all atomic orbitals (s/p/d/f) from a particular crystal site to the conduction band minimum (CBM) and the valence band maximum (VBM). An exponential decay function is used to sample @@ -2389,13 +3160,13 @@

      Submodules -

      matminer.featurizers.function module

      +

      +
      +

      matminer.featurizers.function module

      -
      -class matminer.featurizers.function.FunctionFeaturizer(expressions=None, multi_feature_depth=1, postprocess=None, combo_function=None, latexify_labels=False)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.function.FunctionFeaturizer(expressions=None, multi_feature_depth=1, postprocess=None, combo_function=None, latexify_labels=False)
      +

      Bases: BaseFeaturizer

      Features from functions applied to existing features, e.g. “1/x”

      This featurizer must be fit either by calling .fit_featurize_dataframe or by calling .fit followed by featurize_dataframe.

      @@ -2436,19 +3207,18 @@

      Submodules -
      -ILLEGAL_CHARACTERS = ['|', ' ', '/', '\\', '?', '@', '#', '$', '%']
      +
      +ILLEGAL_CHARACTERS = ['|', ' ', '/', '\\', '?', '@', '#', '$', '%']

      -
      -__init__(expressions=None, multi_feature_depth=1, postprocess=None, combo_function=None, latexify_labels=False)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -
      +
      +__init__(expressions=None, multi_feature_depth=1, postprocess=None, combo_function=None, latexify_labels=False)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -2459,9 +3229,9 @@

      Submodules -
      -property exp_dict
      +
      +
      +property exp_dict

      Generates a dictionary of expressions keyed by number of variables in each expression

      @@ -2471,8 +3241,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()
      Returns:

      Set of feature labels corresponding to expressions

      @@ -2480,8 +3250,8 @@

      Submodules -
      -featurize(*args)
      +
      +featurize(*args)

      Main featurizer function, essentially iterates over all of the functions in self.function_list to generate features for each argument.

      @@ -2497,8 +3267,8 @@

      Submodules -
      -fit(X, y=None, **fit_kwargs)
      +
      +fit(X, y=None, **fit_kwargs)

      Sets the feature labels. Not intended to be used by a user, only intended to be invoked as part of featurize_dataframe

      @@ -2510,8 +3280,8 @@

      Submodules -
      -generate_string_expressions(input_variable_names)
      +
      +generate_string_expressions(input_variable_names)

      Method to generate string expressions for input strings, mainly used to generate columns names for featurize_dataframe

      @@ -2527,8 +3297,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -2544,8 +3314,8 @@

      Submodules -
      -matminer.featurizers.function.generate_expressions_combinations(expressions, combo_depth=2, combo_function=<function prod>)
      +
      +matminer.featurizers.function.generate_expressions_combinations(expressions, combo_depth=2, combo_function=<function prod>)

      This function takes a list of strings representing functions of x, converts them to sympy expressions, and combines them according to the combo_depth parameter. Also filters @@ -2572,11 +3342,11 @@

      Submodules -

      Module contents

      -

      -
      + +
      +

      Module contents

      +
      +
      @@ -2585,21 +3355,221 @@

      Submodules
      -

      Table of Contents

      -

      @@ -2630,14 +3600,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.featurizers.site.html b/docs/matminer.featurizers.site.html index 625e0ab43..0ee9626e9 100644 --- a/docs/matminer.featurizers.site.html +++ b/docs/matminer.featurizers.site.html @@ -1,18 +1,20 @@ - + - - matminer.featurizers.site package — matminer 0.7.8 documentation - - - + + + matminer.featurizers.site package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -38,45 +40,103 @@

      Navigation

      -
      -

      matminer.featurizers.site package

      -
      -

      Subpackages

      +
      +

      matminer.featurizers.site package

      +
      +

      Subpackages

      -
      -
      -

      Submodules

      -
      -
      -

      matminer.featurizers.site.bonding module

      + +
      +

      Submodules

      +
      +
      +

      matminer.featurizers.site.bonding module

      Site featurizers based on bonding.

      -
      -class matminer.featurizers.site.bonding.AverageBondAngle(method)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.site.bonding.AverageBondAngle(method)
      +

      Bases: BaseFeaturizer

      Determines the average bond angles of a specific site with its nearest neighbors using one of pymatgen’s NearNeighbor classes. Neighbors that are adjacent to each other are stored and angle between them are computed. ‘Average bond angle’ of a site is the mean bond angle between all its nearest neighbors.

      -
      -__init__(method)
      +
      +__init__(method)

      Initialize featurizer

      Args:
      @@ -88,8 +148,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -101,8 +161,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -111,8 +171,8 @@

      Submodules -
      -featurize(strc, idx)
      +
      +featurize(strc, idx)

      Get average bond length of a site and all its nearest neighbors.

      @@ -125,8 +185,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -142,9 +202,9 @@

      Submodules -
      -class matminer.featurizers.site.bonding.AverageBondLength(method)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.site.bonding.AverageBondLength(method)
      +

      Bases: BaseFeaturizer

      Determines the average bond length between one specific site and all its nearest neighbors using one of pymatgen’s NearNeighbor classes. These nearest neighbor calculators return weights related @@ -152,8 +212,8 @@

      Submodules -
      -__init__(method)
      +
      +__init__(method)

      Initialize featurizer

      Args:

      method (NearNeighbor) - subclass under NearNeighbor used to compute nearest neighbors

      @@ -162,8 +222,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -175,8 +235,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -185,8 +245,8 @@

      Submodules -
      -featurize(strc, idx)
      +
      +featurize(strc, idx)

      Get weighted average bond length of a site and all its nearest neighbors.

      @@ -199,8 +259,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -216,9 +276,9 @@

      Submodules -
      -class matminer.featurizers.site.bonding.BondOrientationalParameter(max_l=10, compute_w=False, compute_w_hat=False)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.site.bonding.BondOrientationalParameter(max_l=10, compute_w=False, compute_w_hat=False)
      +

      Bases: BaseFeaturizer

      Averages of spherical harmonics of local neighbors

      Bond Orientational Parameters (BOPs) describe the local environment around an atom by considering the local symmetry of the bonds as computed using spherical harmonics. @@ -229,20 +289,20 @@

      Submodules and -\hat{W} parameters proposed by Steinhardt et al..

      +

      In addition to the average spherical harmonics, this class can also compute the W and +\hat{W} parameters proposed by Steinhardt et al..

      Attributes:

      BOOP Q l=<n> - Average spherical harmonic for a certain degree, n. BOOP W l=<n> - W parameter for a certain degree of spherical harmonic, n. -BOOP What l=<n> - \hat{W} parameter for a certain degree of spherical harmonic, n.

      +BOOP What l=<n> - \hat{W} parameter for a certain degree of spherical harmonic, n.

      References:

      Steinhardt et al., _PRB_ (1983) Seko et al., _PRB_ (2017)

      -
      -__init__(max_l=10, compute_w=False, compute_w_hat=False)
      +
      +__init__(max_l=10, compute_w=False, compute_w_hat=False)

      Initialize the featurizer

      Args:

      max_l (int) - Maximum spherical harmonic to consider @@ -253,8 +313,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -266,8 +326,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -276,8 +336,8 @@

      Submodules -
      -featurize(strc, idx)
      +
      +featurize(strc, idx)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -289,8 +349,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -306,8 +366,8 @@

      Submodules -
      -matminer.featurizers.site.bonding.get_wigner_coeffs(l)
      +
      +matminer.featurizers.site.bonding.get_wigner_coeffs(l)

      Get the list of non-zero Wigner 3j triplets Args:

      @@ -325,14 +385,14 @@

      Submodules -

      matminer.featurizers.site.chemical module

      +

      +
      +

      matminer.featurizers.site.chemical module

      Site featurizers based on local chemical information, rather than geometry alone.

      -
      -class matminer.featurizers.site.chemical.ChemicalSRO(nn, includes=None, excludes=None, sort=True)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.site.chemical.ChemicalSRO(nn, includes=None, excludes=None, sort=True)
      +

      Bases: BaseFeaturizer

      Chemical short range ordering, deviation of local site and nominal structure compositions

      Chemical SRO features to evaluate the deviation of local chemistry with the nominal composition of the structure.

      @@ -358,8 +418,8 @@

      Submodules -
      -__init__(nn, includes=None, excludes=None, sort=True)
      +
      +__init__(nn, includes=None, excludes=None, sort=True)

      Initialize the featurizer

      Args:
      @@ -374,8 +434,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -387,8 +447,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -397,8 +457,8 @@

      Submodules -
      -featurize(struct, idx)
      +
      +featurize(struct, idx)

      Get CSRO features of site with given index in input structure. Args:

      @@ -412,8 +472,8 @@

      Submodules -
      -fit(X, y=None)
      +
      +fit(X, y=None)

      Identify elements to be included in the following featurization, by intersecting the elements present in the passed structures with those explicitly included (or excluded) in __init__. Only elements @@ -447,8 +507,8 @@

      Submodules -
      -static from_preset(preset, **kwargs)
      +
      +static from_preset(preset, **kwargs)

      Use one of the standard instances of a given NearNeighbor class. Args:

      @@ -466,8 +526,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -483,9 +543,9 @@

      Submodules -
      -class matminer.featurizers.site.chemical.EwaldSiteEnergy(accuracy=None)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.site.chemical.EwaldSiteEnergy(accuracy=None)
      +

      Bases: BaseFeaturizer

      Compute site energy from Coulombic interactions

      User notes:

      +
      +

      matminer.featurizers.site.external module

      Site featurizers requiring external libraries for core functionality.

      -
      -class matminer.featurizers.site.external.SOAP(**kwargs)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.site.external.SOAP(rcut, nmax, lmax, sigma, periodic, rbf='gto', crossover=True)
      +

      Bases: BaseFeaturizer

      Smooth overlap of atomic positions (interface via DScribe).

      Class for generating a partial power spectrum from Smooth Overlap of Atomic Orbitals (SOAP). This implementation uses real (tesseral) spherical @@ -810,8 +870,8 @@

      Submodules -
    • “gto”: Spherical gaussian type orbitals defined as g_{nl}(r) = \sum_{n'=1}^{n_\mathrm{max}}\,\beta_{nn'l} r^l e^{-\alpha_{n'l}r^2}

    • -
    • “polynomial”: Polynomial basis defined as g_{n}(r) = \sum_{n'=1}^{n_\mathrm{max}}\,\beta_{nn'} (r-r_\mathrm{cut})^{n'+2}

    • +
    • “gto”: Spherical gaussian type orbitals defined as g_{nl}(r) = \sum_{n'=1}^{n_\mathrm{max}}\,\beta_{nn'l} r^l e^{-\alpha_{n'l}r^2}

    • +
    • “polynomial”: Polynomial basis defined as g_{n}(r) = \sum_{n'=1}^{n_\mathrm{max}}\,\beta_{nn'} (r-r_\mathrm{cut})^{n'+2}

    • @@ -828,14 +888,13 @@

      Submodules -
      -__init__(rcut, nmax, lmax, sigma, periodic, rbf='gto', crossover=True)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(rcut, nmax, lmax, sigma, periodic, rbf='gto', crossover=True)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -847,8 +906,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -857,8 +916,8 @@

      Submodules -
      -featurize(struct, idx)
      +
      +featurize(struct, idx)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -870,8 +929,8 @@

      Submodules -
      -fit(X, y=None)
      +
      +fit(X, y=None)

      Fit the SOAP featurizer to a dataframe.

      Args:

      X ([SiteCollection]): For example, a list of pymatgen Structures. @@ -883,8 +942,8 @@

      Submodules -
      -classmethod from_preset(preset)
      +
      +classmethod from_preset(preset)

      Create a SOAP featurizer object from sensible or published presets. Args:

      @@ -900,8 +959,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -916,14 +975,14 @@

      Submodules -

      matminer.featurizers.site.fingerprint module

      + +
      +

      matminer.featurizers.site.fingerprint module

      Site featurizers that fingerprint a site using local geometry.

      -
      -class matminer.featurizers.site.fingerprint.AGNIFingerprints(directions=None, 'x', 'y', 'z', etas=None, cutoff=8)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.site.fingerprint.AGNIFingerprints(directions=(None, 'x', 'y', 'z'), etas=None, cutoff=8)
      +

      Bases: BaseFeaturizer

      Product integral of RDF and Gaussian window function, from Botu et al.

      Integral of the product of the radial distribution function and a Gaussian window function. Originally used by @@ -932,18 +991,18 @@

      Submodules -where i is the index of the atom, j is the index of a neighboring atom, \eta is a scaling function, -r_{ij} is the distance between atoms i and j, and f(r) is a cutoff function where -f(r) = 0.5[\cos(\frac{\pi r_{ij}}{R_c}) + 1] if r < R_c and 0 otherwise. +A_i(\eta) = \sum\limits_{i \ne j} e^{-(\frac{r_{ij}}{\eta})^2} f(r_{ij}) +where i is the index of the atom, j is the index of a neighboring atom, \eta is a scaling function, +r_{ij} is the distance between atoms i and j, and f(r) is a cutoff function where +f(r) = 0.5[\cos(\frac{\pi r_{ij}}{R_c}) + 1] if r < R_c and 0 otherwise. The direction-resolved fingerprints are computed using -V_i^k(\eta) = \sum\limits_{i \ne j} \frac{r_{ij}^k}{r_{ij}} e^{-(\frac{r_{ij}}{\eta})^2} f(r_{ij}) -where r_{ij}^k is the k^{th} component of \bold{r}_i - \bold{r}_j. +V_i^k(\eta) = \sum\limits_{i \ne j} \frac{r_{ij}^k}{r_{ij}} e^{-(\frac{r_{ij}}{\eta})^2} f(r_{ij}) +where r_{ij}^k is the k^{th} component of \bold{r}_i - \bold{r}_j. Parameters: TODO: Differentiate between different atom types (maybe as another class)

      -
      -__init__(directions=None, 'x', 'y', 'z', etas=None, cutoff=8)
      +
      +__init__(directions=(None, 'x', 'y', 'z'), etas=None, cutoff=8)
      Args:
      directions (iterable): List of directions for the fingerprints. Can

      be one or more of ‘None`, ‘x’, ‘y’, or ‘z’

      @@ -956,8 +1015,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -969,8 +1028,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -979,8 +1038,8 @@

      Submodules -
      -featurize(struct, idx)
      +
      +featurize(struct, idx)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -992,8 +1051,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1009,9 +1068,9 @@

      Submodules -
      -class matminer.featurizers.site.fingerprint.ChemEnvSiteFingerprint(cetypes, strategy, geom_finder, max_csm=8, max_dist_fac=1.41)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.site.fingerprint.ChemEnvSiteFingerprint(cetypes, strategy, geom_finder, max_csm=8, max_dist_fac=1.41)
      +

      Bases: BaseFeaturizer

      Resemblance of given sites to ideal environments

      Site fingerprint computed from pymatgen’s ChemEnv package that provides resemblance percentages of a given site @@ -1034,14 +1093,13 @@

      Submodules -
      -__init__(cetypes, strategy, geom_finder, max_csm=8, max_dist_fac=1.41)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(cetypes, strategy, geom_finder, max_csm=8, max_dist_fac=1.41)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1053,8 +1111,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1063,8 +1121,8 @@

      Submodules -
      -featurize(struct, idx)
      +
      +featurize(struct, idx)

      Get ChemEnv fingerprint of site with given index in input structure. Args:

      @@ -1082,8 +1140,8 @@

      Submodules -
      -static from_preset(preset)
      +
      +static from_preset(preset)

      Use a standard collection of CE types and choose your ChemEnv neighbor-finding strategy. Args:

      @@ -1100,8 +1158,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1117,9 +1175,9 @@

      Submodules -
      -class matminer.featurizers.site.fingerprint.CrystalNNFingerprint(op_types, chem_info=None, **kwargs)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.site.fingerprint.CrystalNNFingerprint(op_types, chem_info=None, **kwargs)
      +

      Bases: BaseFeaturizer

      A local order parameter fingerprint for periodic crystals.

      The fingerprint represents the value of various order parameters for the site. The “wt” order parameter describes how consistent a site is with a @@ -1129,8 +1187,8 @@

      Submodules -
      -__init__(op_types, chem_info=None, **kwargs)
      +
      +__init__(op_types, chem_info=None, **kwargs)

      Initialize the CrystalNNFingerprint. Use the from_preset() function to use default params. Args:

      @@ -1147,8 +1205,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1160,8 +1218,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1170,8 +1228,8 @@

      Submodules -
      -featurize(struct, idx)
      +
      +featurize(struct, idx)

      Get crystal fingerprint of site with given index in input structure. Args:

      @@ -1186,19 +1244,22 @@

      Submodules -
      -static from_preset(preset, **kwargs)
      +
      +static from_preset(preset: Literal['cn', 'ops'], **kwargs)

      Use preset parameters to get the fingerprint Args:

      -

      preset (str): name of preset (“cn” or “ops”) -**kwargs: other settings to be passed into CrystalNN class

      +
      +
      preset (‘cn’ | ‘ops’): Initializes the featurizer to use coordination number (‘cn’) or structural

      order parameters like octahedral, tetrahedral (‘ops’).

      +
      +
      +

      **kwargs: other settings to be passed into CrystalNN class

      -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1214,9 +1275,9 @@

      Submodules -
      -class matminer.featurizers.site.fingerprint.OPSiteFingerprint(target_motifs=None, dr=0.1, ddr=0.01, ndr=1, dop=0.001, dist_exp=2, zero_ops=True)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.site.fingerprint.OPSiteFingerprint(target_motifs=None, dr=0.1, ddr=0.01, ndr=1, dop=0.001, dist_exp=2, zero_ops=True)
      +

      Bases: BaseFeaturizer

      Local structure order parameters computed from a site’s neighbor env.

      For each order parameter, we determine the neighbor shell that complies with the expected @@ -1260,14 +1321,13 @@

      Submodules -
      -__init__(target_motifs=None, dr=0.1, ddr=0.01, ndr=1, dop=0.001, dist_exp=2, zero_ops=True)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(target_motifs=None, dr=0.1, ddr=0.01, ndr=1, dop=0.001, dist_exp=2, zero_ops=True)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1279,8 +1339,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1289,8 +1349,8 @@

      Submodules -
      -featurize(struct, idx)
      +
      +featurize(struct, idx)

      Get OP fingerprint of site with given index in input structure. Args:

      @@ -1305,8 +1365,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1322,9 +1382,9 @@

      Submodules -
      -class matminer.featurizers.site.fingerprint.VoronoiFingerprint(cutoff=6.5, use_symm_weights=False, symm_weights='solid_angle', stats_vol=None, stats_area=None, stats_dist=None)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.site.fingerprint.VoronoiFingerprint(cutoff=6.5, use_symm_weights=False, symm_weights='solid_angle', stats_vol=None, stats_area=None, stats_dist=None)
      +

      Bases: BaseFeaturizer

      Voronoi tessellation-based features around target site.

      Calculate the following sets of features based on Voronoi tessellation analysis around the target site: @@ -1380,14 +1440,13 @@

      Submodules -
      -__init__(cutoff=6.5, use_symm_weights=False, symm_weights='solid_angle', stats_vol=None, stats_area=None, stats_dist=None)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(cutoff=6.5, use_symm_weights=False, symm_weights='solid_angle', stats_vol=None, stats_area=None, stats_dist=None)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1399,8 +1458,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1409,8 +1468,8 @@

      Submodules -
      -featurize(struct, idx)
      +
      +featurize(struct, idx)

      Get Voronoi fingerprints of site with given index in input structure. Args:

      @@ -1434,8 +1493,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1451,8 +1510,8 @@

      Submodules -
      -matminer.featurizers.site.fingerprint.load_cn_motif_op_params()
      +
      +matminer.featurizers.site.fingerprint.load_cn_motif_op_params()

      Load the file for the local env motif parameters into a dictionary.

      Returns:

      (dict)

      @@ -1461,8 +1520,8 @@

      Submodules -
      -matminer.featurizers.site.fingerprint.load_cn_target_motif_op()
      +
      +matminer.featurizers.site.fingerprint.load_cn_target_motif_op()

      Load the file fpor the

      Returns:

      (dict)

      @@ -1470,14 +1529,14 @@

      Submodules -

      matminer.featurizers.site.misc module

      +

      +
      +

      matminer.featurizers.site.misc module

      Miscellaneous site featurizers.

      -
      -class matminer.featurizers.site.misc.CoordinationNumber(nn=None, use_weights='none')
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.site.misc.CoordinationNumber(nn=None, use_weights='none')
      +

      Bases: BaseFeaturizer

      Number of first nearest neighbors of a site.

      Determines the number of nearest neighbors of a site using one of pymatgen’s NearNeighbor classes. These nearest neighbor calculators @@ -1495,8 +1554,8 @@

      Submodules -
      -__init__(nn=None, use_weights='none')
      +
      +__init__(nn=None, use_weights='none')

      Initialize the featurizer

      Args:

      nn (NearestNeighbor) - Method used to determine coordination number @@ -1506,7 +1565,7 @@

      Submodules

      +

      is computed as \frac{(\sum_n w_n)^2)}{\sum_n w_n^2}

      @@ -1514,8 +1573,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1527,8 +1586,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1537,8 +1596,8 @@

      Submodules -
      -featurize(struct, idx)
      +
      +featurize(struct, idx)

      Get coordintion number of site with given index in input structure. Args:

      @@ -1553,8 +1612,8 @@

      Submodules -
      -static from_preset(preset, **kwargs)
      +
      +static from_preset(preset, **kwargs)

      Use one of the standard instances of a given NearNeighbor class. Args:

      @@ -1572,8 +1631,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1589,9 +1648,9 @@

      Submodules -
      -class matminer.featurizers.site.misc.IntersticeDistribution(cutoff=6.5, interstice_types=None, stats=None, radius_type='MiracleRadius')
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.site.misc.IntersticeDistribution(cutoff=6.5, interstice_types=None, stats=None, radius_type='MiracleRadius')
      +

      Bases: BaseFeaturizer

      Interstice distribution in the neighboring cluster around an atom site.

      The interstices are categorized to distance, area and volume interstices. Each of these metrics is a measures of the relative amount of empty space @@ -1627,14 +1686,13 @@

      Submodules -
      -__init__(cutoff=6.5, interstice_types=None, stats=None, radius_type='MiracleRadius')
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(cutoff=6.5, interstice_types=None, stats=None, radius_type='MiracleRadius')
      +
      -
      -static analyze_area_interstice(nn_coords, nn_rs, convex_hull_simplices)
      +
      +static analyze_area_interstice(nn_coords, nn_rs, convex_hull_simplices)

      Analyze the area interstices in the neighbor convex hull facets. Args:

      @@ -1652,8 +1710,8 @@

      Submodules -
      -static analyze_dist_interstices(center_r, nn_rs, nn_dists)
      +
      +static analyze_dist_interstices(center_r, nn_rs, nn_dists)

      Analyze the distance interstices between center atom and neighbors. Args:

      @@ -1668,8 +1726,8 @@

      Submodules -
      -static analyze_vol_interstice(center_coords, nn_coords, center_r, nn_rs, convex_hull_simplices)
      +
      +static analyze_vol_interstice(center_coords, nn_coords, center_r, nn_rs, convex_hull_simplices)

      Analyze the volume interstices in the tetrahedra formed by center atom and neighbor convex hull triplets. Args:

      @@ -1690,8 +1748,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1703,8 +1761,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1713,8 +1771,8 @@

      Submodules -
      -featurize(struct, idx)
      +
      +featurize(struct, idx)

      Get interstice distribution fingerprints of site with given index in input structure. Args:

      @@ -1729,8 +1787,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1745,14 +1803,14 @@

      Submodules -

      matminer.featurizers.site.rdf module

      + +
      +

      matminer.featurizers.site.rdf module

      Site featurizers based on distribution functions.

      -
      -class matminer.featurizers.site.rdf.AngularFourierSeries(bins, cutoff=10.0)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.site.rdf.AngularFourierSeries(bins, cutoff=10.0)
      +

      Bases: BaseFeaturizer

      Compute the angular Fourier series (AFS), including both angular and radial info

      The AFS is the product of pairwise distance function (g_n, g_n’) between two pairs of atoms (sharing the common central site) and the cosine of the angle @@ -1781,14 +1839,13 @@

      Submodules -
      -__init__(bins, cutoff=10.0)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(bins, cutoff=10.0)
      +

      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1800,8 +1857,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1810,8 +1867,8 @@

      Submodules -
      -featurize(struct, idx)
      +
      +featurize(struct, idx)

      Get AFS of the input structure. Args:

      @@ -1828,8 +1885,8 @@

      Submodules -
      -static from_preset(preset, width=0.5, spacing=0.5, cutoff=10)
      +
      +static from_preset(preset, width=0.5, spacing=0.5, cutoff=10)
      Preset bin functions for this featurizer. Example use:
      >>> AFS = AngularFourierSeries.from_preset('gaussian')
       >>> AFS.featurize(struct, idx)
      @@ -1845,8 +1902,8 @@ 

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1862,9 +1919,9 @@

      Submodules -
      -class matminer.featurizers.site.rdf.GaussianSymmFunc(etas_g2=None, etas_g4=None, zetas_g4=None, gammas_g4=None, cutoff=6.5)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.site.rdf.GaussianSymmFunc(etas_g2=None, etas_g4=None, zetas_g4=None, gammas_g4=None, cutoff=6.5)
      +

      Bases: BaseFeaturizer

      Gaussian symmetry function features suggested by Behler et al.

      The function is based on pair distances and angles, to approximate the functional dependence of local energies, originally used in the fitting of @@ -1896,14 +1953,13 @@

      Submodules -
      -__init__(etas_g2=None, etas_g4=None, zetas_g4=None, gammas_g4=None, cutoff=6.5)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(etas_g2=None, etas_g4=None, zetas_g4=None, gammas_g4=None, cutoff=6.5)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1915,8 +1971,8 @@

      Submodules -
      -static cosine_cutoff(rs, cutoff)
      +
      +static cosine_cutoff(rs, cutoff)

      Polynomial cutoff function to give a smoothed truncation of the Gaussian symmetry functions. Args:

      @@ -1931,8 +1987,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1941,8 +1997,8 @@

      Submodules -
      -featurize(struct, idx)
      +
      +featurize(struct, idx)

      Get Gaussian symmetry function features of site with given index in input structure. Args:

      @@ -1957,8 +2013,8 @@

      Submodules -
      -static g2(eta, rs, cutoff)
      +
      +static g2(eta, rs, cutoff)

      Gaussian radial symmetry function of the center atom, given an eta parameter. Args:

      @@ -1974,8 +2030,8 @@

      Submodules -
      -static g4(etas, zetas, gammas, neigh_dist, neigh_coords, cutoff)
      +
      +static g4(etas, zetas, gammas, neigh_dist, neigh_coords, cutoff)

      Gaussian angular symmetry function of the center atom, given a set of eta, zeta and gamma parameters. Args:

      @@ -1996,8 +2052,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -2013,9 +2069,9 @@

      Submodules -
      -class matminer.featurizers.site.rdf.GeneralizedRadialDistributionFunction(bins, cutoff=20.0, mode='GRDF')
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.site.rdf.GeneralizedRadialDistributionFunction(bins, cutoff=20.0, mode='GRDF')
      +

      Bases: BaseFeaturizer

      Compute the general radial distribution function (GRDF) for a site.

      The GRDF is a radial measure of crystal order around a site. There are two featurizing modes:

      @@ -2059,14 +2115,13 @@

      Submodules -
      -__init__(bins, cutoff=20.0, mode='GRDF')
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(bins, cutoff=20.0, mode='GRDF')
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -2078,8 +2133,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -2088,8 +2143,8 @@

      Submodules -
      -featurize(struct, idx)
      +
      +featurize(struct, idx)

      Get GRDF of the input structure. Args:

      @@ -2109,8 +2164,8 @@

      Submodules -
      -fit(X, y=None, **fit_kwargs)
      +
      +fit(X, y=None, **fit_kwargs)

      Determine the maximum number of sites in X to assign correct feature labels

      @@ -2125,8 +2180,8 @@

      Submodules -
      -static from_preset(preset, width=1.0, spacing=1.0, cutoff=10, mode='GRDF')
      +
      +static from_preset(preset, width=1.0, spacing=1.0, cutoff=10, mode='GRDF')
      Preset bin functions for this featurizer. Example use:
      >>> GRDF = GeneralizedRadialDistributionFunction.from_preset('gaussian')
       >>> GRDF.featurize(struct, idx)
      @@ -2143,8 +2198,8 @@ 

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -2159,11 +2214,11 @@

      Submodules -

      Module contents

      -

      -
      + +
      +

      Module contents

      +
      +
      @@ -2172,22 +2227,201 @@

      Submodules
      -

      Table of Contents

      -

      @@ -2218,14 +2452,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.featurizers.site.tests.html b/docs/matminer.featurizers.site.tests.html index ebee9c8ff..9b62fa141 100644 --- a/docs/matminer.featurizers.site.tests.html +++ b/docs/matminer.featurizers.site.tests.html @@ -1,18 +1,20 @@ - + - - matminer.featurizers.site.tests package — matminer 0.7.8 documentation - - - + + + matminer.featurizers.site.tests package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - +

      @@ -38,196 +40,196 @@

      Navigation

      -
      -

      matminer.featurizers.site.tests package

      -
      -

      Submodules

      -
      -
      -

      matminer.featurizers.site.tests.base module

      +
      +

      matminer.featurizers.site.tests package

      +
      +

      Submodules

      +
      +
      +

      matminer.featurizers.site.tests.base module

      -
      -class matminer.featurizers.site.tests.base.SiteFeaturizerTest(methodName='runTest')
      -

      Bases: pymatgen.util.testing.PymatgenTest

      +
      +class matminer.featurizers.site.tests.base.SiteFeaturizerTest(methodName='runTest')
      +

      Bases: PymatgenTest

      -
      -setUp()
      +
      +setUp()

      Hook method for setting up the test fixture before exercising it.

      -
      -tearDown()
      +
      +tearDown()

      Hook method for deconstructing the test fixture after testing it.

      -
      -
      -

      matminer.featurizers.site.tests.test_bonding module

      + +
      +

      matminer.featurizers.site.tests.test_bonding module

      -
      -class matminer.featurizers.site.tests.test_bonding.BondingTest(methodName='runTest')
      -

      Bases: matminer.featurizers.site.tests.base.SiteFeaturizerTest

      +
      +class matminer.featurizers.site.tests.test_bonding.BondingTest(methodName='runTest')
      +

      Bases: SiteFeaturizerTest

      -
      -test_AverageBondAngle()
      +
      +test_AverageBondAngle()
      -
      -test_AverageBondLength()
      +
      +test_AverageBondLength()
      -
      -test_bop()
      +
      +test_bop()
      -
      -
      -

      matminer.featurizers.site.tests.test_chemical module

      + +
      +

      matminer.featurizers.site.tests.test_chemical module

      -
      -class matminer.featurizers.site.tests.test_chemical.ChemicalSiteTests(methodName='runTest')
      -

      Bases: matminer.featurizers.site.tests.base.SiteFeaturizerTest

      +
      +class matminer.featurizers.site.tests.test_chemical.ChemicalSiteTests(methodName='runTest')
      +

      Bases: SiteFeaturizerTest

      -
      -test_chemicalSRO()
      +
      +test_chemicalSRO()
      -
      -test_ewald_site()
      +
      +test_ewald_site()
      -
      -test_local_prop_diff()
      +
      +test_local_prop_diff()
      -
      -test_site_elem_prop()
      +
      +test_site_elem_prop()
      -
      -
      -

      matminer.featurizers.site.tests.test_external module

      + +
      +

      matminer.featurizers.site.tests.test_external module

      -
      -class matminer.featurizers.site.tests.test_external.ExternalSiteTests(methodName='runTest')
      -

      Bases: matminer.featurizers.site.tests.base.SiteFeaturizerTest

      +
      +class matminer.featurizers.site.tests.test_external.ExternalSiteTests(methodName='runTest')
      +

      Bases: SiteFeaturizerTest

      -
      -test_SOAP()
      +
      +test_SOAP()
      -
      -
      -

      matminer.featurizers.site.tests.test_fingerprint module

      + +
      +

      matminer.featurizers.site.tests.test_fingerprint module

      -
      -class matminer.featurizers.site.tests.test_fingerprint.FingerprintTests(methodName='runTest')
      -

      Bases: matminer.featurizers.site.tests.base.SiteFeaturizerTest

      +
      +class matminer.featurizers.site.tests.test_fingerprint.FingerprintTests(methodName='runTest')
      +

      Bases: SiteFeaturizerTest

      -
      -test_chemenv_site_fingerprint()
      +
      +test_chemenv_site_fingerprint()
      -
      -test_crystal_nn_fingerprint()
      +
      +test_crystal_nn_fingerprint()
      -
      -test_dataframe()
      +
      +test_dataframe()
      -
      -test_off_center_cscl()
      +
      +test_off_center_cscl()
      -
      -test_op_site_fingerprint()
      +
      +test_op_site_fingerprint()
      -
      -test_simple_cubic()
      +
      +test_simple_cubic()

      Test with an easy structure

      -
      -test_voronoifingerprint()
      +
      +test_voronoifingerprint()
      -
      -
      -

      matminer.featurizers.site.tests.test_misc module

      + +
      +

      matminer.featurizers.site.tests.test_misc module

      -
      -class matminer.featurizers.site.tests.test_misc.MiscSiteTests(methodName='runTest')
      -

      Bases: matminer.featurizers.site.tests.base.SiteFeaturizerTest

      +
      +class matminer.featurizers.site.tests.test_misc.MiscSiteTests(methodName='runTest')
      +

      Bases: SiteFeaturizerTest

      -
      -test_cns()
      +
      +test_cns()
      -
      -test_interstice_distribution_of_crystal()
      +
      +test_interstice_distribution_of_crystal()
      -
      -test_interstice_distribution_of_glass()
      +
      +test_interstice_distribution_of_glass()
      -
      -
      -

      matminer.featurizers.site.tests.test_rdf module

      + +
      +

      matminer.featurizers.site.tests.test_rdf module

      -
      -class matminer.featurizers.site.tests.test_rdf.RDFTests(methodName='runTest')
      -

      Bases: matminer.featurizers.site.tests.base.SiteFeaturizerTest

      +
      +class matminer.featurizers.site.tests.test_rdf.RDFTests(methodName='runTest')
      +

      Bases: SiteFeaturizerTest

      -
      -test_afs()
      +
      +test_afs()
      -
      -test_gaussiansymmfunc()
      +
      +test_gaussiansymmfunc()
      -
      -test_grdf()
      +
      +test_grdf()
      -
      -
      -

      Module contents

      -
      -
      + +
      +

      Module contents

      +
      +
      @@ -236,22 +238,82 @@

      Submodules
      -

      Table of Contents

      -

      @@ -282,14 +344,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.featurizers.structure.html b/docs/matminer.featurizers.structure.html index bb811a434..aa640e22f 100644 --- a/docs/matminer.featurizers.structure.html +++ b/docs/matminer.featurizers.structure.html @@ -1,18 +1,20 @@ - + - - matminer.featurizers.structure package — matminer 0.7.8 documentation - - - + + + matminer.featurizers.structure package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - +
      @@ -38,39 +40,116 @@

      Navigation

      -
      -

      matminer.featurizers.structure package

      -
      -

      Subpackages

      +
      +

      matminer.featurizers.structure package

      +
      +

      Subpackages

      -
      -
      -

      Submodules

      -
      -
      -

      matminer.featurizers.structure.bonding module

      + +
      +

      Submodules

      +
      +
      +

      matminer.featurizers.structure.bonding module

      Structure featurizers based on bonding.

      -
      -class matminer.featurizers.structure.bonding.BagofBonds(coulomb_matrix=SineCoulombMatrix(flatten=False), token=' - ')
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.bonding.BagofBonds(coulomb_matrix=SineCoulombMatrix(flatten=False), token=' - ')
      +

      Bases: BaseFeaturizer

      Compute a Bag of Bonds vector, as first described by Hansen et al. (2015).

      The Bag of Bonds approach is based creating an even-length vector from a Coulomb matrix output. Practically, it represents the Coloumbic interactions @@ -100,14 +179,13 @@

      Submodules -
      -__init__(coulomb_matrix=SineCoulombMatrix(flatten=False), token=' - ')
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(coulomb_matrix=SineCoulombMatrix(flatten=False), token=' - ')
      +
      -
      -bag(s, return_baglens=False)
      +
      +bag(s, return_baglens=False)

      Convert a structure into a bag of bonds, where each bag has no padded zeros. using this function will give the ‘raw’ bags, which when concatenated, will have different lengths.

      @@ -131,8 +209,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -144,8 +222,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -154,8 +232,8 @@

      Submodules -
      -featurize(s)
      +
      +featurize(s)

      Featurizes a structure according to the bag of bonds method. Specifically, each structure is first bagged by flattening the Coulomb matrix for the structure. Then, it is zero-padded according to @@ -170,8 +248,8 @@

      Submodules -
      -fit(X, y=None)
      +
      +fit(X, y=None)

      Define the bags using a list of structures.

      Both the names of the bags (e.g., Cs-Cl) and the maximum lengths of the bags are set with fit.

      @@ -189,8 +267,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -206,9 +284,9 @@

      Submodules -
      -class matminer.featurizers.structure.bonding.BondFractions(nn=<pymatgen.analysis.local_env.CrystalNN object>, bbv=0, no_oxi=False, approx_bonds=False, token=' - ', allowed_bonds=None)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.bonding.BondFractions(nn=<pymatgen.analysis.local_env.CrystalNN object>, bbv=0, no_oxi=False, approx_bonds=False, token=' - ', allowed_bonds=None)
      +

      Bases: BaseFeaturizer

      Compute the fraction of each bond in a structure, based on NearestNeighbors.

      For example, in a structure with 2 Li-O bonds and 3 Li-P bonds:

      Li-0: 0.4 @@ -261,14 +339,13 @@

      Submodules -
      -__init__(nn=<pymatgen.analysis.local_env.CrystalNN object>, bbv=0, no_oxi=False, approx_bonds=False, token=' - ', allowed_bonds=None)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(nn=<pymatgen.analysis.local_env.CrystalNN object>, bbv=0, no_oxi=False, approx_bonds=False, token=' - ', allowed_bonds=None)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -280,8 +357,8 @@

      Submodules -
      -enumerate_all_bonds(structures)
      +
      +enumerate_all_bonds(structures)

      Identify all the unique, possible bonds types of all structures present, and create the ‘unified’ bonds list.

      @@ -294,8 +371,8 @@

      Submodules -
      -enumerate_bonds(s)
      +
      +enumerate_bonds(s)

      Lists out all the bond possibilities in a single structure.

      Args:

      s (Structure): A pymatgen structure

      @@ -307,15 +384,15 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Returns the list of allowed bonds. Throws an error if the featurizer has not been fit.

      -
      -featurize(s)
      +
      +featurize(s)

      Quantify the fractions of each bond type in a structure.

      For collections of structures, bonds types which are not found in a particular structure (e.g., Li-P in BaTiO3) are represented as NaN.

      @@ -331,8 +408,8 @@

      Submodules -
      -fit(X, y=None)
      +
      +fit(X, y=None)

      Define the bond types allowed to be returned during each featurization. Bonds found during featurization which are not allowed will be omitted from the returned dataframe or matrix.

      @@ -353,8 +430,8 @@

      Submodules -
      -static from_preset(preset, **kwargs)
      +
      +static from_preset(preset, **kwargs)

      Use one of the standard instances of a given NearNeighbor class. Pass args to __init__, such as allowed_bonds, using this method as well.

      @@ -367,8 +444,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -384,9 +461,9 @@

      Submodules -
      -class matminer.featurizers.structure.bonding.GlobalInstabilityIndex(r_cut=4.0, disordered_pymatgen=False)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.bonding.GlobalInstabilityIndex(r_cut=4.0, disordered_pymatgen=False)
      +

      Bases: BaseFeaturizer

      The global instability index of a structure.

      The default is to use IUCr 2016 bond valence parameters for computing bond valence sums. If the structure has disordered site occupancies @@ -418,14 +495,13 @@

      Submodules -
      -__init__(r_cut=4.0, disordered_pymatgen=False)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(r_cut=4.0, disordered_pymatgen=False)
      +
      -
      -calc_bv_sum(site_val, site_el, neighbor_list)
      +
      +calc_bv_sum(site_val, site_el, neighbor_list)

      Computes bond valence sum for site. Args:

      @@ -436,8 +512,8 @@

      Submodules -
      -calc_gii_iucr(s)
      +
      +calc_gii_iucr(s)

      Computes global instability index using tabulated bv params.

      Args:

      s: Pymatgen Structure object

      @@ -448,8 +524,8 @@

      Submodules -
      -calc_gii_pymatgen(struct, scale_factor=0.965)
      +
      +calc_gii_pymatgen(struct, scale_factor=0.965)

      Calculates global instability index using Pymatgen’s bond valence sum Args:

      @@ -463,8 +539,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -476,8 +552,8 @@

      Submodules -
      -static compute_bv(params, dist)
      +
      +static compute_bv(params, dist)

      Compute bond valence from parameters. Args:

      @@ -491,8 +567,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -501,8 +577,8 @@

      Submodules -
      -featurize(struct)
      +
      +featurize(struct)

      Get global instability index.

      Args:

      struct: Pymatgen Structure object

      @@ -513,8 +589,8 @@

      Submodules -
      -get_bv_params(cation, anion, cat_val, an_val)
      +
      +get_bv_params(cation, anion, cat_val, an_val)

      Lookup bond valence parameters from IUPAC table. Args:

      @@ -530,14 +606,14 @@

      Submodules -
      -get_equiv_sites(s, site)
      +
      +get_equiv_sites(s, site)

      Find identical sites from analyzing space group symmetry.

      -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -551,8 +627,8 @@

      Submodules -
      -precheck(struct)
      +
      +precheck(struct)

      Bond valence methods require atom pairs with oxidation states.

      Additionally, check if at least the first and last site’s species have a entry in the bond valence parameters.

      @@ -565,9 +641,9 @@

      Submodules -
      -class matminer.featurizers.structure.bonding.MinimumRelativeDistances(cutoff=10.0, flatten=True, include_distances=True, include_species=True)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.bonding.MinimumRelativeDistances(cutoff=10.0, flatten=True, include_distances=True, include_species=True)
      +

      Bases: BaseFeaturizer

      Determines the relative distance of each site to its closest neighbor.

      We use the relative distance, f_ij = r_ij / (r^atom_i + r^atom_j), as a measure rather than the @@ -617,14 +693,13 @@

      Submodules -
      -__init__(cutoff=10.0, flatten=True, include_distances=True, include_species=True)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(cutoff=10.0, flatten=True, include_distances=True, include_species=True)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -636,8 +711,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -646,8 +721,8 @@

      Submodules -
      -featurize(s)
      +
      +featurize(s)

      Get minimum relative distances of all sites of the input structure.

      Args:

      s: Pymatgen Structure object.

      @@ -661,8 +736,8 @@

      Submodules -
      -fit(X, y=None)
      +
      +fit(X, y=None)

      Fit the MRD featurizer to a list of structures. Args:

      @@ -676,8 +751,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -693,9 +768,9 @@

      Submodules -
      -class matminer.featurizers.structure.bonding.StructuralHeterogeneity(weight='area', stats='minimum', 'maximum', 'range', 'mean', 'avg_dev')
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.bonding.StructuralHeterogeneity(weight='area', stats=('minimum', 'maximum', 'range', 'mean', 'avg_dev'))
      +

      Bases: BaseFeaturizer

      Variance in the bond lengths and atomic volumes in a structure

      These features are based on several statistics derived from the Voronoi tessellation of a structure. The first set of features relate to the @@ -731,14 +806,13 @@

      Submodules -
      -__init__(weight='area', stats='minimum', 'maximum', 'range', 'mean', 'avg_dev')
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(weight='area', stats=('minimum', 'maximum', 'range', 'mean', 'avg_dev'))
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -750,8 +824,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -760,8 +834,8 @@

      Submodules -
      -featurize(strc)
      +
      +featurize(strc)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -773,8 +847,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -789,14 +863,14 @@

      Submodules -

      matminer.featurizers.structure.composite module

      +

      +
      +

      matminer.featurizers.structure.composite module

      Structure featurizers producing more than one kind of structure feature data.

      -
      -class matminer.featurizers.structure.composite.JarvisCFID(use_cell=True, use_chem=True, use_chg=True, use_rdf=True, use_adf=True, use_ddf=True, use_nn=True)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.composite.JarvisCFID(use_cell=True, use_chem=True, use_chg=True, use_rdf=True, use_adf=True, use_ddf=True, use_nn=True)
      +

      Bases: BaseFeaturizer

      Classical Force-Field Inspired Descriptors (CFID) from Jarvis-ML.

      Chemo-structural descriptors from five different sub-methods, including pairwise radial, nearest neighbor, bond-angle, dihedral-angle and @@ -823,14 +897,13 @@

      Submodules -
      -__init__(use_cell=True, use_chem=True, use_chg=True, use_rdf=True, use_adf=True, use_ddf=True, use_nn=True)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(use_cell=True, use_chem=True, use_chg=True, use_rdf=True, use_adf=True, use_ddf=True, use_nn=True)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -842,8 +915,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -852,8 +925,8 @@

      Submodules -
      -featurize(s)
      +
      +featurize(s)

      Get chemo-structural CFID descriptors

      Args:

      s: Structure object

      @@ -864,8 +937,8 @@

      Submodules -
      -get_chem(element)
      +
      +get_chem(element)

      Get chemical descriptors for an element

      Args:

      element: element name

      @@ -876,8 +949,8 @@

      Submodules -
      -get_chg(element)
      +
      +get_chg(element)

      Get charge descriptors for an element

      Args:

      element: element name

      @@ -888,8 +961,8 @@

      Submodules -
      -get_distributions(structure, c_size=10.0, max_cut=5.0)
      +
      +get_distributions(structure, c_size=10.0, max_cut=5.0)

      Get radial and angular distribution functions

      Args:

      structure: Structure object @@ -907,8 +980,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -923,19 +996,19 @@

      Submodules -

      matminer.featurizers.structure.matrix module

      +

      +
      +

      matminer.featurizers.structure.matrix module

      Structure featurizers generating a matrix for each structure.

      Most matrix structure featurizers contain the ability to flatten matrices to be dataframe-friendly.

      -
      -class matminer.featurizers.structure.matrix.CoulombMatrix(diag_elems=True, flatten=True)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.matrix.CoulombMatrix(diag_elems=True, flatten=True)
      +

      Bases: BaseFeaturizer

      The Coulomb matrix, a representation of nuclear coulombic interaction.

      Generate the Coulomb matrix, M, of the input structure (or molecule). The Coulomb matrix was put forward by Rupp et al. (Phys. Rev. Lett. 108, 058301, -2012) and is defined by off-diagonal elements M_ij = Z_i*Z_j/|R_i-R_j| and +2012) and is defined by off-diagonal elements M_ij = Z_i*Z_j/|R_i-R_j| and diagonal elements 0.5*Z_i^2.4, where Z_i and R_i denote the nuclear charge and the position of atom i, respectively.

      Coulomb Matrix features are flattened (for ML-readiness) by default. Use @@ -953,14 +1026,13 @@

      Submodules -
      -__init__(diag_elems=True, flatten=True)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(diag_elems=True, flatten=True)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -972,8 +1044,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -982,8 +1054,8 @@

      Submodules -
      -featurize(s)
      +
      +featurize(s)

      Get Coulomb matrix of input structure.

      Args:

      s: input Structure (or Molecule) object.

      @@ -994,8 +1066,8 @@

      Submodules -
      -fit(X, y=None)
      +
      +fit(X, y=None)

      Fit the Coulomb Matrix to a list of structures.

      Args:

      X ([Structure]): A list of pymatgen structures. @@ -1007,8 +1079,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1024,9 +1096,9 @@

      Submodules -
      -class matminer.featurizers.structure.matrix.OrbitalFieldMatrix(period_tag=False, flatten=True)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.matrix.OrbitalFieldMatrix(period_tag=False, flatten=True)
      +

      Bases: BaseFeaturizer

      Representation based on the valence shell electrons of neighboring atoms.

      Each atom is described by a 32-element vector (or 39-element vector, see period tag for details) uniquely representing the valence subshell. @@ -1057,8 +1129,8 @@

      Submodules -
      -__init__(period_tag=False, flatten=True)
      +
      +__init__(period_tag=False, flatten=True)

      Initialize the featurizer

      Args:
      @@ -1075,8 +1147,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1088,8 +1160,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1098,8 +1170,8 @@

      Submodules -
      -featurize(s)
      +
      +featurize(s)

      Makes a supercell for structure s (to protect sites from coordinating with themselves), and then finds the mean of the orbital field matrices of each site to characterize @@ -1116,8 +1188,8 @@

      Submodules -
      -get_atom_ofms(struct, symm=False)
      +
      +get_atom_ofms(struct, symm=False)

      Calls get_single_ofm for every site in struct. If symm=True, get_single_ofm is called for symmetrically distinct sites, and counts is constructed such that ofms[i] occurs counts[i] times @@ -1143,14 +1215,14 @@

      Submodules -
      -get_mean_ofm(ofms, counts)
      +
      +get_mean_ofm(ofms, counts)

      Averages a list of ofms, weights by counts

      -
      -get_ohv(sp, period_tag)
      +
      +get_ohv(sp, period_tag)

      Get the “one-hot-vector” for pymatgen Element sp. This 32 or 39-length vector represents the valence shell of the given element. Args:

      @@ -1168,8 +1240,8 @@

      Submodules -
      -get_single_ofm(site, site_dict)
      +
      +get_single_ofm(site, site_dict)

      Gets the orbital field matrix for a single chemical environment, where site is the center atom whose environment is characterized and site_dict is a dictionary of site : weight, where the weights are the @@ -1184,15 +1256,15 @@

      Submodules -
      -get_structure_ofm(struct)
      +
      +get_structure_ofm(struct)

      Calls get_mean_ofm on the results of get_atom_ofms to give a size X size matrix characterizing a structure

      -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1208,9 +1280,9 @@

      Submodules -
      -class matminer.featurizers.structure.matrix.SineCoulombMatrix(diag_elems=True, flatten=True)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.matrix.SineCoulombMatrix(diag_elems=True, flatten=True)
      +

      Bases: BaseFeaturizer

      A variant of the Coulomb matrix developed for periodic crystals.

      This function generates a variant of the Coulomb matrix developed for periodic crystals by Faber et al. (Inter. J. Quantum Chem. @@ -1233,14 +1305,13 @@

      Submodules -
      -__init__(diag_elems=True, flatten=True)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(diag_elems=True, flatten=True)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1252,8 +1323,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1262,8 +1333,8 @@

      Submodules -
      -featurize(s)
      +
      +featurize(s)
      Args:

      s (Structure or Molecule): input structure (or molecule)

      @@ -1273,8 +1344,8 @@

      Submodules -
      -fit(X, y=None)
      +
      +fit(X, y=None)

      Fit the Sine Coulomb Matrix to a list of structures.

      Args:

      X ([Structure]): A list of pymatgen structures. @@ -1286,8 +1357,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1302,23 +1373,23 @@

      Submodules -

      matminer.featurizers.structure.misc module

      +

      +
      +

      matminer.featurizers.structure.misc module

      Miscellaneous structure featurizers.

      -
      -class matminer.featurizers.structure.misc.EwaldEnergy(accuracy=4, per_atom=True)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.misc.EwaldEnergy(accuracy=4, per_atom=True)
      +

      Bases: BaseFeaturizer

      Compute the energy from Coulombic interactions.

      -

      Note: The energy is computed using _charges already defined for the structure_.

      +

      Note: The energy is computed using _charges already defined for the structure_.

      Features:

      ewald_energy - Coulomb interaction energy of the structure

      -
      -__init__(accuracy=4, per_atom=True)
      +
      +__init__(accuracy=4, per_atom=True)
      Args:

      accuracy (int): Accuracy of Ewald summation, number of decimal places

      @@ -1326,8 +1397,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1339,8 +1410,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1349,8 +1420,8 @@

      Submodules -
      -featurize(strc)
      +
      +featurize(strc)
      Args:

      (Structure) - Structure being analyzed

      @@ -1360,8 +1431,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1377,9 +1448,9 @@

      Submodules -
      -class matminer.featurizers.structure.misc.StructureComposition(featurizer=None)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.misc.StructureComposition(featurizer=None)
      +

      Bases: BaseFeaturizer

      Features related to the composition of a structure

      This class is just a wrapper that calls a composition-based featurizer on the composition of a Structure

      @@ -1390,8 +1461,8 @@

      Submodules -
      -__init__(featurizer=None)
      +
      +__init__(featurizer=None)

      Initialize the featurizer

      Args:

      featurizer (BaseFeaturizer) - Composition-based featurizer

      @@ -1400,8 +1471,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1413,8 +1484,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1423,8 +1494,8 @@

      Submodules -
      -featurize(strc)
      +
      +featurize(strc)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -1436,8 +1507,8 @@

      Submodules -
      -fit(X, y=None, **fit_kwargs)
      +
      +fit(X, y=None, **fit_kwargs)

      Update the parameters of this featurizer based on available data

      Args:

      X - [list of tuples], training data

      @@ -1448,8 +1519,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1465,14 +1536,14 @@

      Submodules -
      -class matminer.featurizers.structure.misc.XRDPowderPattern(two_theta_range=0, 127, bw_method=0.05, pattern_length=None, **kwargs)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.misc.XRDPowderPattern(two_theta_range=(0, 127), bw_method=0.05, pattern_length=None, **kwargs)
      +

      Bases: BaseFeaturizer

      1D array representing powder diffraction of a structure as calculated by pymatgen. The powder is smeared / normalized according to gaussian_kde.

      -
      -__init__(two_theta_range=0, 127, bw_method=0.05, pattern_length=None, **kwargs)
      +
      +__init__(two_theta_range=(0, 127), bw_method=0.05, pattern_length=None, **kwargs)

      Initialize the featurizer.

      Args:
      @@ -1495,8 +1566,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1508,8 +1579,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1518,8 +1589,8 @@

      Submodules -
      -featurize(strc)
      +
      +featurize(strc)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -1531,8 +1602,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1547,27 +1618,27 @@

      Submodules -

      matminer.featurizers.structure.order module

      +

      +
      +

      matminer.featurizers.structure.order module

      Structure featurizers based on packing or ordering.

      -
      -class matminer.featurizers.structure.order.ChemicalOrdering(shells=1, 2, 3, weight='area')
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.order.ChemicalOrdering(shells=(1, 2, 3), weight='area')
      +

      Bases: BaseFeaturizer

      How much the ordering of species in the structure differs from random

      These parameters describe how much the ordering of all species in a structure deviates from random using a Warren-Cowley-like ordering parameter. The first step of this calculation is to determine the nearest neighbor shells of each site. Then, for each shell a degree of order for each type is determined by computing:

      -

      \alpha (t,s) = 1 - \frac{\sum_n w_n \delta (t - t_n)}{x_t \sum_n w_n}

      -

      where w_n is the weight associated with a certain neighbor, -t_p is the type of the neighbor, and x_t is the fraction +

      \alpha (t,s) = 1 - \frac{\sum_n w_n \delta (t - t_n)}{x_t \sum_n w_n}

      +

      where w_n is the weight associated with a certain neighbor, +t_p is the type of the neighbor, and x_t is the fraction of type t in the structure. For atoms that are randomly dispersed in a structure, this formula yields 0 for all types. For structures where each site is surrounded only by atoms of another type, this formula -yields large values of alpha.

      +yields large values of alpha.

      The mean absolute value of this parameter across all sites is used as a feature.

      @@ -1580,8 +1651,8 @@

      Submodules -
      -__init__(shells=1, 2, 3, weight='area')
      +
      +__init__(shells=(1, 2, 3), weight='area')

      Initialize the featurizer

      Args:

      shells ([int]) - Which neighbor shells to evaluate @@ -1591,8 +1662,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1604,8 +1675,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1614,8 +1685,8 @@

      Submodules -
      -featurize(strc)
      +
      +featurize(strc)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -1627,8 +1698,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1644,9 +1715,9 @@

      Submodules -
      -class matminer.featurizers.structure.order.DensityFeatures(desired_features=None)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.order.DensityFeatures(desired_features=None)
      +

      Bases: BaseFeaturizer

      Calculates density and density-like features

      Features:
        @@ -1657,8 +1728,8 @@

        Submodules -
        -__init__(desired_features=None)
        +
        +__init__(desired_features=None)
        Args:
        desired_features: [str] - choose from “density”, “vpa”,

        “packing fraction”

        @@ -1669,8 +1740,8 @@

        Submodules -
        -citations()
        +
        +citations()

        Citation(s) and reference(s) for this feature.

        Returns:
        @@ -1682,8 +1753,8 @@

        Submodules -
        -feature_labels()
        +
        +feature_labels()

        Generate attribute names.

        Returns:

        ([str]) attribute labels.

        @@ -1692,8 +1763,8 @@

        Submodules -
        -featurize(s)
        +
        +featurize(s)

        Main featurizer function, which has to be implemented in any derived featurizer subclass.

        @@ -1705,8 +1776,8 @@

        Submodules -
        -implementors()
        +
        +implementors()

        List of implementors of the feature.

        Returns:
        @@ -1720,8 +1791,8 @@

        Submodules -
        -precheck(s: pymatgen.core.structure.Structure)bool
        +
        +precheck(s: Structure) bool

        Precheck a single entry. DensityFeatures does not work for disordered structures. To precheck an entire dataframe (qnd automatically gather the fraction of structures that will pass the precheck), please use @@ -1737,9 +1808,9 @@

        Submodules -
        -class matminer.featurizers.structure.order.MaximumPackingEfficiency
        -

        Bases: matminer.featurizers.base.BaseFeaturizer

        +
        +class matminer.featurizers.structure.order.MaximumPackingEfficiency
        +

        Bases: BaseFeaturizer

        Maximum possible packing efficiency of this structure

        Uses a Voronoi tessellation to determine the largest radius each atom can have before any atoms touches any one of their neighbors. Given the @@ -1750,8 +1821,8 @@

        Submodules -
        -citations()
        +
        +citations()

        Citation(s) and reference(s) for this feature.

        Returns:
        @@ -1763,8 +1834,8 @@

        Submodules -
        -feature_labels()
        +
        +feature_labels()

        Generate attribute names.

        Returns:

        ([str]) attribute labels.

        @@ -1773,8 +1844,8 @@

        Submodules -
        -featurize(strc)
        +
        +featurize(strc)

        Main featurizer function, which has to be implemented in any derived featurizer subclass.

        @@ -1786,8 +1857,8 @@

        Submodules -
        -implementors()
        +
        +implementors()

        List of implementors of the feature.

        Returns:
        @@ -1803,19 +1874,19 @@

        Submodules -
        -class matminer.featurizers.structure.order.StructuralComplexity(symprec=0.1)
        -

        Bases: matminer.featurizers.base.BaseFeaturizer

        +
        +class matminer.featurizers.structure.order.StructuralComplexity(symprec=0.1)
        +

        Bases: BaseFeaturizer

        Shannon information entropy of a structure.

        This descriptor treat a structure as a message -to evaluate structural complexity (S) +to evaluate structural complexity (S) using the following equation:

        -

        S = - v \sum_{i=1}^{k} p_i \log_2 p_i

        -

        p_i = m_i / v

        -

        where v is the total number of atoms in the unit cell, -p_i is the probability mass function, -k is the number of symmetrically inequivalent sites, and -m_i is the number of sites classified in i th +

        S = - v \sum_{i=1}^{k} p_i \log_2 p_i

        +

        p_i = m_i / v

        +

        where v is the total number of atoms in the unit cell, +p_i is the probability mass function, +k is the number of symmetrically inequivalent sites, and +m_i is the number of sites classified in i th symmetrically inequivalent site.

        Features:
        +
        +__init__(symprec=0.1)
        +

        -
        -citations()
        +
        +citations()

        Citation(s) and reference(s) for this feature.

        Returns:
        @@ -1846,8 +1916,8 @@

        Submodules -
        -feature_labels()
        +
        +feature_labels()

        Generate attribute names.

        Returns:

        ([str]) attribute labels.

        @@ -1856,8 +1926,8 @@

        Submodules -
        -featurize(struct)
        +
        +featurize(struct)

        Main featurizer function, which has to be implemented in any derived featurizer subclass.

        @@ -1869,8 +1939,8 @@

        Submodules -
        -implementors()
        +
        +implementors()

        List of implementors of the feature.

        Returns:
        @@ -1885,14 +1955,14 @@

        Submodules -

        matminer.featurizers.structure.rdf module

        +

      +
      +

      matminer.featurizers.structure.rdf module

      Structure featurizers implementing radial distribution functions.

      -
      -class matminer.featurizers.structure.rdf.ElectronicRadialDistributionFunction(cutoff=20, dr=0.05)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.rdf.ElectronicRadialDistributionFunction(cutoff=20, dr=0.05)
      +

      Bases: BaseFeaturizer

      Calculate the inherent electronic radial distribution function (ReDF)

      The ReDF is defined according to Willighagen et al., Acta Cryst., 2005, B61, 29-36.

      @@ -1913,14 +1983,13 @@

      Submodules -
      -__init__(cutoff=20, dr=0.05)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(cutoff=20, dr=0.05)
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -1932,8 +2001,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -1942,8 +2011,8 @@

      Submodules -
      -featurize(s)
      +
      +featurize(s)

      Get ReDF of input structure.

      Args:

      s: input Structure object.

      @@ -1953,8 +2022,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -1968,8 +2037,8 @@

      Submodules -
      -precheck(s)bool
      +
      +precheck(s) bool

      Check the structure to ensure the ReDF can be run. Args:

      @@ -1984,9 +2053,9 @@

      Submodules -
      -class matminer.featurizers.structure.rdf.PartialRadialDistributionFunction(cutoff=20.0, bin_size=0.1, include_elems=(), exclude_elems=())
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.rdf.PartialRadialDistributionFunction(cutoff=20.0, bin_size=0.1, include_elems=(), exclude_elems=())
      +

      Bases: BaseFeaturizer

      Compute the partial radial distribution function (PRDF) of an xtal structure

      The PRDF of a crystal structure is the radial distribution function broken down for each pair of atom types. The PRDF was proposed as a structural @@ -2007,14 +2076,13 @@

      Submodules -
      -__init__(cutoff=20.0, bin_size=0.1, include_elems=(), exclude_elems=())
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(cutoff=20.0, bin_size=0.1, include_elems=(), exclude_elems=())
      +
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -2026,8 +2094,8 @@

      Submodules -
      -compute_prdf(s)
      +
      +compute_prdf(s)

      Compute the PRDF for a structure

      Args:

      s: (Structure), structure to be evaluated

      @@ -2042,8 +2110,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -2052,8 +2120,8 @@

      Submodules -
      -featurize(s)
      +
      +featurize(s)

      Get PRDF of the input structure. Args:

      @@ -2070,8 +2138,8 @@

      Submodules -
      -fit(X, y=None)
      +
      +fit(X, y=None)

      Define the list of elements to be included in the PRDF. By default, the PRDF will include all of the elements in X

      @@ -2088,8 +2156,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -2103,8 +2171,8 @@

      Submodules -
      -precheck(s)
      +
      +precheck(s)

      Precheck the structure is ordered. Args:

      @@ -2119,9 +2187,9 @@

      Submodules -
      -class matminer.featurizers.structure.rdf.RadialDistributionFunction(cutoff=20.0, bin_size=0.1)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.rdf.RadialDistributionFunction(cutoff=20.0, bin_size=0.1)
      +

      Bases: BaseFeaturizer

      Calculate the radial distribution function (RDF) of a crystal structure.

      Features:
      +
      +__init__(cutoff=20.0, bin_size=0.1)
      +

      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -2158,8 +2225,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -2168,8 +2235,8 @@

      Submodules -
      -featurize(s)
      +
      +featurize(s)

      Get RDF of the input structure. Args:

      @@ -2186,8 +2253,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -2201,8 +2268,8 @@

      Submodules -
      -precheck(s)
      +
      +precheck(s)

      Precheck the structure is ordered. Args:

      @@ -2217,8 +2284,8 @@

      Submodules -
      -matminer.featurizers.structure.rdf.get_rdf_bin_labels(bin_distances, cutoff)
      +
      +matminer.featurizers.structure.rdf.get_rdf_bin_labels(bin_distances, cutoff)

      Common function for getting bin labels given the distances at which each bin begins and the ending cutoff. Args:

      @@ -2232,14 +2299,113 @@

      Submodules -

      matminer.featurizers.structure.sites module

      +

      +
      +

      matminer.featurizers.structure.sites module

      Structure featurizers based on aggregating site features.

      -
      -class matminer.featurizers.structure.sites.SiteStatsFingerprint(site_featurizer, stats='mean', 'std_dev', min_oxi=None, max_oxi=None, covariance=False)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.sites.PartialsSiteStatsFingerprint(site_featurizer, stats=('mean', 'std_dev'), min_oxi=None, max_oxi=None, covariance=False, include_elems=(), exclude_elems=())
      +

      Bases: SiteStatsFingerprint

      +

      Computes statistics of properties across all sites in a structure, and +breaks these down by element. This featurizer first uses a site featurizer +class (see site.py for options) to compute features of each site of a +specific element in a structure, and then computes features of the entire +structure by measuring statistics of each attribute. +Features:

      +
      +
        +
      • Returns each statistic of each site feature, broken down by element

      • +
      +
      +
      +
      +__init__(site_featurizer, stats=('mean', 'std_dev'), min_oxi=None, max_oxi=None, covariance=False, include_elems=(), exclude_elems=())
      +
      +
      Args:

      site_featurizer (BaseFeaturizer): a site-based featurizer +stats ([str]): list of weighted statistics to compute for each feature.

      +
      +

      If stats is None, a list is returned for each features +that contains the calculated feature for each site in the +structure. +*Note for nth mode, stat must be ‘n*_mode’; e.g. stat=’2nd_mode’

      +
      +
      +
      min_oxi (int): minimum site oxidation state for inclusion (e.g.,

      zero means metals/cations only)

      +
      +
      +

      max_oxi (int): maximum site oxidation state for inclusion +covariance (bool): Whether to compute the covariance of site features

      +
      +
      +
      + +
      +
      +compute_pssf(s, e)
      +
      + +
      +
      +feature_labels()
      +

      Generate attribute names.

      +
      +
      Returns:

      ([str]) attribute labels.

      +
      +
      +
      + +
      +
      +featurize(s)
      +

      Get PSSF of the input structure. +Args:

      +
      +

      s: Pymatgen Structure object.

      +
      +
      +
      Returns:

      pssf: 1D array of each element’s ssf

      +
      +
      +
      + +
      +
      +fit(X, y=None)
      +

      Define the list of elements to be included in the PRDF. By default, +the PRDF will include all of the elements in X +Args:

      +
      +
      +
      X: (numpy array nx1) structures used in the training set. Each entry

      must be Pymatgen Structure objects.

      +
      +
      +

      y: Not used +fit_kwargs: not used

      +
      +
      + +
      +
      +implementors()
      +

      List of implementors of the feature.

      +
      +
      Returns:
      +
      (list) each element should either be a string with author name (e.g.,

      “Anubhav Jain”) or a dictionary with required key “name” and other +keys like “email” or “institution” (e.g., {“name”: “Anubhav +Jain”, “email”: “ajain@lbl.gov”, “institution”: “LBNL”}).

      +
      +
      +
      +
      +
      + +
      + +
      +
      +class matminer.featurizers.structure.sites.SiteStatsFingerprint(site_featurizer, stats=('mean', 'std_dev'), min_oxi=None, max_oxi=None, covariance=False)
      +

      Bases: BaseFeaturizer

      Computes statistics of properties across all sites in a structure.

      This featurizer first uses a site featurizer class (see site.py for options) to compute features of each site in a structure, and then computes @@ -2253,8 +2419,8 @@

      Submodules -
      -__init__(site_featurizer, stats='mean', 'std_dev', min_oxi=None, max_oxi=None, covariance=False)
      +
      +__init__(site_featurizer, stats=('mean', 'std_dev'), min_oxi=None, max_oxi=None, covariance=False)
      Args:

      site_featurizer (BaseFeaturizer): a site-based featurizer stats ([str]): list of weighted statistics to compute for each feature.

      @@ -2262,7 +2428,7 @@

      Submodules*Note for nth mode, stat must be ‘n*_mode’; e.g. stat=’2nd_mode’

      +*Note for nth mode, stat must be ‘n*_mode’; e.g. stat=’2nd_mode’

      min_oxi (int): minimum site oxidation state for inclusion (e.g.,

      zero means metals/cations only)

      @@ -2275,8 +2441,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -2288,8 +2454,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -2298,8 +2464,8 @@

      Submodules -
      -featurize(s)
      +
      +featurize(s)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -2311,8 +2477,8 @@

      Submodules -
      -fit(X, y=None, **fit_kwargs)
      +
      +fit(X, y=None, **fit_kwargs)

      Fit the SiteStatsFeaturizer using the fitting function of the underlying site featurizer. Only applicable if the site featurizer is fittable. See the “.fit()” method of the site_featurizer used to construct the @@ -2321,7 +2487,7 @@

      Submodules**fit_kwargs: Keyword arguments used by the fit function of the

      +**fit_kwargs: Keyword arguments used by the fit function of the

      site featurizer class.

      @@ -2333,8 +2499,8 @@

      Submodules -
      -static from_preset(preset, **kwargs)
      +
      +classmethod from_preset(preset, **kwargs)

      Create a SiteStatsFingerprint class according to a preset

      Args:

      preset (str) - Name of preset @@ -2344,8 +2510,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -2360,23 +2526,23 @@

      Submodules -

      matminer.featurizers.structure.symmetry module

      + +
      +

      matminer.featurizers.structure.symmetry module

      Structure featurizers based on symmetry.

      -
      -class matminer.featurizers.structure.symmetry.Dimensionality(nn_method=<pymatgen.analysis.local_env.CrystalNN object>)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.symmetry.Dimensionality(nn_method=<pymatgen.analysis.local_env.CrystalNN object>)
      +

      Bases: BaseFeaturizer

      Returns dimensionality of structure: 1 means linear chains of atoms OR isolated atoms/no bonds, 2 means layered, 3 means 3D connected structure. This feature is sensitive to bond length tables that you use.

      -
      -__init__(nn_method=<pymatgen.analysis.local_env.CrystalNN object>)
      +
      +__init__(nn_method=<pymatgen.analysis.local_env.CrystalNN object>)
      Args:
      -
      **nn_method: The nearest neighbor method used to determine atomic

      connectivity.

      +
      **nn_method: The nearest neighbor method used to determine atomic

      connectivity.

      @@ -2384,8 +2550,8 @@

      Submodules -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -2397,8 +2563,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -2407,8 +2573,8 @@

      Submodules -
      -featurize(s)
      +
      +featurize(s)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -2420,8 +2586,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -2437,9 +2603,9 @@

      Submodules -
      -class matminer.featurizers.structure.symmetry.GlobalSymmetryFeatures(desired_features=None)
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.structure.symmetry.GlobalSymmetryFeatures(desired_features=None)
      +

      Bases: BaseFeaturizer

      Determines symmetry features, e.g. spacegroup number and crystal system

      Features:
      +
      +__init__(desired_features=None)
      +

      -
      -all_features = ['spacegroup_num', 'crystal_system', 'crystal_system_int', 'is_centrosymmetric', 'n_symmetry_ops']
      +
      +all_features = ['spacegroup_num', 'crystal_system', 'crystal_system_int', 'is_centrosymmetric', 'n_symmetry_ops']
      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -2475,13 +2640,13 @@

      Submodules -
      -crystal_idx = {'cubic': 1, 'hexagonal': 2, 'monoclinic': 6, 'orthorhombic': 5, 'tetragonal': 4, 'triclinic': 7, 'trigonal': 3}
      +
      +crystal_idx = {'cubic': 1, 'hexagonal': 2, 'monoclinic': 6, 'orthorhombic': 5, 'tetragonal': 4, 'triclinic': 7, 'trigonal': 3}

      -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -2490,8 +2655,8 @@

      Submodules -
      -featurize(s)
      +
      +featurize(s)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -2503,8 +2668,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -2519,11 +2684,11 @@

      Submodules -

      Module contents

      -

      -
      + +
      +

      Module contents

      +
      +
      @@ -2532,24 +2697,262 @@

      Submodules
      -

      Table of Contents

      -

      @@ -2580,14 +2983,14 @@

      Navigation

    • modules |
    • - + diff --git a/docs/matminer.featurizers.structure.tests.html b/docs/matminer.featurizers.structure.tests.html index a8ee67adb..4b6476494 100644 --- a/docs/matminer.featurizers.structure.tests.html +++ b/docs/matminer.featurizers.structure.tests.html @@ -1,18 +1,20 @@ - + - - matminer.featurizers.structure.tests package — matminer 0.7.8 documentation - - - + + + matminer.featurizers.structure.tests package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -38,229 +40,252 @@

      Navigation

      -
      -

      matminer.featurizers.structure.tests package

      -
      -

      Submodules

      -
      -
      -

      matminer.featurizers.structure.tests.base module

      +
      +

      matminer.featurizers.structure.tests package

      +
      +

      Submodules

      +
      +
      +

      matminer.featurizers.structure.tests.base module

      -
      -class matminer.featurizers.structure.tests.base.StructureFeaturesTest(methodName='runTest')
      -

      Bases: pymatgen.util.testing.PymatgenTest

      +
      +class matminer.featurizers.structure.tests.base.StructureFeaturesTest(methodName='runTest')
      +

      Bases: PymatgenTest

      -
      -setUp()
      +
      +setUp()

      Hook method for setting up the test fixture before exercising it.

      -
      -
      -

      matminer.featurizers.structure.tests.test_bonding module

      + +
      +

      matminer.featurizers.structure.tests.test_bonding module

      -
      -class matminer.featurizers.structure.tests.test_bonding.BondingStructureTest(methodName='runTest')
      -

      Bases: matminer.featurizers.structure.tests.base.StructureFeaturesTest

      +
      +class matminer.featurizers.structure.tests.test_bonding.BondingStructureTest(methodName='runTest')
      +

      Bases: StructureFeaturesTest

      -
      -test_GlobalInstabilityIndex()
      +
      +test_GlobalInstabilityIndex()
      -
      -test_bob()
      +
      +test_bob()
      -
      -test_bondfractions()
      +
      +test_bondfractions()
      -
      -test_min_relative_distances()
      +
      +test_min_relative_distances()
      -
      -test_ward_prb_2017_strhet()
      +
      +test_ward_prb_2017_strhet()
      -
      -
      -

      matminer.featurizers.structure.tests.test_composite module

      + +
      +

      matminer.featurizers.structure.tests.test_composite module

      -
      -class matminer.featurizers.structure.tests.test_composite.CompositeStructureFeaturesTest(methodName='runTest')
      -

      Bases: matminer.featurizers.structure.tests.base.StructureFeaturesTest

      +
      +class matminer.featurizers.structure.tests.test_composite.CompositeStructureFeaturesTest(methodName='runTest')
      +

      Bases: StructureFeaturesTest

      -
      -test_jarvisCFID()
      +
      +test_jarvisCFID()
      -
      -
      -

      matminer.featurizers.structure.tests.test_matrix module

      + +
      +

      matminer.featurizers.structure.tests.test_matrix module

      -
      -class matminer.featurizers.structure.tests.test_matrix.MatrixStructureFeaturesTest(methodName='runTest')
      -

      Bases: matminer.featurizers.structure.tests.base.StructureFeaturesTest

      +
      +class matminer.featurizers.structure.tests.test_matrix.MatrixStructureFeaturesTest(methodName='runTest')
      +

      Bases: StructureFeaturesTest

      -
      -test_coulomb_matrix()
      +
      +test_coulomb_matrix()
      -
      -test_orbital_field_matrix()
      +
      +test_orbital_field_matrix()
      -
      -test_sine_coulomb_matrix()
      +
      +test_sine_coulomb_matrix()
      -
      -
      -

      matminer.featurizers.structure.tests.test_misc module

      + +
      +

      matminer.featurizers.structure.tests.test_misc module

      -
      -class matminer.featurizers.structure.tests.test_misc.MiscStructureFeaturesTest(methodName='runTest')
      -

      Bases: matminer.featurizers.structure.tests.base.StructureFeaturesTest

      +
      +class matminer.featurizers.structure.tests.test_misc.MiscStructureFeaturesTest(methodName='runTest')
      +

      Bases: StructureFeaturesTest

      -
      -test_composition_features()
      +
      +test_composition_features()
      -
      -test_ewald()
      +
      +test_ewald()
      -
      -test_xrd_powderPattern()
      +
      +test_xrd_powderPattern()
      -
      -
      -

      matminer.featurizers.structure.tests.test_order module

      + +
      +

      matminer.featurizers.structure.tests.test_order module

      -
      -class matminer.featurizers.structure.tests.test_order.OrderStructureFeaturesTest(methodName='runTest')
      -

      Bases: matminer.featurizers.structure.tests.base.StructureFeaturesTest

      +
      +class matminer.featurizers.structure.tests.test_order.OrderStructureFeaturesTest(methodName='runTest')
      +

      Bases: StructureFeaturesTest

      -
      -test_density_features()
      +
      +test_density_features()
      -
      -test_ordering_param()
      +
      +test_ordering_param()
      -
      -test_packing_efficiency()
      +
      +test_packing_efficiency()
      -
      -test_structural_complexity()
      +
      +test_structural_complexity()
      -
      -
      -

      matminer.featurizers.structure.tests.test_rdf module

      + +
      +

      matminer.featurizers.structure.tests.test_rdf module

      -
      -class matminer.featurizers.structure.tests.test_rdf.StructureRDFTest(methodName='runTest')
      -

      Bases: matminer.featurizers.structure.tests.base.StructureFeaturesTest

      +
      +class matminer.featurizers.structure.tests.test_rdf.StructureRDFTest(methodName='runTest')
      +

      Bases: StructureFeaturesTest

      -
      -test_get_rdf_bin_labels()
      +
      +test_get_rdf_bin_labels()
      -
      -test_prdf()
      +
      +test_prdf()
      -
      -test_rdf_and_peaks()
      +
      +test_rdf_and_peaks()
      -
      -test_redf()
      +
      +test_redf()
      -
      -
      -

      matminer.featurizers.structure.tests.test_sites module

      + +
      +

      matminer.featurizers.structure.tests.test_sites module

      -
      -class matminer.featurizers.structure.tests.test_sites.StructureSitesFeaturesTest(methodName='runTest')
      -

      Bases: matminer.featurizers.structure.tests.base.StructureFeaturesTest

      +
      +class matminer.featurizers.structure.tests.test_sites.PartialStructureSitesFeaturesTest(methodName='runTest')
      +

      Bases: StructureFeaturesTest

      -
      -test_sitestatsfingerprint()
      +
      +test_partialsitestatsfingerprint()
      -
      -test_ward_prb_2017_efftcn()
      +
      +test_ward_prb_2017_efftcn()

      Test the effective coordination number attributes of Ward 2017

      -
      -test_ward_prb_2017_lpd()
      +
      +test_ward_prb_2017_lpd()

      Test the local property difference attributes from Ward 2017

      -
      -
      -

      matminer.featurizers.structure.tests.test_symmetry module

      -
      -class matminer.featurizers.structure.tests.test_symmetry.StructureSymmetryFeaturesTest(methodName='runTest')
      -

      Bases: matminer.featurizers.structure.tests.base.StructureFeaturesTest

      +
      +class matminer.featurizers.structure.tests.test_sites.StructureSitesFeaturesTest(methodName='runTest')
      +

      Bases: StructureFeaturesTest

      -
      -test_dimensionality()
      +
      +test_sitestatsfingerprint()
      -
      -test_global_symmetry()
      +
      +test_ward_prb_2017_efftcn()
      +

      Test the effective coordination number attributes of Ward 2017

      +
      + +
      +
      +test_ward_prb_2017_lpd()
      +

      Test the local property difference attributes from Ward 2017

      +
      + +
      + + +
      +

      matminer.featurizers.structure.tests.test_symmetry module

      +
      +
      +class matminer.featurizers.structure.tests.test_symmetry.StructureSymmetryFeaturesTest(methodName='runTest')
      +

      Bases: StructureFeaturesTest

      +
      +
      +test_dimensionality()
      +
      + +
      +
      +test_global_symmetry()
      -
      -
      -

      Module contents

      -
      -
      + +
      +

      Module contents

      +
      +
      @@ -269,24 +294,103 @@

      Submodules
      -

      Table of Contents

      -

      @@ -317,14 +421,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.featurizers.tests.html b/docs/matminer.featurizers.tests.html index af82c6115..8dac35d98 100644 --- a/docs/matminer.featurizers.tests.html +++ b/docs/matminer.featurizers.tests.html @@ -1,18 +1,20 @@ - + - - matminer.featurizers.tests package — matminer 0.7.8 documentation - - - + + + matminer.featurizers.tests package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -38,47 +40,47 @@

      Navigation

      -
      -

      matminer.featurizers.tests package

      -
      -

      Submodules

      -
      -
      -

      matminer.featurizers.tests.test_bandstructure module

      +
      +

      matminer.featurizers.tests package

      +
      +

      Submodules

      +
      +
      +

      matminer.featurizers.tests.test_bandstructure module

      -
      -class matminer.featurizers.tests.test_bandstructure.BandstructureFeaturesTest(methodName='runTest')
      -

      Bases: pymatgen.util.testing.PymatgenTest

      +
      +class matminer.featurizers.tests.test_bandstructure.BandstructureFeaturesTest(methodName='runTest')
      +

      Bases: PymatgenTest

      -
      -setUp()
      +
      +setUp()

      Hook method for setting up the test fixture before exercising it.

      -
      -test_BandFeaturizer()
      +
      +test_BandFeaturizer()
      -
      -test_BranchPointEnergy()
      +
      +test_BranchPointEnergy()
      -
      -
      -

      matminer.featurizers.tests.test_base module

      + +
      +

      matminer.featurizers.tests.test_base module

      -
      -class matminer.featurizers.tests.test_base.FittableFeaturizer
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.tests.test_base.FittableFeaturizer
      +

      Bases: BaseFeaturizer

      This test featurizer tests fitting qualities of BaseFeaturizer, including refittability and different results based on different fits.

      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -90,8 +92,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -100,8 +102,8 @@

      Submodules -
      -featurize(x)
      +
      +featurize(x)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -113,8 +115,8 @@

      Submodules -
      -fit(X, y=None, **fit_kwargs)
      +
      +fit(X, y=None, **fit_kwargs)

      Update the parameters of this featurizer based on available data

      Args:

      X - [list of tuples], training data

      @@ -125,8 +127,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -142,12 +144,12 @@

      Submodules -
      -class matminer.featurizers.tests.test_base.MatrixFeaturizer
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.tests.test_base.MatrixFeaturizer
      +

      Bases: BaseFeaturizer

      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -159,8 +161,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -169,8 +171,8 @@

      Submodules -
      -featurize(*x)
      +
      +featurize(*x)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -182,8 +184,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -199,18 +201,17 @@

      Submodules -
      -class matminer.featurizers.tests.test_base.MultiArgs2
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.tests.test_base.MultiArgs2
      +

      Bases: BaseFeaturizer

      -
      -__init__()
      -

      Initialize self. See help(type(self)) for accurate signature.

      -
      +
      +__init__()
      +

      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -222,8 +223,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -232,8 +233,8 @@

      Submodules -
      -featurize(*x)
      +
      +featurize(*x)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -245,8 +246,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -262,13 +263,13 @@

      Submodules -
      -class matminer.featurizers.tests.test_base.MultiTypeFeaturizer
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.tests.test_base.MultiTypeFeaturizer
      +

      Bases: BaseFeaturizer

      A featurizer that returns multiple dtypes

      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -280,8 +281,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -290,8 +291,8 @@

      Submodules -
      -featurize(*x)
      +
      +featurize(*x)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -303,8 +304,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -320,12 +321,12 @@

      Submodules -
      -class matminer.featurizers.tests.test_base.MultipleFeatureFeaturizer
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.tests.test_base.MultipleFeatureFeaturizer
      +

      Bases: BaseFeaturizer

      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -337,8 +338,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -347,8 +348,8 @@

      Submodules -
      -featurize(x)
      +
      +featurize(x)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -360,8 +361,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -377,12 +378,12 @@

      Submodules -
      -class matminer.featurizers.tests.test_base.SingleFeaturizer
      -

      Bases: matminer.featurizers.base.BaseFeaturizer

      +
      +class matminer.featurizers.tests.test_base.SingleFeaturizer
      +

      Bases: BaseFeaturizer

      -
      -citations()
      +
      +citations()

      Citation(s) and reference(s) for this feature.

      Returns:
      @@ -394,8 +395,8 @@

      Submodules -
      -feature_labels()
      +
      +feature_labels()

      Generate attribute names.

      Returns:

      ([str]) attribute labels.

      @@ -404,8 +405,8 @@

      Submodules -
      -featurize(x)
      +
      +featurize(x)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -417,8 +418,8 @@

      Submodules -
      -implementors()
      +
      +implementors()

      List of implementors of the feature.

      Returns:
      @@ -434,12 +435,12 @@

      Submodules -
      -class matminer.featurizers.tests.test_base.SingleFeaturizerMultiArgs
      -

      Bases: matminer.featurizers.tests.test_base.SingleFeaturizer

      +
      +class matminer.featurizers.tests.test_base.SingleFeaturizerMultiArgs
      +

      Bases: SingleFeaturizer

      -
      -featurize(*x)
      +
      +featurize(*x)

      Main featurizer function, which has to be implemented in any derived featurizer subclass.

      @@ -453,12 +454,12 @@

      Submodules -
      -class matminer.featurizers.tests.test_base.SingleFeaturizerMultiArgsWithPrecheck
      -

      Bases: matminer.featurizers.tests.test_base.SingleFeaturizerMultiArgs

      +
      +class matminer.featurizers.tests.test_base.SingleFeaturizerMultiArgsWithPrecheck
      +

      Bases: SingleFeaturizerMultiArgs

      -
      -precheck(*x)
      +
      +precheck(*x)

      Precheck (provide an estimate of whether a featurizer will work or not) for a single entry (e.g., a single composition). If the entry fails the precheck, it will most likely fail featurization; if it passes, it is @@ -494,12 +495,12 @@

      Submodules -
      -class matminer.featurizers.tests.test_base.SingleFeaturizerWithPrecheck
      -

      Bases: matminer.featurizers.tests.test_base.SingleFeaturizer

      +
      +class matminer.featurizers.tests.test_base.SingleFeaturizerWithPrecheck
      +

      Bases: SingleFeaturizer

      -
      -precheck(x)
      +
      +precheck(x)

      Precheck (provide an estimate of whether a featurizer will work or not) for a single entry (e.g., a single composition). If the entry fails the precheck, it will most likely fail featurization; if it passes, it is @@ -535,271 +536,271 @@

      Submodules -
      -class matminer.featurizers.tests.test_base.TestBaseClass(methodName='runTest')
      -

      Bases: pymatgen.util.testing.PymatgenTest

      +
      +class matminer.featurizers.tests.test_base.TestBaseClass(methodName='runTest')
      +

      Bases: PymatgenTest

      -
      -static make_test_data()
      +
      +static make_test_data()
      -
      -setUp()
      +
      +setUp()

      Hook method for setting up the test fixture before exercising it.

      -
      -test_caching()
      +
      +test_caching()

      Test whether MultiFeaturizer properly caches

      -
      -test_dataframe()
      +
      +test_dataframe()
      -
      -test_featurize_many()
      +
      +test_featurize_many()
      -
      -test_fittable()
      +
      +test_fittable()
      -
      -test_ignore_errors()
      +
      +test_ignore_errors()
      -
      -test_indices()
      +
      +test_indices()
      -
      -test_inplace()
      +
      +test_inplace()
      -
      -test_matrix()
      +
      +test_matrix()

      Test the ability to add features that are matrices to a dataframe

      -
      -test_multifeature_no_zero_index()
      +
      +test_multifeature_no_zero_index()

      Test whether multifeaturizer can handle series that lack a entry with index==0

      -
      -test_multifeatures_multiargs()
      +
      +test_multifeatures_multiargs()
      -
      -test_multiindex_in_multifeaturizer()
      +
      +test_multiindex_in_multifeaturizer()
      -
      -test_multiindex_inplace()
      +
      +test_multiindex_inplace()
      -
      -test_multiindex_return()
      +
      +test_multiindex_return()
      -
      -test_multiple()
      +
      +test_multiple()
      -
      -test_multiprocessing_df()
      +
      +test_multiprocessing_df()
      -
      -test_multitype_multifeat()
      +
      +test_multitype_multifeat()

      Test Multifeaturizer when a featurizer returns a non-numeric type

      -
      -test_precheck()
      +
      +test_precheck()
      -
      -test_stacked_featurizer()
      +
      +test_stacked_featurizer()

      -

      -
      -

      matminer.featurizers.tests.test_conversions module

      + +
      +

      matminer.featurizers.tests.test_conversions module

      -
      -class matminer.featurizers.tests.test_conversions.TestConversions(methodName='runTest')
      -

      Bases: pymatgen.util.testing.PymatgenTest

      +
      +class matminer.featurizers.tests.test_conversions.TestConversions(methodName='runTest')
      +

      Bases: PymatgenTest

      -
      -test_ase_conversion()
      +
      +test_ase_conversion()
      -
      -test_composition_to_oxidcomposition()
      +
      +test_composition_to_oxidcomposition()
      -
      -test_composition_to_structurefromMP()
      +
      +test_composition_to_structurefromMP()
      -
      -test_conversion_multiindex()
      +
      +test_conversion_multiindex()
      -
      -test_conversion_multiindex_dynamic()
      +
      +test_conversion_multiindex_dynamic()
      -
      -test_conversion_overwrite()
      +
      +test_conversion_overwrite()
      -
      -test_dict_to_object()
      +
      +test_dict_to_object()
      -
      -test_json_to_object()
      +
      +test_json_to_object()
      -
      -test_pymatgen_general_converter()
      +
      +test_pymatgen_general_converter()
      -
      -test_str_to_composition()
      +
      +test_str_to_composition()
      -
      -test_structure_to_composition()
      +
      +test_structure_to_composition()
      -
      -test_structure_to_oxidstructure()
      +
      +test_structure_to_oxidstructure()
      -
      -test_to_istructure()
      +
      +test_to_istructure()
      -
      -
      -

      matminer.featurizers.tests.test_dos module

      + +
      +

      matminer.featurizers.tests.test_dos module

      -
      -class matminer.featurizers.tests.test_dos.DOSFeaturesTest(methodName='runTest')
      -

      Bases: pymatgen.util.testing.PymatgenTest

      +
      +class matminer.featurizers.tests.test_dos.DOSFeaturesTest(methodName='runTest')
      +

      Bases: PymatgenTest

      -
      -setUp()
      +
      +setUp()

      Hook method for setting up the test fixture before exercising it.

      -
      -test_DOSFeaturizer()
      +
      +test_DOSFeaturizer()
      -
      -test_DopingFermi()
      +
      +test_DopingFermi()
      -
      -test_DosAsymmetry()
      +
      +test_DosAsymmetry()
      -
      -test_Hybridization()
      +
      +test_Hybridization()
      -
      -test_SiteDOS()
      +
      +test_SiteDOS()
      -
      -
      -

      matminer.featurizers.tests.test_function module

      + +
      +

      matminer.featurizers.tests.test_function module

      -
      -class matminer.featurizers.tests.test_function.TestFunctionFeaturizer(methodName='runTest')
      -

      Bases: unittest.case.TestCase

      +
      +class matminer.featurizers.tests.test_function.TestFunctionFeaturizer(methodName='runTest')
      +

      Bases: TestCase

      -
      -setUp()
      +
      +setUp()

      Hook method for setting up the test fixture before exercising it.

      -
      -test_featurize()
      +
      +test_featurize()
      -
      -test_featurize_labels()
      +
      +test_featurize_labels()
      -
      -test_helper_functions()
      +
      +test_helper_functions()
      -
      -test_multi_featurizer()
      +
      +test_multi_featurizer()
      -
      -
      -

      Module contents

      -
      -
      + +
      +

      Module contents

      +
      +
      @@ -808,20 +809,150 @@

      Submodules
      -

      Table of Contents

      -

      @@ -852,14 +983,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.featurizers.utils.html b/docs/matminer.featurizers.utils.html index 824948f84..9dfeb47a3 100644 --- a/docs/matminer.featurizers.utils.html +++ b/docs/matminer.featurizers.utils.html @@ -1,18 +1,20 @@ - + - - matminer.featurizers.utils package — matminer 0.7.8 documentation - - - + + + matminer.featurizers.utils package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -38,37 +40,72 @@

      Navigation

      -
      -

      matminer.featurizers.utils package

      - -
      -

      Submodules

      -
      -
      -

      matminer.featurizers.utils.grdf module

      + +
      +

      Submodules

      +
      +
      +

      matminer.featurizers.utils.grdf module

      Functions designed to work with General Radial Distribution Function

      -
      -class matminer.featurizers.utils.grdf.AbstractPairwise
      -

      Bases: object

      +
      +class matminer.featurizers.utils.grdf.AbstractPairwise
      +

      Bases: object

      Abstract class for pairwise functions used in Generalized Radial Distribution Function

      -
      -name()
      +
      +name()

      Make a label for this pairwise function

      Returns:

      (string) Label for the function

      @@ -77,8 +114,8 @@

      Submodules -
      -volume(cutoff)
      +
      +volume(cutoff)

      Compute the volume of this pairwise function

      Args:

      cutoff (float): Cutoff distance for radial distribution function

      @@ -91,13 +128,13 @@

      Submodules -
      -class matminer.featurizers.utils.grdf.Bessel(n)
      -

      Bases: matminer.featurizers.utils.grdf.AbstractPairwise

      +
      +class matminer.featurizers.utils.grdf.Bessel(n)
      +

      Bases: AbstractPairwise

      Bessel pairwise function

      -
      -__init__(n)
      +
      +__init__(n)

      Initialize the function

      Args:

      n (int): Degree of Bessel function

      @@ -108,13 +145,13 @@

      Submodules -
      -class matminer.featurizers.utils.grdf.Cosine(a)
      -

      Bases: matminer.featurizers.utils.grdf.AbstractPairwise

      -

      Cosine pairwise function: cos(ar)

      +
      +class matminer.featurizers.utils.grdf.Cosine(a)
      +

      Bases: AbstractPairwise

      +

      Cosine pairwise function: cos(ar)

      -
      -__init__(a)
      +
      +__init__(a)

      Initialize the function

      Args:

      a (float): Frequency factor for cosine function

      @@ -123,8 +160,8 @@

      Submodules -
      -volume(cutoff)
      +
      +volume(cutoff)

      Compute the volume of this pairwise function

      Args:

      cutoff (float): Cutoff distance for radial distribution function

      @@ -137,13 +174,13 @@

      Submodules -
      -class matminer.featurizers.utils.grdf.Gaussian(width, center)
      -

      Bases: matminer.featurizers.utils.grdf.AbstractPairwise

      +
      +class matminer.featurizers.utils.grdf.Gaussian(width, center)
      +

      Bases: AbstractPairwise

      Gaussian function, with specified width and center

      -
      -__init__(width, center)
      +
      +__init__(width, center)

      Initialize the gaussian function

      Args:

      width (float): Width of the gaussian @@ -153,8 +190,8 @@

      Submodules -
      -volume(cutoff)
      +
      +volume(cutoff)

      Compute the volume of this pairwise function

      Args:

      cutoff (float): Cutoff distance for radial distribution function

      @@ -167,13 +204,13 @@

      Submodules -
      -class matminer.featurizers.utils.grdf.Histogram(start, width)
      -

      Bases: matminer.featurizers.utils.grdf.AbstractPairwise

      +
      +class matminer.featurizers.utils.grdf.Histogram(start, width)
      +

      Bases: AbstractPairwise

      Rectangular window function, used in conventional Radial Distribution Functions

      -
      -__init__(start, width)
      +
      +__init__(start, width)

      Initialize the window function

      Args:

      start (float): Beginning of window @@ -183,8 +220,8 @@

      Submodules -
      -volume(cutoff)
      +
      +volume(cutoff)

      Compute the volume of this pairwise function

      Args:

      cutoff (float): Cutoff distance for radial distribution function

      @@ -197,13 +234,13 @@

      Submodules -
      -class matminer.featurizers.utils.grdf.Sine(a)
      -

      Bases: matminer.featurizers.utils.grdf.AbstractPairwise

      -

      Sine pairwise function: sin(ar)

      +
      +class matminer.featurizers.utils.grdf.Sine(a)
      +

      Bases: AbstractPairwise

      +

      Sine pairwise function: sin(ar)

      -
      -__init__(a)
      +
      +__init__(a)

      Initialize the function

      Args:

      a (float): Frequency factor for sine function

      @@ -212,8 +249,8 @@

      Submodules -
      -volume(cutoff)
      +
      +volume(cutoff)

      Compute the volume of this pairwise function

      Args:

      cutoff (float): Cutoff distance for radial distribution function

      @@ -226,8 +263,8 @@

      Submodules -
      -matminer.featurizers.utils.grdf.initialize_pairwise_function(name, **options)
      +
      +matminer.featurizers.utils.grdf.initialize_pairwise_function(name, **options)

      Create a new pairwise function object

      Args:

      name (string): Name of class to instantiate

      @@ -237,12 +274,12 @@

      Submodules -

      matminer.featurizers.utils.oxidation module

      +

      +
      +

      matminer.featurizers.utils.oxidation module

      -
      -matminer.featurizers.utils.oxidation.has_oxidation_states(comp)
      +
      +matminer.featurizers.utils.oxidation.has_oxidation_states(comp)

      Check if a composition object has oxidation states for each element

      Args:

      comp (Composition): Composition to check

      @@ -252,14 +289,14 @@

      Submodules -

      matminer.featurizers.utils.stats module

      +

      +
      +

      matminer.featurizers.utils.stats module

      General methods for computing property statistics from a list of values

      -
      -class matminer.featurizers.utils.stats.PropertyStats
      -

      Bases: object

      +
      +class matminer.featurizers.utils.stats.PropertyStats
      +

      Bases: object

      This class contains statistical operations that are commonly employed when computing features.

      The primary way for interacting with this class is to call the @@ -281,8 +318,8 @@

      Submodules -
      -static avg_dev(data_lst, weights=None)
      +
      +static avg_dev(data_lst, weights=None)

      Mean absolute deviation of list of element data.

      This is computed by first calculating the mean of the list, and then computing the average absolute difference between each value @@ -297,8 +334,8 @@

      Submodules -
      -static calc_stat(data_lst, stat, weights=None)
      +
      +static calc_stat(data_lst, stat, weights=None)

      Compute a property statistic

      Args:

      data_lst (list of floats): list of values @@ -315,8 +352,8 @@

      Submodules -
      -static eigenvalues(data_lst, symm=False, sort=False)
      +
      +static eigenvalues(data_lst, symm=False, sort=False)

      Return the eigenvalues of a matrix as a numpy array Args:

      @@ -328,14 +365,14 @@

      Submodules -
      -static flatten(data_lst, weights=None)
      +
      +static flatten(data_lst, weights=None)

      Returns a flattened copy of data_lst-as a numpy array

      -
      -static geom_std_dev(data_lst, weights=None)
      +
      +static geom_std_dev(data_lst, weights=None)

      Geometric standard deviation

      Args:

      data_lst (list of floats): List of values to be assessed @@ -347,8 +384,8 @@

      Submodules -
      -static holder_mean(data_lst, weights=None, power=1)
      +
      +static holder_mean(data_lst, weights=None, power=1)

      Get Holder mean Args:

      @@ -360,8 +397,8 @@

      Submodules -
      -static inverse_mean(data_lst, weights=None)
      +
      +static inverse_mean(data_lst, weights=None)

      Mean of the inverse of each entry

      Args:

      data_lst (list of floats): List of values to be assessed @@ -373,8 +410,8 @@

      Submodules -
      -static kurtosis(data_lst, weights=None)
      +
      +static kurtosis(data_lst, weights=None)

      Kurtosis of a list of data

      Args:

      data_lst (list of floats): List of values to be assessed @@ -386,8 +423,8 @@

      Submodules -
      -static maximum(data_lst, weights=None)
      +
      +static maximum(data_lst, weights=None)

      Maximum value in a list

      Args:

      data_lst (list of floats): List of values to be assessed @@ -399,8 +436,8 @@

      Submodules -
      -static mean(data_lst, weights=None)
      +
      +static mean(data_lst, weights=None)

      Arithmetic mean of list

      Args:

      data_lst (list of floats): List of values to be assessed @@ -412,8 +449,8 @@

      Submodules -
      -static minimum(data_lst, weights=None)
      +
      +static minimum(data_lst, weights=None)

      Minimum value in a list

      Args:

      data_lst (list of floats): List of values to be assessed @@ -425,8 +462,8 @@

      Submodules -
      -static mode(data_lst, weights=None)
      +
      +static mode(data_lst, weights=None)

      Mode of a list of data.

      If multiple elements occur equally-frequently (or same weight, if weights are provided), this function will return the minimum of those @@ -441,8 +478,8 @@

      Submodules -
      -static quantile(data_lst, weights=None, q=0.5)
      +
      +static quantile(data_lst, weights=None, q=0.5)

      Return a specific quantile. Args:

      @@ -459,8 +496,8 @@

      Submodules -
      -static range(data_lst, weights=None)
      +
      +static range(data_lst, weights=None)

      Range of a list

      Args:

      data_lst (list of floats): List of values to be assessed @@ -472,8 +509,8 @@

      Submodules -
      -static skewness(data_lst, weights=None)
      +
      +static skewness(data_lst, weights=None)

      Skewness of a list of data

      Args:

      data_lst (list of floats): List of values to be assessed @@ -485,14 +522,14 @@

      Submodules -
      -static sorted(data_lst, weights=None)
      +
      +static sorted(data_lst, weights=None)

      Returns the sorted data_lst

      -
      -static std_dev(data_lst, weights=None)
      +
      +static std_dev(data_lst, weights=None)

      Standard deviation of a list of element data

      Args:

      data_lst (list of floats): List of values to be assessed @@ -505,11 +542,11 @@

      Submodules -

      Module contents

      -

      -
      + +
      +

      Module contents

      +
      +
      @@ -518,19 +555,78 @@

      Submodules

      @@ -561,14 +657,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.featurizers.utils.tests.html b/docs/matminer.featurizers.utils.tests.html index 29bc3173a..4810d5be8 100644 --- a/docs/matminer.featurizers.utils.tests.html +++ b/docs/matminer.featurizers.utils.tests.html @@ -1,18 +1,20 @@ - + - - matminer.featurizers.utils.tests package — matminer 0.7.8 documentation - - - + + + matminer.featurizers.utils.tests package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -38,143 +40,143 @@

      Navigation

      -
      -

      matminer.featurizers.utils.tests package

      -
      -

      Submodules

      -
      -
      -

      matminer.featurizers.utils.tests.test_grdf module

      +
      +

      matminer.featurizers.utils.tests package

      +
      +

      Submodules

      +
      +
      +

      matminer.featurizers.utils.tests.test_grdf module

      -
      -class matminer.featurizers.utils.tests.test_grdf.GRDFTests(methodName='runTest')
      -

      Bases: pymatgen.util.testing.PymatgenTest

      +
      +class matminer.featurizers.utils.tests.test_grdf.GRDFTests(methodName='runTest')
      +

      Bases: PymatgenTest

      -
      -test_bessel()
      +
      +test_bessel()
      -
      -test_cosine()
      +
      +test_cosine()
      -
      -test_gaussian()
      +
      +test_gaussian()
      -
      -test_histogram()
      +
      +test_histogram()
      -
      -test_load_class()
      +
      +test_load_class()
      -
      -test_sin()
      +
      +test_sin()
      -
      -
      -

      matminer.featurizers.utils.tests.test_oxidation module

      + +
      +

      matminer.featurizers.utils.tests.test_oxidation module

      -
      -class matminer.featurizers.utils.tests.test_oxidation.OxidationTest(methodName='runTest')
      -

      Bases: pymatgen.util.testing.PymatgenTest

      +
      +class matminer.featurizers.utils.tests.test_oxidation.OxidationTest(methodName='runTest')
      +

      Bases: PymatgenTest

      -
      -test_has_oxidation_states()
      +
      +test_has_oxidation_states()
      -
      -
      -

      matminer.featurizers.utils.tests.test_stats module

      + +
      +

      matminer.featurizers.utils.tests.test_stats module

      -
      -class matminer.featurizers.utils.tests.test_stats.TestPropertyStats(methodName='runTest')
      -

      Bases: unittest.case.TestCase

      +
      +class matminer.featurizers.utils.tests.test_stats.TestPropertyStats(methodName='runTest')
      +

      Bases: TestCase

      -
      -setUp()
      +
      +setUp()

      Hook method for setting up the test fixture before exercising it.

      -
      -test_avg_dev()
      +
      +test_avg_dev()
      -
      -test_geom_std_dev()
      +
      +test_geom_std_dev()
      -
      -test_holder_mean()
      +
      +test_holder_mean()
      -
      -test_kurtosis()
      +
      +test_kurtosis()
      -
      -test_maximum()
      +
      +test_maximum()
      -
      -test_mean()
      +
      +test_mean()
      -
      -test_minimum()
      +
      +test_minimum()
      -
      -test_mode()
      +
      +test_mode()
      -
      -test_quantile()
      +
      +test_quantile()
      -
      -test_range()
      +
      +test_range()
      -
      -test_skewness()
      +
      +test_skewness()
      -
      -test_std_dev()
      +
      +test_std_dev()
      -
      -
      -

      Module contents

      -
      -
      + +
      +

      Module contents

      +
      +
      @@ -183,18 +185,55 @@

      Submodules

      @@ -225,14 +264,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.figrecipes.html b/docs/matminer.figrecipes.html index 7d1abcc0f..917448cd5 100644 --- a/docs/matminer.figrecipes.html +++ b/docs/matminer.figrecipes.html @@ -1,18 +1,20 @@ - + - - matminer.figrecipes package — matminer 0.7.8 documentation - - - + + + matminer.figrecipes package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -38,10 +40,10 @@

      Navigation

      -
      -

      matminer.figrecipes package

      -
      -

      Subpackages

      +
      +

      matminer.figrecipes package

      +
      +

      Subpackages

      -
      -

      matminer.figrecipes.plot module

      -
      -
      -

      Module contents

      -
      -
      + +
      +

      Submodules

      +
      +
      +

      matminer.figrecipes.plot module

      +
      +
      +

      Module contents

      +
      +
      @@ -71,8 +73,9 @@

      Module contents
      -

      Table of Contents

      -

      @@ -112,14 +116,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.figrecipes.tests.html b/docs/matminer.figrecipes.tests.html index 2b75531fa..bb9c40d74 100644 --- a/docs/matminer.figrecipes.tests.html +++ b/docs/matminer.figrecipes.tests.html @@ -1,18 +1,20 @@ - + - - matminer.figrecipes.tests package — matminer 0.7.8 documentation - - - + + + matminer.figrecipes.tests package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - +
      @@ -38,18 +40,18 @@

      Navigation

      -
      -

      matminer.figrecipes.tests package

      -
      -

      Submodules

      -
      -
      -

      matminer.figrecipes.tests.test_plots module

      -
      -
      -

      Module contents

      -
      -
      +
      +

      matminer.figrecipes.tests package

      +
      +

      Submodules

      +
      +
      +

      matminer.figrecipes.tests.test_plots module

      +
      +
      +

      Module contents

      +
      +
      @@ -58,8 +60,9 @@

      Module contents
      -

      Table of Contents

      -

      @@ -98,14 +102,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.html b/docs/matminer.html index 142ed4317..1dc7f4d5e 100644 --- a/docs/matminer.html +++ b/docs/matminer.html @@ -1,18 +1,20 @@ - + - - matminer package — matminer 0.7.8 documentation - - - + + + matminer package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -38,10 +40,10 @@

      Navigation

      -
      -

      matminer package

      -
      -

      Subpackages

      +
      +

      matminer package

      +
      +

      Subpackages

      @@ -155,11 +281,209 @@

      SubpackagesSubmodules -
    • matminer.featurizers.bandstructure module
    • -
    • matminer.featurizers.base module
    • -
    • matminer.featurizers.conversions module
    • -
    • matminer.featurizers.dos module
    • -
    • matminer.featurizers.function module
    • +
    • matminer.featurizers.bandstructure module +
    • +
    • matminer.featurizers.base module +
    • +
    • matminer.featurizers.conversions module +
    • +
    • matminer.featurizers.dos module +
    • +
    • matminer.featurizers.function module +
    • Module contents
    • @@ -183,23 +507,118 @@

      SubpackagesSubmodules -
    • matminer.utils.caching module
    • -
    • matminer.utils.data module
    • -
    • matminer.utils.flatten_dict module
    • -
    • matminer.utils.io module
    • -
    • matminer.utils.kernels module
    • -
    • matminer.utils.pipeline module
    • -
    • matminer.utils.utils module
    • +
    • matminer.utils.caching module +
    • +
    • matminer.utils.data module +
    • +
    • matminer.utils.flatten_dict module +
    • +
    • matminer.utils.io module +
    • +
    • matminer.utils.kernels module +
    • +
    • matminer.utils.pipeline module +
    • +
    • matminer.utils.utils module +
    • Module contents
    • -
      -
      -

      Module contents

      -
      -
      + +
      +

      Module contents

      +

      matminer library for data mining the properties of materials

      +
      +
      @@ -208,8 +627,9 @@

      Subpackages
      -

      Table of Contents

      -

      @@ -247,14 +668,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.utils.data_files.html b/docs/matminer.utils.data_files.html index d6810fbda..97445ef59 100644 --- a/docs/matminer.utils.data_files.html +++ b/docs/matminer.utils.data_files.html @@ -1,18 +1,20 @@ - + - - matminer.utils.data_files package — matminer 0.7.8 documentation - - - + + + matminer.utils.data_files package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -38,18 +40,18 @@

      Navigation

      -
      -

      matminer.utils.data_files package

      -
      -

      Submodules

      -
      -
      -

      matminer.utils.data_files.deml_elementdata module

      -
      -
      -

      Module contents

      -
      -
      +
      +

      matminer.utils.data_files package

      +
      +

      Submodules

      +
      +
      +

      matminer.utils.data_files.deml_elementdata module

      +
      +
      +

      Module contents

      +
      +
      @@ -58,8 +60,9 @@

      Submodules
      -

      Table of Contents

      -

      @@ -98,14 +102,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.utils.html b/docs/matminer.utils.html index c1f170e33..8d34231be 100644 --- a/docs/matminer.utils.html +++ b/docs/matminer.utils.html @@ -1,18 +1,20 @@ - + - - matminer.utils package — matminer 0.7.8 documentation - - - + + + matminer.utils package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -38,10 +40,10 @@

      Navigation

      -
      -

      matminer.utils package

      - -
      -

      Submodules

      -
      -
      -

      matminer.utils.caching module

      + +
      +

      Submodules

      +
      +
      +

      matminer.utils.caching module

      Provides utility functions for caching the results of expensive operations, such as determining the nearest neighbors of atoms in a structure

      -
      -matminer.utils.caching.get_all_nearest_neighbors(method, structure)
      +
      +matminer.utils.caching.get_all_nearest_neighbors(method, structure)

      Get the nearest neighbor list of a structure

      Args:

      method (NearNeighbor) - Method used to compute nearest neighbors @@ -83,8 +147,8 @@

      Submodules -
      -matminer.utils.caching.get_nearest_neighbors(method, structure, site_idx)
      +
      +matminer.utils.caching.get_nearest_neighbors(method, structure, site_idx)

      Get the nearest neighbor list of a particular site in a structure

      Args:

      method (NearNeighbor) - Method used to compute nearest neighbors @@ -96,22 +160,22 @@

      Submodules -

      matminer.utils.data module

      +

      +
      +

      matminer.utils.data module

      Utility classes for retrieving elemental properties. Provides a uniform interface to several different elemental property resources including pymatgen and Magpie.

      -
      -class matminer.utils.data.AbstractData
      -

      Bases: object

      +
      +class matminer.utils.data.AbstractData
      +

      Bases: object

      Abstract class for retrieving elemental properties

      All classes must implement the get_elemental_property operation. These operations should return scalar values (ideally floats) and nan if a property does not exist

      -
      -get_elemental_properties(elems, property_name)
      +
      +get_elemental_properties(elems, property_name)

      Get elemental properties for a list of elements

      Args:

      elems - ([Element]) list of elements @@ -123,8 +187,8 @@

      Submodules -
      -abstract get_elemental_property(elem, property_name)
      +
      +abstract get_elemental_property(elem, property_name)

      Get a certain elemental property for a certain element.

      Args:

      elem - (Element) element to be assessed @@ -138,23 +202,22 @@

      Submodules -
      -class matminer.utils.data.CohesiveEnergyData
      -

      Bases: matminer.utils.data.AbstractData

      +
      +class matminer.utils.data.CohesiveEnergyData
      +

      Bases: AbstractData

      Get the cohesive energy of an element.

      Data is extracted from KnowledgeDoor Cohesive Energy Handbook online (http://www.knowledgedoor.com/2/elements_handbook/cohesive_energy.html), which in turn got the data from Introduction to Solid State Physics, 8th Edition, by Charles Kittel (ISBN 978-0-471-41526-8), 2005.

      -
      -__init__()
      -

      Initialize self. See help(type(self)) for accurate signature.

      -
      +
      +__init__()
      +

      -
      -get_elemental_property(elem, property_name='cohesive energy')
      +
      +get_elemental_property(elem, property_name='cohesive energy')
      Args:

      elem: (Element) Element of interest property_name (str): unused, always returns cohesive energy

      @@ -167,9 +230,9 @@

      Submodules -
      -class matminer.utils.data.DemlData
      -

      Bases: matminer.utils.data.OxidationStateDependentData, matminer.utils.data.OxidationStatesMixin

      +
      +class matminer.utils.data.DemlData
      +

      Bases: OxidationStateDependentData, OxidationStatesMixin

      Class to get data from Deml data file. See also: A.M. Deml, R. O’Hayre, C. Wolverton, V. Stevanovic, Predicting density functional theory total energies and enthalpies of formation of metal-nonmetal @@ -178,14 +241,13 @@

      Submodules -
      -__init__()
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__()
      +
      -
      -get_charge_dependent_property(element, charge, property_name)
      +
      +get_charge_dependent_property(element, charge, property_name)

      Retrieve a oxidation-state dependent elemental property

      Args:

      element - (Element), Target element @@ -198,8 +260,8 @@

      Submodules -
      -get_elemental_property(elem, property_name)
      +
      +get_elemental_property(elem, property_name)

      Get a certain elemental property for a certain element.

      Args:

      elem - (Element) element to be assessed @@ -211,8 +273,8 @@

      Submodules -
      -get_oxidation_states(elem)
      +
      +get_oxidation_states(elem)

      Retrieve the possible oxidation states of an element

      Args:

      elem - (Element), Target element

      @@ -225,9 +287,9 @@

      Submodules -
      -class matminer.utils.data.IUCrBondValenceData(interpolate_soft=True)
      -

      Bases: object

      +
      +class matminer.utils.data.IUCrBondValenceData(interpolate_soft=True)
      +

      Bases: object

      Get empirical bond valence parameters.

      Data come from International Union of Crystallography 2016 tables. (https://www.iucr.org/resources/data/datasets/bond-valence-parameters) @@ -257,8 +319,8 @@

      Submodules -
      -__init__(interpolate_soft=True)
      +
      +__init__(interpolate_soft=True)

      Load bond valence parameters as pandas dataframe.

      If interpolate_soft is True, fill in some missing values for anions such as I, Br, N, S, Se, etc. with the assumption @@ -272,8 +334,8 @@

      Submodules -
      -get_bv_params(cation, anion, cat_val, an_val)
      +
      +get_bv_params(cation, anion, cat_val, an_val)

      Lookup bond valence parameters from IUPAC table. Args:

      @@ -289,17 +351,17 @@

      Submodules -
      -interpolate_soft_anions()
      +
      +interpolate_soft_anions()

      Fill in missing parameters for oxidation states of soft anions.

      -
      -class matminer.utils.data.MEGNetElementData
      -

      Bases: matminer.utils.data.AbstractData

      +
      +class matminer.utils.data.MEGNetElementData
      +

      Bases: AbstractData

      Class to get neural network embeddings of elements. These embeddings were generated using the Materials Graph Network (MEGNet) developed by the MaterialsVirtualLab at U.C. San Diego and described in the publication:

      @@ -316,14 +378,13 @@

      Submodules -
      -__init__()
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__()
      +

      -
      -get_elemental_property(elem, property_name)
      +
      +get_elemental_property(elem, property_name)

      Get a certain elemental property for a certain element.

      Args:

      elem - (Element) element to be assessed @@ -337,9 +398,9 @@

      Submodules -
      -class matminer.utils.data.MagpieData
      -

      Bases: matminer.utils.data.AbstractData, matminer.utils.data.OxidationStatesMixin

      +
      +class matminer.utils.data.MagpieData
      +

      Bases: AbstractData, OxidationStatesMixin

      Class to get data from Magpie files. See also: L. Ward, A. Agrawal, A. Choudhary, C. Wolverton, A general-purpose machine learning framework for predicting properties of inorganic materials, @@ -347,14 +408,13 @@

      Submodules -
      -__init__()
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__()
      +
      -
      -get_elemental_property(elem, property_name)
      +
      +get_elemental_property(elem, property_name)

      Get a certain elemental property for a certain element.

      Args:

      elem - (Element) element to be assessed @@ -366,8 +426,8 @@

      Submodules -
      -get_oxidation_states(elem)
      +
      +get_oxidation_states(elem)

      Retrieve the possible oxidation states of an element

      Args:

      elem - (Element), Target element

      @@ -380,9 +440,9 @@

      Submodules -
      -class matminer.utils.data.MatscholarElementData
      -

      Bases: matminer.utils.data.AbstractData

      +
      +class matminer.utils.data.MatscholarElementData
      +

      Bases: AbstractData

      Class to get word embedding vectors of elements. These word embeddings were generated using NLP + Neural Network techniques on more than 3 million scientific abstracts.

      @@ -392,14 +452,13 @@

      Submoduleshttps://doi.org/10.1038/s41586-019-1335-8

      -
      -__init__()
      -

      Initialize self. See help(type(self)) for accurate signature.

      -
      +
      +__init__()
      +

      -
      -get_elemental_property(elem, property_name)
      +
      +get_elemental_property(elem, property_name)

      Get a certain elemental property for a certain element.

      Args:

      elem - (Element) element to be assessed @@ -413,10 +472,10 @@

      Submodules -
      -class matminer.utils.data.MixingEnthalpy
      -

      Bases: object

      -

      Values of \Delta H^{max}_{AB} for different pairs of elements.

      +
      +class matminer.utils.data.MixingEnthalpy
      +

      Bases: object

      +

      Values of \Delta H^{max}_{AB} for different pairs of elements.

      Based on the Miedema model. Tabulated by:

      A. Takeuchi, A. Inoue, Classification of Bulk Metallic Glasses by Atomic Size Difference, Heat of Mixing and Period of Constituent Elements and @@ -431,14 +490,13 @@

      Submodules -
      -__init__()
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__()
      +

      -
      -get_mixing_enthalpy(elemA, elemB)
      +
      +get_mixing_enthalpy(elemA, elemB)

      Get the mixing enthalpy between different elements

      Args:

      elemA (Element): An element @@ -452,13 +510,13 @@

      Submodules -
      -class matminer.utils.data.OxidationStateDependentData
      -

      Bases: matminer.utils.data.AbstractData

      +
      +class matminer.utils.data.OxidationStateDependentData
      +

      Bases: AbstractData

      Abstract class that also includes oxidation-state-dependent properties

      -
      -abstract get_charge_dependent_property(element, charge, property_name)
      +
      +abstract get_charge_dependent_property(element, charge, property_name)

      Retrieve a oxidation-state dependent elemental property

      Args:

      element - (Element), Target element @@ -471,8 +529,8 @@

      Submodules -
      -get_charge_dependent_property_from_specie(specie, property_name)
      +
      +get_charge_dependent_property_from_specie(specie, property_name)

      Retrieve a oxidation-state dependent elemental property

      Args:

      specie - (Specie), Specie of interest @@ -486,14 +544,14 @@

      Submodules -
      -class matminer.utils.data.OxidationStatesMixin
      -

      Bases: object

      +
      +class matminer.utils.data.OxidationStatesMixin
      +

      Bases: object

      Abstract class interface for retrieving the oxidation states of each element

      -
      -abstract get_oxidation_states(elem)
      +
      +abstract get_oxidation_states(elem)

      Retrieve the possible oxidation states of an element

      Args:

      elem - (Element), Target element

      @@ -506,9 +564,9 @@

      Submodules -
      -class matminer.utils.data.PymatgenData(use_common_oxi_states=True)
      -

      Bases: matminer.utils.data.OxidationStateDependentData, matminer.utils.data.OxidationStatesMixin

      +
      +class matminer.utils.data.PymatgenData(use_common_oxi_states=True)
      +

      Bases: OxidationStateDependentData, OxidationStatesMixin

      Class to get data from pymatgen. See also: S.P. Ong, W.D. Richards, A. Jain, G. Hautier, M. Kocher, S. Cholia, et al., Python Materials Genomics (pymatgen): A robust, open-source python library @@ -516,14 +574,13 @@

      Submodules -
      -__init__(use_common_oxi_states=True)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(use_common_oxi_states=True)
      +
      -
      -get_charge_dependent_property(element, charge, property_name)
      +
      +get_charge_dependent_property(element, charge, property_name)

      Retrieve a oxidation-state dependent elemental property

      Args:

      element - (Element), Target element @@ -536,8 +593,8 @@

      Submodules -
      -get_elemental_property(elem, property_name)
      +
      +get_elemental_property(elem, property_name)

      Get a certain elemental property for a certain element.

      Args:

      elem - (Element) element to be assessed @@ -549,8 +606,8 @@

      Submodules -
      -get_oxidation_states(elem)
      +
      +get_oxidation_states(elem)

      Get the oxidation states of an element

      Args:

      elem - (Element) target element @@ -566,12 +623,12 @@

      Submodules -

      matminer.utils.flatten_dict module

      +

      +
      +

      matminer.utils.flatten_dict module

      -
      -matminer.utils.flatten_dict.flatten_dict(nested_dict, lead_key=None, unwind_arrays=True)
      +
      +matminer.utils.flatten_dict.flatten_dict(nested_dict, lead_key=None, unwind_arrays=True)

      Helper function to flatten nested dictionary, recursively walks through nested dictionary to get keys corresponding to dot-notation keys, e. g. converts @@ -592,13 +649,13 @@

      Submodules -

      matminer.utils.io module

      +

      +
      +

      matminer.utils.io module

      This module defines functions for writing and reading matminer related objects

      -
      -matminer.utils.io.load_dataframe_from_json(filename, pbar=True, decode=True)
      +
      +matminer.utils.io.load_dataframe_from_json(filename, pbar=True, decode=True)

      Load pandas dataframe from a json file.

      Automatically decodes and instantiates pymatgen objects in the dataframe.

      @@ -618,8 +675,8 @@

      Submodules -
      -matminer.utils.io.store_dataframe_as_json(dataframe, filename, compression=None, orient='split', pbar=True)
      +
      +matminer.utils.io.store_dataframe_as_json(dataframe, filename, compression=None, orient='split', pbar=True)

      Store pandas dataframe as a json file.

      Automatically encodes pymatgen objects as dictionaries.

      @@ -643,32 +700,32 @@

      Submodules -

      matminer.utils.kernels module

      +

      +
      +

      matminer.utils.kernels module

      -
      -matminer.utils.kernels.gaussian_kernel(arr0, arr1, SIGMA)
      +
      +matminer.utils.kernels.gaussian_kernel(arr0, arr1, SIGMA)

      Returns a Gaussian kernel of the two arrays for use in KRR or other regressions using the kernel trick.

      -
      -matminer.utils.kernels.laplacian_kernel(arr0, arr1, SIGMA)
      +
      +matminer.utils.kernels.laplacian_kernel(arr0, arr1, SIGMA)

      Returns a Laplacian kernel of the two arrays for use in KRR or other regressions using the kernel trick.

      -
      -
      -

      matminer.utils.pipeline module

      + +
      +

      matminer.utils.pipeline module

      -
      -class matminer.utils.pipeline.DropExcluded(excluded)
      -

      Bases: sklearn.base.BaseEstimator, sklearn.base.TransformerMixin

      +
      +class matminer.utils.pipeline.DropExcluded(excluded)
      +

      Bases: BaseEstimator, TransformerMixin

      Transformer for removing unwanted columns from a dataframe. Passes back the remaining columns.

      Helper class for making sklearn pipelines with matminer.

      @@ -677,27 +734,26 @@

      Submodules -
      -__init__(excluded)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(excluded)
      +
      -
      -fit(x, y=None)
      +
      +fit(x, y=None)
      -
      -transform(df)
      +
      +transform(df)
      -
      -class matminer.utils.pipeline.ItemSelector(label)
      -

      Bases: sklearn.base.BaseEstimator, sklearn.base.TransformerMixin

      +
      +class matminer.utils.pipeline.ItemSelector(label)
      +

      Bases: BaseEstimator, TransformerMixin

      A utility for extracting a column from a DataFrame in a sklearn pipeline, for example in a FeatureUnion pipeline to featurize a dataset.

      Helper class for making sklearn pipelines with matminer.

      @@ -707,29 +763,28 @@

      Submodules -
      -__init__(label)
      -

      Initialize self. See help(type(self)) for accurate signature.

      -

      +
      +__init__(label)
      +
      -
      -fit(x, y=None)
      +
      +fit(x, y=None)
      -
      -transform(dataframe)
      +
      +transform(dataframe)
      -
      -
      -

      matminer.utils.utils module

      + +
      +

      matminer.utils.utils module

      -
      -matminer.utils.utils.homogenize_multiindex(df, default_key, coerce=False)
      +
      +matminer.utils.utils.homogenize_multiindex(df, default_key, coerce=False)

      Homogenizes a dataframe column index to a 2-level multiindex.

      Args:

      df (pandas DataFrame): A dataframe @@ -748,11 +803,11 @@

      Submodules -

      Module contents

      -

      -
      + +
      +

      Module contents

      +
      +
      @@ -761,23 +816,119 @@

      Submodules
      -

      Table of Contents

      -

      @@ -808,14 +959,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/matminer.utils.tests.html b/docs/matminer.utils.tests.html index bb5e85582..05bd989f6 100644 --- a/docs/matminer.utils.tests.html +++ b/docs/matminer.utils.tests.html @@ -1,18 +1,20 @@ - + - - matminer.utils.tests package — matminer 0.7.8 documentation - - - + + + matminer.utils.tests package — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -38,217 +40,217 @@

      Navigation

      -
      -

      matminer.utils.tests package

      -
      -

      Submodules

      -
      -
      -

      matminer.utils.tests.test_caching module

      +
      +

      matminer.utils.tests package

      +
      +

      Submodules

      +
      +
      +

      matminer.utils.tests.test_caching module

      -
      -class matminer.utils.tests.test_caching.TestCaching(methodName='runTest')
      -

      Bases: pymatgen.util.testing.PymatgenTest

      +
      +class matminer.utils.tests.test_caching.TestCaching(methodName='runTest')
      +

      Bases: PymatgenTest

      -
      -test_cache()
      +
      +test_cache()
      -
      -
      -

      matminer.utils.tests.test_data module

      + +
      +

      matminer.utils.tests.test_data module

      -
      -class matminer.utils.tests.test_data.TestDemlData(methodName='runTest')
      -

      Bases: unittest.case.TestCase

      +
      +class matminer.utils.tests.test_data.TestDemlData(methodName='runTest')
      +

      Bases: TestCase

      Tests for the DemlData Class

      -
      -setUp()
      +
      +setUp()

      Hook method for setting up the test fixture before exercising it.

      -
      -test_get_oxidation()
      +
      +test_get_oxidation()
      -
      -test_get_property()
      +
      +test_get_property()
      -
      -class matminer.utils.tests.test_data.TestIUCrBondValenceData(methodName='runTest')
      -

      Bases: unittest.case.TestCase

      +
      +class matminer.utils.tests.test_data.TestIUCrBondValenceData(methodName='runTest')
      +

      Bases: TestCase

      -
      -setUp()
      +
      +setUp()

      Hook method for setting up the test fixture before exercising it.

      -
      -test_get_data()
      +
      +test_get_data()
      -
      -class matminer.utils.tests.test_data.TestMEGNetData(methodName='runTest')
      -

      Bases: unittest.case.TestCase

      +
      +class matminer.utils.tests.test_data.TestMEGNetData(methodName='runTest')
      +

      Bases: TestCase

      -
      -setUp()
      +
      +setUp()

      Hook method for setting up the test fixture before exercising it.

      -
      -test_get_property()
      +
      +test_get_property()
      -
      -class matminer.utils.tests.test_data.TestMagpieData(methodName='runTest')
      -

      Bases: unittest.case.TestCase

      +
      +class matminer.utils.tests.test_data.TestMagpieData(methodName='runTest')
      +

      Bases: TestCase

      -
      -setUp()
      +
      +setUp()

      Hook method for setting up the test fixture before exercising it.

      -
      -test_get_oxidation()
      +
      +test_get_oxidation()
      -
      -test_get_property()
      +
      +test_get_property()
      -
      -class matminer.utils.tests.test_data.TestMatScholarData(methodName='runTest')
      -

      Bases: unittest.case.TestCase

      +
      +class matminer.utils.tests.test_data.TestMatScholarData(methodName='runTest')
      +

      Bases: TestCase

      -
      -setUp()
      +
      +setUp()

      Hook method for setting up the test fixture before exercising it.

      -
      -test_get_property()
      +
      +test_get_property()
      -
      -class matminer.utils.tests.test_data.TestMixingEnthalpy(methodName='runTest')
      -

      Bases: unittest.case.TestCase

      +
      +class matminer.utils.tests.test_data.TestMixingEnthalpy(methodName='runTest')
      +

      Bases: TestCase

      -
      -setUp()
      +
      +setUp()

      Hook method for setting up the test fixture before exercising it.

      -
      -test_get_data()
      +
      +test_get_data()
      -
      -class matminer.utils.tests.test_data.TestPymatgenData(methodName='runTest')
      -

      Bases: unittest.case.TestCase

      +
      +class matminer.utils.tests.test_data.TestPymatgenData(methodName='runTest')
      +

      Bases: TestCase

      -
      -setUp()
      +
      +setUp()

      Hook method for setting up the test fixture before exercising it.

      -
      -test_get_oxidation()
      +
      +test_get_oxidation()
      -
      -test_get_property()
      +
      +test_get_property()
      -
      -
      -

      matminer.utils.tests.test_flatten_dict module

      + +
      +

      matminer.utils.tests.test_flatten_dict module

      -
      -class matminer.utils.tests.test_flatten_dict.FlattenDictTest(methodName='runTest')
      -

      Bases: unittest.case.TestCase

      +
      +class matminer.utils.tests.test_flatten_dict.FlattenDictTest(methodName='runTest')
      +

      Bases: TestCase

      -
      -test_flatten_nested_dict()
      +
      +test_flatten_nested_dict()
      -
      -
      -

      matminer.utils.tests.test_io module

      + +
      +

      matminer.utils.tests.test_io module

      -
      -class matminer.utils.tests.test_io.IOTest(methodName='runTest')
      -

      Bases: pymatgen.util.testing.PymatgenTest

      +
      +class matminer.utils.tests.test_io.IOTest(methodName='runTest')
      +

      Bases: PymatgenTest

      -
      -setUp()
      +
      +setUp()

      Hook method for setting up the test fixture before exercising it.

      -
      -tearDown()
      +
      +tearDown()

      Hook method for deconstructing the test fixture after testing it.

      -
      -test_load_dataframe_from_json()
      +
      +test_load_dataframe_from_json()
      -
      -test_store_dataframe_as_json()
      +
      +test_store_dataframe_as_json()
      -
      -matminer.utils.tests.test_io.generate_json_files()
      +
      +matminer.utils.tests.test_io.generate_json_files()
      -
      -
      -

      Module contents

      -
      -
      + +
      +

      Module contents

      +
      +
      @@ -257,19 +259,83 @@

      Submodules
      -

      Table of Contents

      -

      @@ -300,14 +366,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/modules.html b/docs/modules.html index e2d5766e7..08a4cf06a 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -1,18 +1,20 @@ - + - - matminer — matminer 0.7.8 documentation - - - + + + matminer — matminer 0.8.1.dev2 documentation + + + + - + @@ -28,7 +30,7 @@

      Navigation

    • modules |
    • - + @@ -38,8 +40,8 @@

      Navigation

      @@ -136,14 +138,14 @@

      Navigation

    • modules |
    • - + diff --git a/docs/objects.inv b/docs/objects.inv index 08b3db3e10481bb1187407065c8744272208810b..dc774b5bc5e973770f9d7e626ad72b509b9714c3 100644 GIT binary patch delta 8988 zcmV+%Bjeo1L#{`VJ_tB2F)n0fb~2GcK7Zpll7R31D;%+VZN_xX&hEzCTz+(WqTS^! z*Uapm7!V0bXp;noq*PY_`UMES36P+OO!`n|J*fN=KxX0%#H5H>LbIFn^4FM$r-1@rUM%kQBtvXpu2`CXxQf{by`tdDScG-#-5O<)46}y?^rm zd-2HEZbE{HJ5ult{%K~y?tF$v0X#w0Me8Ka<_#!LcnnK7=&F1|#j8BhJ)#TPPY#z^F|&^i466@SW|?q9vz zm#2p;<7F?Fz6UgQ7zH}w;T%aot><hgl+4Wm&|3}4VfaYC|zjT(rpM}J+E zuWrZzrHoBrta3K;%YO&O8y5N`$-h^Ny&!d2Fbw0M$cvBnDIh!W;OOV4lx9bgg}#8Xge3(it-k|@2vv7pLkA4LR2@Ih9J{*EOiy8r?Tnn{9xWNCqbiAWNP zND4wa(o-JMOn-EZ4ha?Z3j+C_WM`K9;lA)ch0ugQgA(GXgn-sF@h9>QBN)b=(<4tr zJnB>;P#{MC;0**Y(u#VXMsmSDO%BBo1o53mXPOlv-}pNV*EJ-n7dD$$ESq#AiRDBL zi6X!Lh9!IMRA)sv6BZF!ad%t1ZW;Bb?KC|YqBmIvgn!_oNh6$(=0V2NxrtvFEWpH| zq#`-Rvh9>H3Ye0N?rA2y-Yr5kZPmwXB+tx&w$E6^3Y&S)D+PM@>a)o~kD=@(Lg&V@ zmdIA)B8&Ui%W|cJERFXr5T5-g)Z$FDfVJa0x=P4V;VsfbTa9d~h{ehbBt=G5(g#s# zb2SF_+kcj-3~IqGRq550*oq8mRBV2lvBcEwb*l?pMUV>{|@02jnbIM6u z4FpFTya8mG_e_eNFwA4sVt`7X4pYxqt8e`CpZuSIQdm9(pTZGFJu;jlz(`<4o|-(s zQ^Pc?fT+RDbOW9yhIt4?1&k9ETkFuwT;M6vpMTQuKmF;azaT4Mp77XQ3I9z*ihOs< zwonJ%CTr?esjg>?@QA~yq;1Il`O_Bg;RM%K{Lai5o(j4tF+BQcu51(ZpSMA4X4mj^ zsHfc!iD@~SB`Vhc{z?2phbLT}DYcOXrg=j|4Ga^Ccp3<9z+v)g(Zi<2<>lzXD6WJLGMVp(JjXqp8PC>p?-LS?gk^6$WX=z9FQ^6vDF{o0k z_jmcf+rf*0;Hn`?i{L1l!(|I40vI^dQtQ!D|HxyC0o%*-7xE+d^q2qik0d`rGrOa( zqCyD3b2OtBQ0-4C45v~$Fb1;D;$jqdjBZ_*EivHA&Mi{8-Bn&W$j8US89MX4xm!~WN zg|Rq|XiSrWXRh-uBS~<4k%zxLh$jyhxAr`g4rS6K4wO}oK%jZXvQys^2aVXxMZH|Szwnr1ei49H&pW8*{3KNs$0!#QVdey0E zd*Dh4D}coMNCn|K&J5)z{_lL3!}xKU(TRC~H?m=KUoBne1Um>oTLiA97oytA&0{1B zg+EtER=BNN#!?-&f%Nj-)-M_WKz|)$q_{H7DS*35V3OjpBG7>xRR$W-&ZD%3;W$*h z79@D1p<8Dj33cnsWAScXc`P5mlT8p;jy#s{(mLhIuRLeX`q;@XOXp#`?o0OvB#QV2 zgW)|h8q%1|I=~3EoUyGr5X>u!HRWry0KYu?`l3^?JowCERKo2#Twf>L_UhlU+yqdpd;?({BN0P%U zk60-FJJps0)&>~SklF%cE>fF71IDWt&2S#m13DZtR+#AEF=GtIiydP&bPTCqQ{W+& zhT}b`ynLzWonWGskp~{H%w+J0Wk%z8?i?S`cPG&0b;cPruIYn>V}FE>mi|mL8nOep zOH~|1SE`AKE>t72U8m1QahV#4VXagVfUBE|QZ5+06E7_0xmG2o1A@0v4HL&mjbK14 z)i4pwv<~QxonASh6%AIn%Y7J{9S^W*hCJZnTCx_7V9En7hAqP{rjh^d zN}~ZDZW)8%%~iw1F;ycN&`fnq_<;@i@1fl9%#+*wUWPqL3mT%pBdr#SVz?tJp6MFU zz{WeGB1PB+ObdC-XJA&dge1}*p zhhe!d{+MrkT2JBGPMB!~-1)31-fg*t_KSK4<^OsZygM4WI376(2XsmU7sEkn^gl=> z52pXpS~8$f^?zaD^@;(DX3GOEt}Scf2(~=nV%Ty@g17oGO}H>zQ7UJBQSTl^FFcT! z;Xw5oW~kskG{*;brdb85g`5c`nYy?6lovGfLncpG59ro<!Elu`(Q;H zx7#~Vl)7rE{`yEcTqL_el$=nZx}uJV-cHbLEWj)dvr^Y>9f#B?FV}~D9DRxyKa&=( z@>}mg)l}~mo})q6w<(rqm{iA&8ZWoSR7u|C;eQjk9_a(yoxrq?vl$SdILn zXu|7hU=htofoQi^&C;$99`%GsH50N$5SdV+>Qbs>nRsVT8M8>tik;Og5}HC+O(Ctf zk$Swd8tL4^MkZ9KY$U}i26ZzOb}1;T_pSW1MHv_ss5>=BnzOS!%&Wda1FaVGty*no3udMwHumX7@Vf@#Ok zFWXqM;BI5f0=%I$H*{=!7GOAwPR`G?tiF^rZ6CdH3@Wf7QZzS#7-uOC3et5TSVYI}HklHr^ErV%t3ch)wqhAjZ`rKo#)c^0KaVUBF$jAO+k5fD~|#04P$x zJpxn#zg)y42bw%qyV!2iG-3e}7>C7ehJY0Q1P-L2CU{WACK{7q3>JTM)q({qdJO=| z0CXrQGtjZ1j6ugjFo`FKu_mp2XoKjGpzYxacxX$HLa+uoJOXSGJp{B(^kL9u(WgOM zMxW-=I704fcw0#F?!UY`8`2obb7nwe$FfS+qTSnuPQD}K=!sp*w z48?M?-C4|L^m zDU#Nwdpf7M4G8lj2LWOd!U{<72f139s7qtZqj28k34}ScDYy)S4W~&W(F? zaj%PDc3bSr9j|{@A*_6I$CJ=%x5IUEz1y?MmIM7P-rgpMXnts`&Sso&^1Hl3Swge8ZnuOh*CeS>=V zPNGnbB3bT%Tnm8opCJm;hlVV0KhgtXd}+u6w!vSy_`kksL*55Nv-(&7x3*{iLE5AV z32B=qCb)l%PJ>}=)yM>m&?YLdr<6Xa04?6VpJ*|VUZMv=`iPzg?jciH82>O3LA^uI zgz*jfF8W3ZK-Z!c?7e=ueR1YvJ*faL)t3+8L45#}!{{hZ{bK-d*-iS zEIH6D&6v%ZmJ5BWBipWm)utc-o;N&+18~Gi9+Y2NK%KhjBoEx~%Z~U% za+dYkW8WQ|Tc{odY^Me&u(cYf7&beJ2D4lf6{2de;3D`xy%uF>zcsq?a3H>1P zV_vYm&r?5@Gv`jHv30nDWOC}frn1KeocgU11<~MtGQnV?LrHs*w~pim3+O$|)na;^txgUYP$qAnk%UB-Kd4VK zN(8um1{W^xW9`6mT>6+SrM;IV0A9Hvvp7w)N!ENp@TE&9&CIig5Cyh9VPtbt>00sbhX1P->5}$@&Nytdl ztydpAyJX$Ds|^v#hppI9j%@`8^}q!hxOYoCI4d^6LRGYOco_e-ys*A~c0oIK$rbf0 z0p;4TcE_&O{YyiC`*VYQN8t;4&4}7a59*lLFnf>pp9c93IY|?_ttr&iDKEO6g zL~^xzc^R$cwX0y7lxN43m!V5-02Nudtayd(H)}Z`suu`)PnE#)eZK3kO$GWx}+b= zX!5eh;|Hgm%?;Fmik#KD1Dt$WFgw2@dX*C;&*DFXT4Btpf`awniA!obkyp+t*4=F3 ziFK6vSV|p5$})jd$$kQBg}KR5j<5HRz=qbPRM$`MfwOMFJ5+0Dc9V$`Dt{DzA2Sj(rUK=1T@H@d^@up`&_mMX z6swaXNfecXc$>hH!H97{!-Wn7eI#%+=))GxYB_>pMWLS~z9Z37BAWF(7O~>;l!Wvh zFdXTDC~?Vv4oDREyR)C4;;rZh#(Z`PvMu>(b%Wm)I$%^0CN_`LlML494d8eodr|@5 z*ne$c%iSBo?b_WU8}RABPE3siZ=u1qLEaN}T5zPn8zlN!g!T9of2EP|@N>D|m?Qy( zZ19?pD0PexjuPXHbi6<_qXKZKG1FmNj7Bb&i`RGOk?0qBW-XUz=QEol%3Kpsyv)Q# zaWWGe&&Q@U0Cq7G9NN-@>MB{t(bk6H{eO*QXO`bRKHUSjkPZXtH(DU5vuKI%9x{Oi zatkf7yv6BAV`Sg~mDinz!z)baFeARs*gIg1Q2_6bpCTUbo*SIw7^B00#uzOSG{$I& z@G)ir3lwAYM3@$>mWAVV-j{4A>?L|+Gzy^|W6Z+v4hEl z8a7I5sG!Y?F%R5d>{g3j-I|x{70YWoZ0~WoDg|8xtosdNux>Y`A-J0!3FT%(8iu(y zLv+H`R1ex}_qjV3yoGA1@TRK8B7fQJ1RK(L^;n=v!U#lhoB#cK|H8kAG!5s4*_;APA6ECRz@H#SV!G20KJz*{hxlYOX`%CV$onx*$st zpUJyir}9FAH{p~I`#lR7O@a%UqnLmg_G@Hg8S;z*pcZXpRffF8V z^#F_w7An9D58J^pqSCw;&>;yu7Ht@Wwv0ZTJN%ZOzOk2W=w5OWk@)NHSkfuq+54py zv)Y}9FkOsNejToId8X2GA!^-iy_bV8>s*vJ%6l~0E!?se3*uU z1sOViDHTv1ZX-w2I~ZiWJi*2Cs;#^U-;4A_*dtLU$l!i^iG|4Q0$C?l2=AW7asr4a zB!U?oH;`b1f`JJe5e!g-a4<=RiUkHJmUC1GO1xHY0cYE1h&YyPV9T?`_MN1YLiJN9 zo(eclWr9~nRFJ z*!p&yRs4lF*0{)P-7P9j4j^RtEMGlgJ_Qe}JSLRe@!f~fBnkK3BTGMkPC}5MRmbj> zM-nv0OML+4zLP8z{iL1$=}$lXm)w-CPv0nKe&p&<{iMs)}x35v4fhlq;_|`!L$P%c^p?{R&*O#an6C+O1m6SZ<5h z%yQ>+sP2DKtAEpR?bc2;UhOJThsS;(#ZtB0+NZsh^&dpJyjen9#-(;qHn@HZ*U_%^ zF*$?ZxI&j-@JfBvrHb@>@9xxa@8@WM%vPd=dPMAbx?;Y5bx5t}W!fwmOwFL#wUs7SbAGhi0IhIr)H{?z@cr_1sGsFr)&kS$4g`y4 z%!11R9YDO#-FJ)3&N{aiVQpuyfavAJ^6SS&&c?cABngf$TvQ?L!C;Qn$pLLGr`{tg z3bKo6KYvTz+LjixWLbkF;?k7_PO(CAZSZ$Nhmfr#KBo#OG2`{Zr zvlJ~C)?@}qB-=^rS{22DbTkw@(t^>fX@U-GQ-4}8yk)(X$Fl<))DQw~MmyyZ1Se4H0e_LdorfTEQ_t_NPcOL7-&q*+?~K`0pJswp z9ysy*vV}hN2c3BOLDcZWOG086Y^n|yFTQ8>Ml)0`M2oQ~jdu4t4GMhz?|J1k8}ZYN z5OJW1FK=L1i@N0#1#DE->mnRgX2qtlqrLR;Lun#oYJYJMsxCqU28RzhST!v~dw=&| zULn^uX%Il;COT62Me`v@Ys!q}sc0xa(ky0}(EQeZeV;4pFPB}$LiPs%i3LWiTqP^M za1Pvej(LS}yIOu3P3rSD;iidZa6s-jN9~XJZH$MSyt2~bNTZZy&9fV6Q8s#=cRNo7 zi!7?I@-aI4%AyRNAh6tC)F)b#)2bqoDZQqnbbZ>!NZV-$0J2&pw5;>yUV&@+ChoPk zqSxYHiKTrE_ZlqheE@$buxSA-?6CkSu%IvFp1!n~<6eVB{U7)Er9C464cr96iTTHw z0Y&w7chk)(3FUQ{@;aM@l1wHrq3m$nRU1Hbqp7BD+E}b3kk=w|-po4QSF%Qp zh4eG**qznk(@sM{|S*m_2AV+zr5ZyPierYBYIvImYcj& zvfR4*OSP9|O$m2pther-G#CRJAsmK`k!)8*`E2^FhMdPkc|6E_o z9#E~ED7R{@=)HBtjASnFOESJf7skDECZ#!nLPZO?8SGkZyu6S{F0>L!zCzv`%@Vq5 zT%nTS)stkt`e2nhUPR>f_qEbemeQ!6FuX2xwFvKC`1r$n5S>Cb|GhBgY2~bndwPk+ z6I-tlR%Cx9$@e^qSBZQoX#6UIMIh{UP0n@YxXHPm#I-rs6SgYnCe|ugO_Pm=CoP8l zt`w|*%LZ7r?^^nbLmijY8((` z(_&iASvET4L_S2h=rB#rnNI|}7NJtD%pXETtI>8WG)RPbG;d+=;!?o@DFKwLl z#sVJIn|txvxCU>9-b4BQClc|7hHV1Z=GgSG#L|3X+8AOxe6IQJ&0YQZ4*^e#jO|Y4ao62nc0M2exbxNc_vQHtS_wi; zy$o5%xm+|8hU&1g!-<8otBw8%rPt5p!v%l8kza~#cJ*v7KdN~RB0t43$u2tC)mKXB zxAK@+zQ4Jzr2RnOi98wH-<_g2QI1^+gRhi?myF6_CN+|u-;`y~ZoaeP*s9eoZ_;Tt z{#J?Z-JSJ=G?>y(dbwYJs($e#U;fZORslLsG%B$qFGv)rdb0Oy`*|(2{6wZu|LcE3 z7B3@FU$c>*f9rnoWAh`O_{M%ZiZu?=w^Dg|G&#`L(aM4Lj0&@(=Srucg#IIafy3X= z$gf7JEGTVYnSMl1EG^wckzZ;gm%lMeo6)>|#30$EZD%Q;R(N-*UteM9Lt21TgJurYwn1*D4h5P8S*B~)61$n-(Ktf0Lq-FZQUk5| zdI)HLHz9K>9fOCA@=cnXOGH-+hMXTweVgSCCZ=yDrqA^hb6%LsQCoIA)HFD7(#wza z7fQynYI&=sj%sQ5>FT3FbEhL_M*ho1^g5D0CKsKp;Mo76`b_=iRek>=lkxw^#ad{w Cvnp5s delta 8504 zcmV-8A;;dXN5?~uJ_9!{IFUv^f802dfbab)6ft{kMz?2YcVlj{B)c`yYAY=F%Tx{MUXYl=<8pEF z6*3h(^>-Iv%AkUg$Y-HzI8P4z{v(h_mBPL9e?ZSNa=<*yOoZ|@GZEA{D{K%^k|=xp zg9ggG6=r`*%GWMIER!Xce}jn^H0JWHL}bnxJCactM^ci#kMa+o6X_XH=4_xrRUQT$ zfal~iD@|+G3W_JKZJ~VH+QhCAuKxNWzkj3J#$FCbe1~o`4k^)Sj!>5hvBR(Dap&~N6B&;>l?W7w(LZ?ue*uiNvYw}r{3~d3$d4e1 z?>stFk;{DJZ!BEbkf>hR%p+Jf=|&QZoQ6~7 zKi!>j3Ww;8&Hy2}Y|=>Qqgfzibu=^5=z;~97?e~br&zU} zyhifOpj-Qle?_dY8ECswpm$$>HaX}ql)Xgg-1yZJ+2y#%;{NrrTqz(+tBF%^KM$f!zsCn{~O#-M)NQk6k1xTPw+x)NKFVU3E- zPX$X%?OwOKz*R(9k+>K60;FE(i}y|mlRc-5wADaxf26@HK!$lwB;QHHJXS3RsO0G| z0_F*i&6V(9Wu(YP9<$a_Rk-- zfDb3Qf41UxX1?%L&`pWq(MNM-o1p)?4O%n1hNnY4?S@E9i_t7uvHs7`@*g@p;aM(Z zOK&3$O!J0_8W<)N@idU!fb}{-eol6$h#>1Rp7BIvs~%Xl)A0e_6eUO1H8ScasxuVI zHa9IAeYk3zf^1iI!y2nZ?hERsr5({vIg0?sf1nDn-tX$K+rf*0;Hn`?^WZ3(!$k`v z0vI^dQtQ!D|HxyC0oya#1I>=)!{7ePKa%VS&FqfC$_gO>&rv}uV6jx#-wPfWiH7E$ zNyOyC)RpDfIF-?z_LSr&!TvN(Qg$A&lH%=T5G~sjCqW@(dLQMxPtCVlZyyn^5>-Er&EI7yOF&^PP9qxABxVW|Fp>!yd9&wH=q8A)b$!q2$mo>uO zS>{-{Yil$SfbypKer^wyD@;t13oPNgf9zAIRDeKO4kXq`DhSt6W+*@L|KK|i$*G_d zbN+5*!{&XtYymLP6>EIJ3LuwNR%RX_St$JJ6y;3XqT6a^EY)HAM=#%P?V#>4b>@*!x4t|U@79&a@&P>Ae*|&m z$Yc2~tux?p$}`rijh*bSbRM?rx^#a)qKIEG7~T`3A&tqb1B_7184LWu1#N+QxWI)p z%E>Qkp=XQ=ES5l_63bx$RAkOmjssj8^xQG6VxSA$vXJP4Xx|xHL;Dv^ZqVf_f9Aw7I&k=aCwq1{iDq@9;OPZhi6RhTL#LOM!f_8I zj)^Zw$QU*{BJnOn&*+E;B=TdHNeRIbn;w%x%BY{6WUdSJ!md};3^Kvbj+6*&Wxi8( zIOgb~2D8>5Qo-x}7Km5#w@jS6|NlsGc;OKX<)2e+Ibdyo5e=y=FyRxw(In{C@xbYF|3uA z1mNnXq7;h-@8k=Md9GE-f9ZhWZB)a=F;XKK&`LE-L^G`e`ln8>9MFmeH1Ggx;-Z=G z5R7ZbdOCtJ55brg{gQJQ9GUDu=Hdcu&pj5JHTS7#w%o_!TC$FfV8?wdrWJpCqB)6> z!g3#mX2%08njsIkxR$JiBbf4li($*~i)qxqyTWLIhg-%VcyrY-e{oFJ2nIA$9TR?F zL;ZUw_B!+AcE49)57L5$DDX(Dg`yblh>B;r1~jnoj;KfxwgJ-vDGxBXXZt;Z5%+kg zmfRu`KktfLzIu`6 zNHahy9gt8gb;v}qf7T%s&tmmtV5=QLaT>luESAHlJA-**zU^r}g^Qgu(+IfpSy8;( zVh!z=@*R}_>tXQjXyD>_DGgi<2dUBjB#}Cl{!44gfJW7af!8YrESfD3xVW~g zg(KMVfQw^&_A5%w`ky1XTyL)wvaM{(4INobzZajc~%F zofd#`a#jJBggy(Yx}u;eoNPmN)EQ)@Hfk@AG~r?o)mGYI)Fuj} zC@%K^tLNUGPTBj(rVBA0CJ&&@mHQpmJ5amYwvHkcIfU7$QQs}I^dtuijeKdi(K}SD zmij(b%K~+Jx{&YRqkdG~;_>cuQ#T&UC&fD}(zxB;e}SUZRZI2PN6O(M*$txPgbLO5 zbVT-cf@Wg@W^tI6x^C+@q()h>KJ@+QlgId(w0M=@dJn3mdbjW#4Z6Nbu{gsdEvKK2 z7u#a0q;B!>iCT~J4s=mh?Ud`1wpFB=dfZrz?7e8h>uF#a%}9=Dw^z;5t`8pdgh(|L zvPBS?e^8<7QkKUu@y?twW|5c`JD0OaXbN35g|yyA>haEMq;m@!nNXp!krb~O%3GnZ zOQEEC--`dXC*odDYivAeM%$TE=_roN0E2aV$5BGR=2Y+AJ?DxpJmK z#{!?x)l3`7G0G7JsL?fo8>IOp~^MRIpR)+`gs*6&%6%TT=gg9f=n8}Et*vF#oJ z#HM=$5aa3*pbGdOSy9)zF5s?MkOJ-jKnl1=04d-e0jhwXFY=KCO+Hn-*lyD_VgZpD zhsAA%fE4}&4y2$acu>VA8#CWHOxI;7lNb&UfAq2i3t03T0F(jfP*7%|V?h~%j)hvoAz}r&Z`Fzowc+lBzup){`&Cw z_E-Pzm)ozmci$eq7H&uKT(I3Kr|yBSTycuw%r&PV^ey#6W^>W_^$fS+V4mb4JWN6u zXl@3T}wHmb`Zmni54K0p~3@D;AC!Rxm_6>=B_2v4X)`q5^#pOo}fGj6}~wttPU$NzWY$&^9NafJQn& zg|^mNG>F+wP+{#?^~=7qgM3D|e{JY~Z`G=?g#_Q4 z!T~%?ivjQ{EeFbrCSXqeM$fV7+^i!kIZ}NU3C8Oi)WdfYg=!4RatGvE0Hps6QII|~ zWP$sU9th)0Ll&?N{>tUw`koDS8w?fop#W}e(Ex(9NfQ#%Hcd=$8=VHjf7q^yhI zRA5gje6j?zc=vvy#Xx$A9ti0pdLp=oOkrXC!$1V}4m}gbH|U$}8zlf;i(0Vv^5yo~ znUD3P0=QIPK7a@H0ZxKt(E;&54!^eXAqeyZ!vz zi34!NI7uFqUs^z&y6Gej-0q8x_(O75_1UMsJ2JveU1lP~t!qsi89e9RIKl2DZ0G{A|gI<`3)5>R8&{BIEgMM06=Ilq5urs$bz!&8K6_sHnSjVR3i<{i@eX| zlx2)0FPAu0dvKgu`%pNLrH?Q`RzBwNOg`-gf2W+=++MVb1?f!&m~&4WaSk7#0sjdM z0QAgar&=UG4Zo6*k*Hg*e(LOzb?2@&L?|D&VnaE$6&%z97ii$#E$!ee-vkR)(c0l* z{M+)n`u5oc?bsz3)UN~-Ys1X^4UsEYwpY))MCO!;d;UFvp_bRHF52pQUFmf} zf5kQ>`9E0knPBA?x}C?cIXkICyYm!Vi5*V?u?u%?tuU+c&KLQ>w>sj%SeKdE|GwH$ z2AszxEvVXx;Wy_4Y@{(3*if@oV^()VRFS<&P1gVWCD{%Jr(&gHrToP1d@JHH}&6%!>-@()6-FlJRj z!Fuq-CAFQ%D`pkzZnpHqI!e7Sr4B`zz^PUJPw#=VD{jC$ zRD-hWSk-+shk*yLi_#IWd$RnDc{B%`+gV5RxcvabN`m*19Qa;!lRgwGf0X}!5+rC$ z1DgmQB(}#Z30IIBgO#@7djO5k-*WQ4_h>=HtTmRV)^AU3F#YPIMM@A;*tR!kSOqXXFof|ThR}U`Ro*kE%|A6f8Q25U{nz% zHjmSj3fAWh;CLZ>QUT!De{Eo^-5b*F+T9`>@aex#tQ-m6LW6CCyeI3l;7Eg4Nc58o z>+vc6N+apv=VHAvNdgMl;58vp>KG#&CB_-)c!6d{1>jI)ro*-vja)1juW!yH(J$)E zTCUE{XEsNaxhA4`nTd_!WF|PCk4|!Q3w512tMY52itqsHbe+Lm~mfd}Nya#Y0 z9R}2Iv_Md2(GuZ3WC9E17FuF)htrY9$iM?CuR9NiSD4UYMt&{W8(@qn0p1-yMLga; zH8{sHMu!27F!J(adJ#W3zH@^Y?RbcL7Nq09=N~QtroqyHLuny7T0#z-s5sr3c3hb_Zz}s z-EK%ja5p^?%FTu}40CUW=%lNaJ!q@l=k8eW7OJJfo2nLze`K>0Y)IqPV}U9OBM`-H z{`c$sGyfh^@l0~HI}6HXh8%cz84=-KWrRd>69X60MMg+yYvm#=4~_(C)D-fYouFUT zyJ`)(V|UPlK>fjh1a$}l6W${x!9XryV50bhcTW>pV_eFEAV5}`XgLTLJ0v0)>=21% zuX--1xek$=e^@K%f~=DGMBdaom1h#XN~e6-?^(cT5?sI>#RSB#Un3jKkY^MCwP+(7 z$F$p3BB~i5(KndINM;y9NY-Kz>{`pkvgrvps6A`B(6(&1_4nFlw%VZj5YZqPJYm6_ zg9EQgm=zk-i>#FZ^(kvD;5}@iDnR~btp$Sj*(n0qe{NDrJQI;iHoAw-a>3nmUITF7 zv{0ei!jsx%BRDc;Cwu56trFku&LlSx{+As)h8GSZ)_$@tsV=vp# zz0@Ki`Myx&1g}ocW#QXK$wzeW zNe!Ug+yIAmciRg%`af7&9WJ_x!xgGs>{jQdf8E6nI=%z2^(7sv_zN%2aFN%#%N&{< zK*;i0e))v?FfOd}m{4xVckf1%B;0pTPJ9PCNkP7-PX8!&MmMM2yaVOF6A{XO($4?z z)6f5{Hb)(ob(pSJ?W!{y*7|w7ZMkZMmqbSe?C@<<99)T|-kYlEt-KJJoo# zxV=2X@*OFbma9H}+FRiJPL#`KZ6^?b=*7e8>-Hk>jdc+u369TP zRw3>2Fpky90BtR!-Y1slWEatXmb$eqEoRBAvLoWsiCm{xtJzyuM4P2rj#$g4hp&N_ zgOR`nI)p%*=ZJ@4oCYYEX^waZf5vi(a&{{Y*#{UiX~ZvB6tofqZHX-j#Ri8sIO}Uk zNOt$_l0sLc8V-tq43KD+qUFMx%m9gGJ8503qF9iQhGIurFq$<@&|zx>C>m*S9K zV1pV$pzUbH!!REM6wGQyJbYtm>Q5A_X=vCv+kpSY^5b)7;~8F(yW|CXf8Si_fSzc? zw5oxckMhM`ktT@5^$1=}Ua4OW!;+jJqzP<1ZUicqnULUEFY3kMsa)I(5>qr{^SB?A zpj?2vF-VNxN$Y7-qb37OTZS!cX7A^~2m+OC6hg;Ui>-S$biFMr2X9@A}9 z$jW!5YB1pOizLg0ceMeUe;csS0@>tRw4m~b2`)K}kdvAUE+dG#d&IX{O5qZnUsBqd z7#bU~iBzxOBEc&SeLzPFcyg8>HC;r2$*m5eNaS4~>9Qp_fhr%6`P+F2GB@@7?(*QA z`}~cCLI37}P4#IeSk-?2r{^v7sXyq%(|4kVA6^m?vtUzoxP0+lf7JVYP_>XP#=J1v z-5)f_@%evbmD6m*PcKr$fhNAXhqqi)tDeYVqq1HX>8L6zHjN$a)nD&Q6BSeYi-S;g zks2^Ke8|D7X(`&f|MCL4wn>8k8aL6AiZ7ZEL0VI0EKg-a`4bf}!-QtH_UrpxQGdDY z1Pj@p1SA$1v1*m9fBeEZaNjxX55nzg`9(CTPhEqXCYr$kx#JwQKjODB9%}N+N{b_n zQYxBfH`1bL^g8c$o^lphRA0qoc79Yoda&AUbd^}|b|))y66DW>iSMjj0XpfA9n3ZI zy~JveeJ$n8qZ0tVj2X3+3N&wTIfZ)}>Tvf32ZP@-sPQ86%17T&d;4 z^n{UI3j)smw^E+7xLOd3){2xl?ZK zajMfx?3$^I>%m60cO;qLyi=po)z(IL=_s}X0;Hjk>pcrD8&~<|rKUJCQ;l?woDY6T z&n|6BhY3g&e-tGF4WjHolQW4q3lTI`Sx#&H9)U@MN)K zK#HQUUQZ&I%@A;lh|4Rsz%d9}CZ9z~3J)nXMMcXZ24ybpZLD$Aw)^p=eq}W`&AkHG^iAAraYe7iy%J0N816M#*!uubVABFv z*kb`ue_%mh#yx#$FUP$Gi~2wA@k@I~02;UngcI|RGXsj{*WFDwt0WYco~heJ5=w+h zU_#m9xT`jR=tfgb-L$b-MkVe${!qN#<8L&H-Xa71)xyO>6ij+q( zOZ|-RWmHbgt8Oe9PY<7eqxnN=1Z(nkBxrrkjzu~)*e7yG*(!@_B{)cKD+?^0Ze8<9 ze>Qjm+2S5!S2f6B&Po&LGLmOY?aIZ!K)|9{PKfU>Ua@R+uzqp zOIb>zdcyF!)YT%qd+Fm3Z$Wel%lYqxF;6RJRov4{G@jUcjj&vhB-?WluM+u~f7AFy z28%%2?V6nH%5jr(J&9{`t|x3&&P}XUu$m?t4NqDO{aq=t+(p=mH{?tovf@0mTCos$)R7KsR953ce`~~oWKSy{+PQTosFKKE%F!Eu(&&nYDUlulI;(8Q zpw@~8$*Mj9F!WgtWULbmkwrcE&>pUbIW=6{uK&`;S#K=hQ~BmzzBaDGTcP(*e*cL? zzM)~8z_mFxJuI;_pBVQZzqrbjMwmm(Z)N6GhEV=JaW1xA^=cTaam|_-f5vfvDv$Ze zX?gHaGYn`RM41-8cJ)d15RbW3tT-37cR-fK*iLX%3yC6rxXJSH?;#Ive*F2S`LKAd z`R&bJ{rL|8PjbO_r{cKl?k_u^4}aYGYW(}+djz~pg`MBGy=U9cYoWy_Duw!A=c;%aiTaw2e+2!d`^k^Zk96W2 z`{^jwI7Ht{)!n`1KwC#E2HFLcW=GGJPD2U(NBRPXzn_s`jZ#@q+Q2gXh@Mzjx{0E` z)JQIVW0W?ddHaY#vPs*{Qa-Kl?oz+LnY~EFqfmY?0BeY;G~xy>n}4=$;|9p|Xj--#tWM?Zl_J3G@R{rLt{Qg-b8 diff --git a/docs/py-modindex.html b/docs/py-modindex.html index a35d0f765..ff0df5dc6 100644 --- a/docs/py-modindex.html +++ b/docs/py-modindex.html @@ -1,18 +1,19 @@ - + - Python Module Index — matminer 0.7.8 documentation - - - + Python Module Index — matminer 0.8.1.dev2 documentation + + + + - + @@ -31,7 +32,7 @@

      Navigation

    • modules |
    • - + @@ -63,11 +64,26 @@

      Python Module Index

          matminer.data_retrieval
          + matminer.data_retrieval.retrieve_AFLOW +
          matminer.data_retrieval.retrieve_base
          + matminer.data_retrieval.retrieve_Citrine +
          + matminer.data_retrieval.retrieve_MDF +
          @@ -78,6 +94,11 @@

      Python Module Index

          matminer.data_retrieval.retrieve_MP
          + matminer.data_retrieval.retrieve_MPDS +
          @@ -88,6 +109,21 @@

      Python Module Index

          matminer.data_retrieval.tests.base
          + matminer.data_retrieval.tests.test_retrieve_AFLOW +
          + matminer.data_retrieval.tests.test_retrieve_Citrine +
          + matminer.data_retrieval.tests.test_retrieve_MDF +
          @@ -98,6 +134,11 @@

      Python Module Index

          matminer.data_retrieval.tests.test_retrieve_MP
          + matminer.data_retrieval.tests.test_retrieve_MPDS +
          @@ -591,12 +632,12 @@

      Python Module Index

      Quick search

      - +
      @@ -610,14 +651,14 @@

      Navigation

    • modules |
    • - + diff --git a/docs/search.html b/docs/search.html index 64a0a30e5..be7f5cfea 100644 --- a/docs/search.html +++ b/docs/search.html @@ -1,20 +1,22 @@ - + - Search — matminer 0.7.8 documentation - - + Search — matminer 0.8.1.dev2 documentation + + - + + - + + @@ -33,7 +35,7 @@

      Navigation

    • modules |
    • - + @@ -44,26 +46,35 @@

      Navigation

      Search

      -
      - + + + +

      Searching for multiple words only shows matches that contain all words.

      + +
      - +
      + +
      +
      @@ -84,14 +95,14 @@

      Navigation

    • modules |
    • - +
      diff --git a/docs/searchindex.js b/docs/searchindex.js index 1c0a42677..4479aa711 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["changelog","contributors","dataset_addition_guide","dataset_summary","example_bulkmod","featurizer_summary","index","installation","matminer","matminer.data_retrieval","matminer.data_retrieval.tests","matminer.datasets","matminer.datasets.tests","matminer.featurizers","matminer.featurizers.composition","matminer.featurizers.composition.tests","matminer.featurizers.site","matminer.featurizers.site.tests","matminer.featurizers.structure","matminer.featurizers.structure.tests","matminer.featurizers.tests","matminer.featurizers.utils","matminer.featurizers.utils.tests","matminer.figrecipes","matminer.figrecipes.tests","matminer.utils","matminer.utils.data_files","matminer.utils.tests","modules"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":2,sphinx:56},filenames:["changelog.rst","contributors.rst","dataset_addition_guide.rst","dataset_summary.rst","example_bulkmod.rst","featurizer_summary.rst","index.rst","installation.rst","matminer.rst","matminer.data_retrieval.rst","matminer.data_retrieval.tests.rst","matminer.datasets.rst","matminer.datasets.tests.rst","matminer.featurizers.rst","matminer.featurizers.composition.rst","matminer.featurizers.composition.tests.rst","matminer.featurizers.site.rst","matminer.featurizers.site.tests.rst","matminer.featurizers.structure.rst","matminer.featurizers.structure.tests.rst","matminer.featurizers.tests.rst","matminer.featurizers.utils.rst","matminer.featurizers.utils.tests.rst","matminer.figrecipes.rst","matminer.figrecipes.tests.rst","matminer.utils.rst","matminer.utils.data_files.rst","matminer.utils.tests.rst","modules.rst"],objects:{"":{matminer:[8,0,0,"-"]},"matminer.data_retrieval":{retrieve_MP:[9,0,0,"-"],retrieve_MongoDB:[9,0,0,"-"],retrieve_base:[9,0,0,"-"],tests:[10,0,0,"-"]},"matminer.data_retrieval.retrieve_MP":{MPDataRetrieval:[9,1,1,""]},"matminer.data_retrieval.retrieve_MP.MPDataRetrieval":{__init__:[9,2,1,""],api_link:[9,2,1,""],citations:[9,2,1,""],get_data:[9,2,1,""],get_dataframe:[9,2,1,""],try_get_prop_by_material_id:[9,2,1,""]},"matminer.data_retrieval.retrieve_MongoDB":{MongoDataRetrieval:[9,1,1,""],clean_projection:[9,3,1,""],is_int:[9,3,1,""],remove_ints:[9,3,1,""]},"matminer.data_retrieval.retrieve_MongoDB.MongoDataRetrieval":{__init__:[9,2,1,""],api_link:[9,2,1,""],get_dataframe:[9,2,1,""]},"matminer.data_retrieval.retrieve_base":{BaseDataRetrieval:[9,1,1,""]},"matminer.data_retrieval.retrieve_base.BaseDataRetrieval":{api_link:[9,2,1,""],citations:[9,2,1,""],get_dataframe:[9,2,1,""]},"matminer.data_retrieval.tests":{base:[10,0,0,"-"],test_retrieve_MP:[10,0,0,"-"],test_retrieve_MongoDB:[10,0,0,"-"]},"matminer.data_retrieval.tests.test_retrieve_MP":{MPDataRetrievalTest:[10,1,1,""]},"matminer.data_retrieval.tests.test_retrieve_MP.MPDataRetrievalTest":{setUp:[10,2,1,""],test_get_data:[10,2,1,""]},"matminer.data_retrieval.tests.test_retrieve_MongoDB":{MongoDataRetrievalTest:[10,1,1,""]},"matminer.data_retrieval.tests.test_retrieve_MongoDB.MongoDataRetrievalTest":{test_cleaned_projection:[10,2,1,""],test_get_dataframe:[10,2,1,""],test_remove_ints:[10,2,1,""]},"matminer.datasets":{convenience_loaders:[11,0,0,"-"],dataset_retrieval:[11,0,0,"-"],tests:[12,0,0,"-"],utils:[11,0,0,"-"]},"matminer.datasets.convenience_loaders":{load_boltztrap_mp:[11,3,1,""],load_brgoch_superhard_training:[11,3,1,""],load_castelli_perovskites:[11,3,1,""],load_citrine_thermal_conductivity:[11,3,1,""],load_dielectric_constant:[11,3,1,""],load_double_perovskites_gap:[11,3,1,""],load_double_perovskites_gap_lumo:[11,3,1,""],load_elastic_tensor:[11,3,1,""],load_expt_formation_enthalpy:[11,3,1,""],load_expt_gap:[11,3,1,""],load_flla:[11,3,1,""],load_glass_binary:[11,3,1,""],load_glass_ternary_hipt:[11,3,1,""],load_glass_ternary_landolt:[11,3,1,""],load_heusler_magnetic:[11,3,1,""],load_jarvis_dft_2d:[11,3,1,""],load_jarvis_dft_3d:[11,3,1,""],load_jarvis_ml_dft_training:[11,3,1,""],load_m2ax:[11,3,1,""],load_mp:[11,3,1,""],load_phonon_dielectric_mp:[11,3,1,""],load_piezoelectric_tensor:[11,3,1,""],load_steel_strength:[11,3,1,""],load_wolverton_oxides:[11,3,1,""]},"matminer.datasets.dataset_retrieval":{get_all_dataset_info:[11,3,1,""],get_available_datasets:[11,3,1,""],get_dataset_attribute:[11,3,1,""],get_dataset_citations:[11,3,1,""],get_dataset_column_description:[11,3,1,""],get_dataset_columns:[11,3,1,""],get_dataset_description:[11,3,1,""],get_dataset_num_entries:[11,3,1,""],get_dataset_reference:[11,3,1,""],load_dataset:[11,3,1,""]},"matminer.datasets.tests":{base:[12,0,0,"-"],test_convenience_loaders:[12,0,0,"-"],test_dataset_retrieval:[12,0,0,"-"],test_datasets:[12,0,0,"-"],test_utils:[12,0,0,"-"]},"matminer.datasets.tests.base":{DatasetTest:[12,1,1,""]},"matminer.datasets.tests.base.DatasetTest":{setUp:[12,2,1,""]},"matminer.datasets.tests.test_dataset_retrieval":{DataRetrievalTest:[12,1,1,""]},"matminer.datasets.tests.test_dataset_retrieval.DataRetrievalTest":{test_get_all_dataset_info:[12,2,1,""],test_get_dataset_attribute:[12,2,1,""],test_get_dataset_citations:[12,2,1,""],test_get_dataset_column_descriptions:[12,2,1,""],test_get_dataset_columns:[12,2,1,""],test_get_dataset_description:[12,2,1,""],test_get_dataset_num_entries:[12,2,1,""],test_get_dataset_reference:[12,2,1,""],test_load_dataset:[12,2,1,""],test_print_available_datasets:[12,2,1,""]},"matminer.datasets.tests.test_datasets":{DataSetsTest:[12,1,1,""],MatbenchDatasetsTest:[12,1,1,""],MatminerDatasetsTest:[12,1,1,""]},"matminer.datasets.tests.test_datasets.DataSetsTest":{universal_dataset_check:[12,2,1,""]},"matminer.datasets.tests.test_datasets.MatbenchDatasetsTest":{test_matbench_v0_1:[12,2,1,""]},"matminer.datasets.tests.test_datasets.MatminerDatasetsTest":{test_boltztrap_mp:[12,2,1,""],test_brgoch_superhard_training:[12,2,1,""],test_castelli_perovskites:[12,2,1,""],test_citrine_thermal_conductivity:[12,2,1,""],test_dielectric_constant:[12,2,1,""],test_double_perovskites_gap:[12,2,1,""],test_double_perovskites_gap_lumo:[12,2,1,""],test_elastic_tensor_2015:[12,2,1,""],test_expt_formation_enthalpy:[12,2,1,""],test_expt_formation_enthalpy_kingsbury:[12,2,1,""],test_expt_gap:[12,2,1,""],test_expt_gap_kingsbury:[12,2,1,""],test_flla:[12,2,1,""],test_glass_binary:[12,2,1,""],test_glass_binary_v2:[12,2,1,""],test_glass_ternary_hipt:[12,2,1,""],test_glass_ternary_landolt:[12,2,1,""],test_heusler_magnetic:[12,2,1,""],test_jarvis_dft_2d:[12,2,1,""],test_jarvis_dft_3d:[12,2,1,""],test_jarvis_ml_dft_training:[12,2,1,""],test_m2ax:[12,2,1,""],test_mp_all_20181018:[12,2,1,""],test_mp_nostruct_20181018:[12,2,1,""],test_phonon_dielectric_mp:[12,2,1,""],test_piezoelectric_tensor:[12,2,1,""],test_ricci_boltztrap_mp_tabular:[12,2,1,""],test_steel_strength:[12,2,1,""],test_superconductivity2018:[12,2,1,""],test_tholander_nitrides_e_form:[12,2,1,""],test_ucsb_thermoelectrics:[12,2,1,""],test_wolverton_oxides:[12,2,1,""]},"matminer.datasets.tests.test_utils":{UtilsTest:[12,1,1,""]},"matminer.datasets.tests.test_utils.UtilsTest":{test_fetch_external_dataset:[12,2,1,""],test_get_data_home:[12,2,1,""],test_get_file_sha256_hash:[12,2,1,""],test_load_dataset_dict:[12,2,1,""],test_read_dataframe_from_file:[12,2,1,""],test_validate_dataset:[12,2,1,""]},"matminer.featurizers":{"function":[13,0,0,"-"],bandstructure:[13,0,0,"-"],base:[13,0,0,"-"],composition:[14,0,0,"-"],conversions:[13,0,0,"-"],dos:[13,0,0,"-"],site:[16,0,0,"-"],structure:[18,0,0,"-"],tests:[20,0,0,"-"],utils:[21,0,0,"-"]},"matminer.featurizers.bandstructure":{BandFeaturizer:[13,1,1,""],BranchPointEnergy:[13,1,1,""]},"matminer.featurizers.bandstructure.BandFeaturizer":{__init__:[13,2,1,""],citations:[13,2,1,""],feature_labels:[13,2,1,""],featurize:[13,2,1,""],get_bindex_bspin:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.bandstructure.BranchPointEnergy":{__init__:[13,2,1,""],citations:[13,2,1,""],feature_labels:[13,2,1,""],featurize:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.base":{BaseFeaturizer:[13,1,1,""],MultipleFeaturizer:[13,1,1,""],StackedFeaturizer:[13,1,1,""]},"matminer.featurizers.base.BaseFeaturizer":{chunksize:[13,2,1,""],citations:[13,2,1,""],feature_labels:[13,2,1,""],featurize:[13,2,1,""],featurize_dataframe:[13,2,1,""],featurize_many:[13,2,1,""],featurize_wrapper:[13,2,1,""],fit:[13,2,1,""],fit_featurize_dataframe:[13,2,1,""],implementors:[13,2,1,""],n_jobs:[13,2,1,""],precheck:[13,2,1,""],precheck_dataframe:[13,2,1,""],set_chunksize:[13,2,1,""],set_n_jobs:[13,2,1,""],transform:[13,2,1,""]},"matminer.featurizers.base.MultipleFeaturizer":{__init__:[13,2,1,""],citations:[13,2,1,""],feature_labels:[13,2,1,""],featurize:[13,2,1,""],featurize_many:[13,2,1,""],featurize_wrapper:[13,2,1,""],fit:[13,2,1,""],implementors:[13,2,1,""],set_n_jobs:[13,2,1,""]},"matminer.featurizers.base.StackedFeaturizer":{__init__:[13,2,1,""],citations:[13,2,1,""],feature_labels:[13,2,1,""],featurize:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.composition":{alloy:[14,0,0,"-"],composite:[14,0,0,"-"],element:[14,0,0,"-"],ion:[14,0,0,"-"],orbital:[14,0,0,"-"],packing:[14,0,0,"-"],tests:[15,0,0,"-"],thermo:[14,0,0,"-"]},"matminer.featurizers.composition.alloy":{Miedema:[14,1,1,""],WenAlloys:[14,1,1,""],YangSolidSolution:[14,1,1,""]},"matminer.featurizers.composition.alloy.Miedema":{__init__:[14,2,1,""],citations:[14,2,1,""],deltaH_chem:[14,2,1,""],deltaH_elast:[14,2,1,""],deltaH_struct:[14,2,1,""],deltaH_topo:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],implementors:[14,2,1,""],precheck:[14,2,1,""]},"matminer.featurizers.composition.alloy.WenAlloys":{__init__:[14,2,1,""],citations:[14,2,1,""],compute_atomic_fraction:[14,2,1,""],compute_configuration_entropy:[14,2,1,""],compute_delta:[14,2,1,""],compute_enthalpy:[14,2,1,""],compute_gamma_radii:[14,2,1,""],compute_lambda:[14,2,1,""],compute_local_mismatch:[14,2,1,""],compute_magpie_summary:[14,2,1,""],compute_strength_local_mismatch_shear:[14,2,1,""],compute_weight_fraction:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],implementors:[14,2,1,""],precheck:[14,2,1,""]},"matminer.featurizers.composition.alloy.YangSolidSolution":{__init__:[14,2,1,""],citations:[14,2,1,""],compute_delta:[14,2,1,""],compute_omega:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],implementors:[14,2,1,""],precheck:[14,2,1,""]},"matminer.featurizers.composition.composite":{ElementProperty:[14,1,1,""],Meredig:[14,1,1,""]},"matminer.featurizers.composition.composite.ElementProperty":{__init__:[14,2,1,""],citations:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],from_preset:[14,2,1,""],implementors:[14,2,1,""]},"matminer.featurizers.composition.composite.Meredig":{__init__:[14,2,1,""],citations:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],implementors:[14,2,1,""]},"matminer.featurizers.composition.element":{BandCenter:[14,1,1,""],ElementFraction:[14,1,1,""],Stoichiometry:[14,1,1,""],TMetalFraction:[14,1,1,""]},"matminer.featurizers.composition.element.BandCenter":{citations:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],implementors:[14,2,1,""]},"matminer.featurizers.composition.element.ElementFraction":{__init__:[14,2,1,""],citations:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],implementors:[14,2,1,""]},"matminer.featurizers.composition.element.Stoichiometry":{__init__:[14,2,1,""],citations:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],implementors:[14,2,1,""]},"matminer.featurizers.composition.element.TMetalFraction":{__init__:[14,2,1,""],citations:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],implementors:[14,2,1,""]},"matminer.featurizers.composition.ion":{CationProperty:[14,1,1,""],ElectronAffinity:[14,1,1,""],ElectronegativityDiff:[14,1,1,""],IonProperty:[14,1,1,""],OxidationStates:[14,1,1,""],is_ionic:[14,3,1,""]},"matminer.featurizers.composition.ion.CationProperty":{citations:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],from_preset:[14,2,1,""]},"matminer.featurizers.composition.ion.ElectronAffinity":{__init__:[14,2,1,""],citations:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],implementors:[14,2,1,""]},"matminer.featurizers.composition.ion.ElectronegativityDiff":{__init__:[14,2,1,""],citations:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],implementors:[14,2,1,""]},"matminer.featurizers.composition.ion.IonProperty":{__init__:[14,2,1,""],citations:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],implementors:[14,2,1,""]},"matminer.featurizers.composition.ion.OxidationStates":{__init__:[14,2,1,""],citations:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],from_preset:[14,2,1,""],implementors:[14,2,1,""]},"matminer.featurizers.composition.orbital":{AtomicOrbitals:[14,1,1,""],ValenceOrbital:[14,1,1,""]},"matminer.featurizers.composition.orbital.AtomicOrbitals":{citations:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],implementors:[14,2,1,""]},"matminer.featurizers.composition.orbital.ValenceOrbital":{__init__:[14,2,1,""],citations:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],implementors:[14,2,1,""]},"matminer.featurizers.composition.packing":{AtomicPackingEfficiency:[14,1,1,""]},"matminer.featurizers.composition.packing.AtomicPackingEfficiency":{__init__:[14,2,1,""],citations:[14,2,1,""],compute_nearest_cluster_distance:[14,2,1,""],compute_simultaneous_packing_efficiency:[14,2,1,""],create_cluster_lookup_tool:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],find_ideal_cluster_size:[14,2,1,""],get_ideal_radius_ratio:[14,2,1,""],implementors:[14,2,1,""]},"matminer.featurizers.composition.tests":{base:[15,0,0,"-"],test_alloy:[15,0,0,"-"],test_composite:[15,0,0,"-"],test_element:[15,0,0,"-"],test_ion:[15,0,0,"-"],test_orbital:[15,0,0,"-"],test_packing:[15,0,0,"-"],test_thermo:[15,0,0,"-"]},"matminer.featurizers.composition.tests.base":{CompositionFeaturesTest:[15,1,1,""]},"matminer.featurizers.composition.tests.base.CompositionFeaturesTest":{setUp:[15,2,1,""]},"matminer.featurizers.composition.tests.test_alloy":{AlloyFeaturizersTest:[15,1,1,""]},"matminer.featurizers.composition.tests.test_alloy.AlloyFeaturizersTest":{test_WenAlloys:[15,2,1,""],test_miedema_all:[15,2,1,""],test_miedema_ss:[15,2,1,""],test_yang:[15,2,1,""]},"matminer.featurizers.composition.tests.test_composite":{CompositeFeaturesTest:[15,1,1,""]},"matminer.featurizers.composition.tests.test_composite.CompositeFeaturesTest":{test_elem:[15,2,1,""],test_elem_deml:[15,2,1,""],test_elem_matminer:[15,2,1,""],test_elem_matscholar_el:[15,2,1,""],test_elem_megnet_el:[15,2,1,""],test_fere_corr:[15,2,1,""],test_meredig:[15,2,1,""]},"matminer.featurizers.composition.tests.test_element":{ElementFeaturesTest:[15,1,1,""]},"matminer.featurizers.composition.tests.test_element.ElementFeaturesTest":{test_band_center:[15,2,1,""],test_fraction:[15,2,1,""],test_stoich:[15,2,1,""],test_tm_fraction:[15,2,1,""]},"matminer.featurizers.composition.tests.test_ion":{IonFeaturesTest:[15,1,1,""]},"matminer.featurizers.composition.tests.test_ion.IonFeaturesTest":{test_cation_properties:[15,2,1,""],test_elec_affin:[15,2,1,""],test_en_diff:[15,2,1,""],test_ionic:[15,2,1,""],test_is_ionic:[15,2,1,""],test_oxidation_states:[15,2,1,""]},"matminer.featurizers.composition.tests.test_orbital":{OrbitalFeaturesTest:[15,1,1,""]},"matminer.featurizers.composition.tests.test_orbital.OrbitalFeaturesTest":{test_atomic_orbitals:[15,2,1,""],test_valence:[15,2,1,""]},"matminer.featurizers.composition.tests.test_packing":{PackingFeaturesTest:[15,1,1,""]},"matminer.featurizers.composition.tests.test_packing.PackingFeaturesTest":{test_ape:[15,2,1,""]},"matminer.featurizers.composition.tests.test_thermo":{ThermoFeaturesTest:[15,1,1,""]},"matminer.featurizers.composition.tests.test_thermo.ThermoFeaturesTest":{test_cohesive_energy:[15,2,1,""],test_cohesive_energy_mp:[15,2,1,""]},"matminer.featurizers.composition.thermo":{CohesiveEnergy:[14,1,1,""],CohesiveEnergyMP:[14,1,1,""]},"matminer.featurizers.composition.thermo.CohesiveEnergy":{__init__:[14,2,1,""],citations:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],implementors:[14,2,1,""]},"matminer.featurizers.composition.thermo.CohesiveEnergyMP":{__init__:[14,2,1,""],citations:[14,2,1,""],feature_labels:[14,2,1,""],featurize:[14,2,1,""],implementors:[14,2,1,""]},"matminer.featurizers.conversions":{ASEAtomstoStructure:[13,1,1,""],CompositionToOxidComposition:[13,1,1,""],CompositionToStructureFromMP:[13,1,1,""],ConversionFeaturizer:[13,1,1,""],DictToObject:[13,1,1,""],JsonToObject:[13,1,1,""],PymatgenFunctionApplicator:[13,1,1,""],StrToComposition:[13,1,1,""],StructureToComposition:[13,1,1,""],StructureToIStructure:[13,1,1,""],StructureToOxidStructure:[13,1,1,""]},"matminer.featurizers.conversions.ASEAtomstoStructure":{__init__:[13,2,1,""],featurize:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.conversions.CompositionToOxidComposition":{__init__:[13,2,1,""],citations:[13,2,1,""],featurize:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.conversions.CompositionToStructureFromMP":{__init__:[13,2,1,""],citations:[13,2,1,""],featurize:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.conversions.ConversionFeaturizer":{__init__:[13,2,1,""],citations:[13,2,1,""],feature_labels:[13,2,1,""],featurize:[13,2,1,""],featurize_dataframe:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.conversions.DictToObject":{__init__:[13,2,1,""],citations:[13,2,1,""],featurize:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.conversions.JsonToObject":{__init__:[13,2,1,""],citations:[13,2,1,""],featurize:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.conversions.PymatgenFunctionApplicator":{__init__:[13,2,1,""],featurize:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.conversions.StrToComposition":{__init__:[13,2,1,""],citations:[13,2,1,""],featurize:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.conversions.StructureToComposition":{__init__:[13,2,1,""],citations:[13,2,1,""],featurize:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.conversions.StructureToIStructure":{__init__:[13,2,1,""],citations:[13,2,1,""],featurize:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.conversions.StructureToOxidStructure":{__init__:[13,2,1,""],citations:[13,2,1,""],featurize:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.dos":{DOSFeaturizer:[13,1,1,""],DopingFermi:[13,1,1,""],DosAsymmetry:[13,1,1,""],Hybridization:[13,1,1,""],SiteDOS:[13,1,1,""],get_cbm_vbm_scores:[13,3,1,""],get_site_dos_scores:[13,3,1,""]},"matminer.featurizers.dos.DOSFeaturizer":{__init__:[13,2,1,""],citations:[13,2,1,""],feature_labels:[13,2,1,""],featurize:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.dos.DopingFermi":{__init__:[13,2,1,""],citations:[13,2,1,""],feature_labels:[13,2,1,""],featurize:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.dos.DosAsymmetry":{__init__:[13,2,1,""],citations:[13,2,1,""],feature_labels:[13,2,1,""],featurize:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.dos.Hybridization":{__init__:[13,2,1,""],citations:[13,2,1,""],feature_labels:[13,2,1,""],featurize:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.dos.SiteDOS":{__init__:[13,2,1,""],citations:[13,2,1,""],feature_labels:[13,2,1,""],featurize:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.function":{FunctionFeaturizer:[13,1,1,""],generate_expressions_combinations:[13,3,1,""]},"matminer.featurizers.function.FunctionFeaturizer":{ILLEGAL_CHARACTERS:[13,4,1,""],__init__:[13,2,1,""],citations:[13,2,1,""],exp_dict:[13,2,1,""],feature_labels:[13,2,1,""],featurize:[13,2,1,""],fit:[13,2,1,""],generate_string_expressions:[13,2,1,""],implementors:[13,2,1,""]},"matminer.featurizers.site":{bonding:[16,0,0,"-"],chemical:[16,0,0,"-"],external:[16,0,0,"-"],fingerprint:[16,0,0,"-"],misc:[16,0,0,"-"],rdf:[16,0,0,"-"],tests:[17,0,0,"-"]},"matminer.featurizers.site.bonding":{AverageBondAngle:[16,1,1,""],AverageBondLength:[16,1,1,""],BondOrientationalParameter:[16,1,1,""],get_wigner_coeffs:[16,3,1,""]},"matminer.featurizers.site.bonding.AverageBondAngle":{__init__:[16,2,1,""],citations:[16,2,1,""],feature_labels:[16,2,1,""],featurize:[16,2,1,""],implementors:[16,2,1,""]},"matminer.featurizers.site.bonding.AverageBondLength":{__init__:[16,2,1,""],citations:[16,2,1,""],feature_labels:[16,2,1,""],featurize:[16,2,1,""],implementors:[16,2,1,""]},"matminer.featurizers.site.bonding.BondOrientationalParameter":{__init__:[16,2,1,""],citations:[16,2,1,""],feature_labels:[16,2,1,""],featurize:[16,2,1,""],implementors:[16,2,1,""]},"matminer.featurizers.site.chemical":{ChemicalSRO:[16,1,1,""],EwaldSiteEnergy:[16,1,1,""],LocalPropertyDifference:[16,1,1,""],SiteElementalProperty:[16,1,1,""]},"matminer.featurizers.site.chemical.ChemicalSRO":{__init__:[16,2,1,""],citations:[16,2,1,""],feature_labels:[16,2,1,""],featurize:[16,2,1,""],fit:[16,2,1,""],from_preset:[16,2,1,""],implementors:[16,2,1,""]},"matminer.featurizers.site.chemical.EwaldSiteEnergy":{__init__:[16,2,1,""],citations:[16,2,1,""],feature_labels:[16,2,1,""],featurize:[16,2,1,""],implementors:[16,2,1,""]},"matminer.featurizers.site.chemical.LocalPropertyDifference":{__init__:[16,2,1,""],citations:[16,2,1,""],feature_labels:[16,2,1,""],featurize:[16,2,1,""],from_preset:[16,2,1,""],implementors:[16,2,1,""]},"matminer.featurizers.site.chemical.SiteElementalProperty":{__init__:[16,2,1,""],citations:[16,2,1,""],feature_labels:[16,2,1,""],featurize:[16,2,1,""],from_preset:[16,2,1,""],implementors:[16,2,1,""]},"matminer.featurizers.site.external":{SOAP:[16,1,1,""]},"matminer.featurizers.site.external.SOAP":{__init__:[16,2,1,""],citations:[16,2,1,""],feature_labels:[16,2,1,""],featurize:[16,2,1,""],fit:[16,2,1,""],from_preset:[16,2,1,""],implementors:[16,2,1,""]},"matminer.featurizers.site.fingerprint":{AGNIFingerprints:[16,1,1,""],ChemEnvSiteFingerprint:[16,1,1,""],CrystalNNFingerprint:[16,1,1,""],OPSiteFingerprint:[16,1,1,""],VoronoiFingerprint:[16,1,1,""],load_cn_motif_op_params:[16,3,1,""],load_cn_target_motif_op:[16,3,1,""]},"matminer.featurizers.site.fingerprint.AGNIFingerprints":{__init__:[16,2,1,""],citations:[16,2,1,""],feature_labels:[16,2,1,""],featurize:[16,2,1,""],implementors:[16,2,1,""]},"matminer.featurizers.site.fingerprint.ChemEnvSiteFingerprint":{__init__:[16,2,1,""],citations:[16,2,1,""],feature_labels:[16,2,1,""],featurize:[16,2,1,""],from_preset:[16,2,1,""],implementors:[16,2,1,""]},"matminer.featurizers.site.fingerprint.CrystalNNFingerprint":{__init__:[16,2,1,""],citations:[16,2,1,""],feature_labels:[16,2,1,""],featurize:[16,2,1,""],from_preset:[16,2,1,""],implementors:[16,2,1,""]},"matminer.featurizers.site.fingerprint.OPSiteFingerprint":{__init__:[16,2,1,""],citations:[16,2,1,""],feature_labels:[16,2,1,""],featurize:[16,2,1,""],implementors:[16,2,1,""]},"matminer.featurizers.site.fingerprint.VoronoiFingerprint":{__init__:[16,2,1,""],citations:[16,2,1,""],feature_labels:[16,2,1,""],featurize:[16,2,1,""],implementors:[16,2,1,""]},"matminer.featurizers.site.misc":{CoordinationNumber:[16,1,1,""],IntersticeDistribution:[16,1,1,""]},"matminer.featurizers.site.misc.CoordinationNumber":{__init__:[16,2,1,""],citations:[16,2,1,""],feature_labels:[16,2,1,""],featurize:[16,2,1,""],from_preset:[16,2,1,""],implementors:[16,2,1,""]},"matminer.featurizers.site.misc.IntersticeDistribution":{__init__:[16,2,1,""],analyze_area_interstice:[16,2,1,""],analyze_dist_interstices:[16,2,1,""],analyze_vol_interstice:[16,2,1,""],citations:[16,2,1,""],feature_labels:[16,2,1,""],featurize:[16,2,1,""],implementors:[16,2,1,""]},"matminer.featurizers.site.rdf":{AngularFourierSeries:[16,1,1,""],GaussianSymmFunc:[16,1,1,""],GeneralizedRadialDistributionFunction:[16,1,1,""]},"matminer.featurizers.site.rdf.AngularFourierSeries":{__init__:[16,2,1,""],citations:[16,2,1,""],feature_labels:[16,2,1,""],featurize:[16,2,1,""],from_preset:[16,2,1,""],implementors:[16,2,1,""]},"matminer.featurizers.site.rdf.GaussianSymmFunc":{__init__:[16,2,1,""],citations:[16,2,1,""],cosine_cutoff:[16,2,1,""],feature_labels:[16,2,1,""],featurize:[16,2,1,""],g2:[16,2,1,""],g4:[16,2,1,""],implementors:[16,2,1,""]},"matminer.featurizers.site.rdf.GeneralizedRadialDistributionFunction":{__init__:[16,2,1,""],citations:[16,2,1,""],feature_labels:[16,2,1,""],featurize:[16,2,1,""],fit:[16,2,1,""],from_preset:[16,2,1,""],implementors:[16,2,1,""]},"matminer.featurizers.site.tests":{base:[17,0,0,"-"],test_bonding:[17,0,0,"-"],test_chemical:[17,0,0,"-"],test_external:[17,0,0,"-"],test_fingerprint:[17,0,0,"-"],test_misc:[17,0,0,"-"],test_rdf:[17,0,0,"-"]},"matminer.featurizers.site.tests.base":{SiteFeaturizerTest:[17,1,1,""]},"matminer.featurizers.site.tests.base.SiteFeaturizerTest":{setUp:[17,2,1,""],tearDown:[17,2,1,""]},"matminer.featurizers.site.tests.test_bonding":{BondingTest:[17,1,1,""]},"matminer.featurizers.site.tests.test_bonding.BondingTest":{test_AverageBondAngle:[17,2,1,""],test_AverageBondLength:[17,2,1,""],test_bop:[17,2,1,""]},"matminer.featurizers.site.tests.test_chemical":{ChemicalSiteTests:[17,1,1,""]},"matminer.featurizers.site.tests.test_chemical.ChemicalSiteTests":{test_chemicalSRO:[17,2,1,""],test_ewald_site:[17,2,1,""],test_local_prop_diff:[17,2,1,""],test_site_elem_prop:[17,2,1,""]},"matminer.featurizers.site.tests.test_external":{ExternalSiteTests:[17,1,1,""]},"matminer.featurizers.site.tests.test_external.ExternalSiteTests":{test_SOAP:[17,2,1,""]},"matminer.featurizers.site.tests.test_fingerprint":{FingerprintTests:[17,1,1,""]},"matminer.featurizers.site.tests.test_fingerprint.FingerprintTests":{test_chemenv_site_fingerprint:[17,2,1,""],test_crystal_nn_fingerprint:[17,2,1,""],test_dataframe:[17,2,1,""],test_off_center_cscl:[17,2,1,""],test_op_site_fingerprint:[17,2,1,""],test_simple_cubic:[17,2,1,""],test_voronoifingerprint:[17,2,1,""]},"matminer.featurizers.site.tests.test_misc":{MiscSiteTests:[17,1,1,""]},"matminer.featurizers.site.tests.test_misc.MiscSiteTests":{test_cns:[17,2,1,""],test_interstice_distribution_of_crystal:[17,2,1,""],test_interstice_distribution_of_glass:[17,2,1,""]},"matminer.featurizers.site.tests.test_rdf":{RDFTests:[17,1,1,""]},"matminer.featurizers.site.tests.test_rdf.RDFTests":{test_afs:[17,2,1,""],test_gaussiansymmfunc:[17,2,1,""],test_grdf:[17,2,1,""]},"matminer.featurizers.structure":{bonding:[18,0,0,"-"],composite:[18,0,0,"-"],matrix:[18,0,0,"-"],misc:[18,0,0,"-"],order:[18,0,0,"-"],rdf:[18,0,0,"-"],sites:[18,0,0,"-"],symmetry:[18,0,0,"-"],tests:[19,0,0,"-"]},"matminer.featurizers.structure.bonding":{BagofBonds:[18,1,1,""],BondFractions:[18,1,1,""],GlobalInstabilityIndex:[18,1,1,""],MinimumRelativeDistances:[18,1,1,""],StructuralHeterogeneity:[18,1,1,""]},"matminer.featurizers.structure.bonding.BagofBonds":{__init__:[18,2,1,""],bag:[18,2,1,""],citations:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],fit:[18,2,1,""],implementors:[18,2,1,""]},"matminer.featurizers.structure.bonding.BondFractions":{__init__:[18,2,1,""],citations:[18,2,1,""],enumerate_all_bonds:[18,2,1,""],enumerate_bonds:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],fit:[18,2,1,""],from_preset:[18,2,1,""],implementors:[18,2,1,""]},"matminer.featurizers.structure.bonding.GlobalInstabilityIndex":{__init__:[18,2,1,""],calc_bv_sum:[18,2,1,""],calc_gii_iucr:[18,2,1,""],calc_gii_pymatgen:[18,2,1,""],citations:[18,2,1,""],compute_bv:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],get_bv_params:[18,2,1,""],get_equiv_sites:[18,2,1,""],implementors:[18,2,1,""],precheck:[18,2,1,""]},"matminer.featurizers.structure.bonding.MinimumRelativeDistances":{__init__:[18,2,1,""],citations:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],fit:[18,2,1,""],implementors:[18,2,1,""]},"matminer.featurizers.structure.bonding.StructuralHeterogeneity":{__init__:[18,2,1,""],citations:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],implementors:[18,2,1,""]},"matminer.featurizers.structure.composite":{JarvisCFID:[18,1,1,""]},"matminer.featurizers.structure.composite.JarvisCFID":{__init__:[18,2,1,""],citations:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],get_chem:[18,2,1,""],get_chg:[18,2,1,""],get_distributions:[18,2,1,""],implementors:[18,2,1,""]},"matminer.featurizers.structure.matrix":{CoulombMatrix:[18,1,1,""],OrbitalFieldMatrix:[18,1,1,""],SineCoulombMatrix:[18,1,1,""]},"matminer.featurizers.structure.matrix.CoulombMatrix":{__init__:[18,2,1,""],citations:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],fit:[18,2,1,""],implementors:[18,2,1,""]},"matminer.featurizers.structure.matrix.OrbitalFieldMatrix":{__init__:[18,2,1,""],citations:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],get_atom_ofms:[18,2,1,""],get_mean_ofm:[18,2,1,""],get_ohv:[18,2,1,""],get_single_ofm:[18,2,1,""],get_structure_ofm:[18,2,1,""],implementors:[18,2,1,""]},"matminer.featurizers.structure.matrix.SineCoulombMatrix":{__init__:[18,2,1,""],citations:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],fit:[18,2,1,""],implementors:[18,2,1,""]},"matminer.featurizers.structure.misc":{EwaldEnergy:[18,1,1,""],StructureComposition:[18,1,1,""],XRDPowderPattern:[18,1,1,""]},"matminer.featurizers.structure.misc.EwaldEnergy":{__init__:[18,2,1,""],citations:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],implementors:[18,2,1,""]},"matminer.featurizers.structure.misc.StructureComposition":{__init__:[18,2,1,""],citations:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],fit:[18,2,1,""],implementors:[18,2,1,""]},"matminer.featurizers.structure.misc.XRDPowderPattern":{__init__:[18,2,1,""],citations:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],implementors:[18,2,1,""]},"matminer.featurizers.structure.order":{ChemicalOrdering:[18,1,1,""],DensityFeatures:[18,1,1,""],MaximumPackingEfficiency:[18,1,1,""],StructuralComplexity:[18,1,1,""]},"matminer.featurizers.structure.order.ChemicalOrdering":{__init__:[18,2,1,""],citations:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],implementors:[18,2,1,""]},"matminer.featurizers.structure.order.DensityFeatures":{__init__:[18,2,1,""],citations:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],implementors:[18,2,1,""],precheck:[18,2,1,""]},"matminer.featurizers.structure.order.MaximumPackingEfficiency":{citations:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],implementors:[18,2,1,""]},"matminer.featurizers.structure.order.StructuralComplexity":{__init__:[18,2,1,""],citations:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],implementors:[18,2,1,""]},"matminer.featurizers.structure.rdf":{ElectronicRadialDistributionFunction:[18,1,1,""],PartialRadialDistributionFunction:[18,1,1,""],RadialDistributionFunction:[18,1,1,""],get_rdf_bin_labels:[18,3,1,""]},"matminer.featurizers.structure.rdf.ElectronicRadialDistributionFunction":{__init__:[18,2,1,""],citations:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],implementors:[18,2,1,""],precheck:[18,2,1,""]},"matminer.featurizers.structure.rdf.PartialRadialDistributionFunction":{__init__:[18,2,1,""],citations:[18,2,1,""],compute_prdf:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],fit:[18,2,1,""],implementors:[18,2,1,""],precheck:[18,2,1,""]},"matminer.featurizers.structure.rdf.RadialDistributionFunction":{__init__:[18,2,1,""],citations:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],implementors:[18,2,1,""],precheck:[18,2,1,""]},"matminer.featurizers.structure.sites":{SiteStatsFingerprint:[18,1,1,""]},"matminer.featurizers.structure.sites.SiteStatsFingerprint":{__init__:[18,2,1,""],citations:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],fit:[18,2,1,""],from_preset:[18,2,1,""],implementors:[18,2,1,""]},"matminer.featurizers.structure.symmetry":{Dimensionality:[18,1,1,""],GlobalSymmetryFeatures:[18,1,1,""]},"matminer.featurizers.structure.symmetry.Dimensionality":{__init__:[18,2,1,""],citations:[18,2,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],implementors:[18,2,1,""]},"matminer.featurizers.structure.symmetry.GlobalSymmetryFeatures":{__init__:[18,2,1,""],all_features:[18,4,1,""],citations:[18,2,1,""],crystal_idx:[18,4,1,""],feature_labels:[18,2,1,""],featurize:[18,2,1,""],implementors:[18,2,1,""]},"matminer.featurizers.structure.tests":{base:[19,0,0,"-"],test_bonding:[19,0,0,"-"],test_composite:[19,0,0,"-"],test_matrix:[19,0,0,"-"],test_misc:[19,0,0,"-"],test_order:[19,0,0,"-"],test_rdf:[19,0,0,"-"],test_sites:[19,0,0,"-"],test_symmetry:[19,0,0,"-"]},"matminer.featurizers.structure.tests.base":{StructureFeaturesTest:[19,1,1,""]},"matminer.featurizers.structure.tests.base.StructureFeaturesTest":{setUp:[19,2,1,""]},"matminer.featurizers.structure.tests.test_bonding":{BondingStructureTest:[19,1,1,""]},"matminer.featurizers.structure.tests.test_bonding.BondingStructureTest":{test_GlobalInstabilityIndex:[19,2,1,""],test_bob:[19,2,1,""],test_bondfractions:[19,2,1,""],test_min_relative_distances:[19,2,1,""],test_ward_prb_2017_strhet:[19,2,1,""]},"matminer.featurizers.structure.tests.test_composite":{CompositeStructureFeaturesTest:[19,1,1,""]},"matminer.featurizers.structure.tests.test_composite.CompositeStructureFeaturesTest":{test_jarvisCFID:[19,2,1,""]},"matminer.featurizers.structure.tests.test_matrix":{MatrixStructureFeaturesTest:[19,1,1,""]},"matminer.featurizers.structure.tests.test_matrix.MatrixStructureFeaturesTest":{test_coulomb_matrix:[19,2,1,""],test_orbital_field_matrix:[19,2,1,""],test_sine_coulomb_matrix:[19,2,1,""]},"matminer.featurizers.structure.tests.test_misc":{MiscStructureFeaturesTest:[19,1,1,""]},"matminer.featurizers.structure.tests.test_misc.MiscStructureFeaturesTest":{test_composition_features:[19,2,1,""],test_ewald:[19,2,1,""],test_xrd_powderPattern:[19,2,1,""]},"matminer.featurizers.structure.tests.test_order":{OrderStructureFeaturesTest:[19,1,1,""]},"matminer.featurizers.structure.tests.test_order.OrderStructureFeaturesTest":{test_density_features:[19,2,1,""],test_ordering_param:[19,2,1,""],test_packing_efficiency:[19,2,1,""],test_structural_complexity:[19,2,1,""]},"matminer.featurizers.structure.tests.test_rdf":{StructureRDFTest:[19,1,1,""]},"matminer.featurizers.structure.tests.test_rdf.StructureRDFTest":{test_get_rdf_bin_labels:[19,2,1,""],test_prdf:[19,2,1,""],test_rdf_and_peaks:[19,2,1,""],test_redf:[19,2,1,""]},"matminer.featurizers.structure.tests.test_sites":{StructureSitesFeaturesTest:[19,1,1,""]},"matminer.featurizers.structure.tests.test_sites.StructureSitesFeaturesTest":{test_sitestatsfingerprint:[19,2,1,""],test_ward_prb_2017_efftcn:[19,2,1,""],test_ward_prb_2017_lpd:[19,2,1,""]},"matminer.featurizers.structure.tests.test_symmetry":{StructureSymmetryFeaturesTest:[19,1,1,""]},"matminer.featurizers.structure.tests.test_symmetry.StructureSymmetryFeaturesTest":{test_dimensionality:[19,2,1,""],test_global_symmetry:[19,2,1,""]},"matminer.featurizers.tests":{test_bandstructure:[20,0,0,"-"],test_base:[20,0,0,"-"],test_conversions:[20,0,0,"-"],test_dos:[20,0,0,"-"],test_function:[20,0,0,"-"]},"matminer.featurizers.tests.test_bandstructure":{BandstructureFeaturesTest:[20,1,1,""]},"matminer.featurizers.tests.test_bandstructure.BandstructureFeaturesTest":{setUp:[20,2,1,""],test_BandFeaturizer:[20,2,1,""],test_BranchPointEnergy:[20,2,1,""]},"matminer.featurizers.tests.test_base":{FittableFeaturizer:[20,1,1,""],MatrixFeaturizer:[20,1,1,""],MultiArgs2:[20,1,1,""],MultiTypeFeaturizer:[20,1,1,""],MultipleFeatureFeaturizer:[20,1,1,""],SingleFeaturizer:[20,1,1,""],SingleFeaturizerMultiArgs:[20,1,1,""],SingleFeaturizerMultiArgsWithPrecheck:[20,1,1,""],SingleFeaturizerWithPrecheck:[20,1,1,""],TestBaseClass:[20,1,1,""]},"matminer.featurizers.tests.test_base.FittableFeaturizer":{citations:[20,2,1,""],feature_labels:[20,2,1,""],featurize:[20,2,1,""],fit:[20,2,1,""],implementors:[20,2,1,""]},"matminer.featurizers.tests.test_base.MatrixFeaturizer":{citations:[20,2,1,""],feature_labels:[20,2,1,""],featurize:[20,2,1,""],implementors:[20,2,1,""]},"matminer.featurizers.tests.test_base.MultiArgs2":{__init__:[20,2,1,""],citations:[20,2,1,""],feature_labels:[20,2,1,""],featurize:[20,2,1,""],implementors:[20,2,1,""]},"matminer.featurizers.tests.test_base.MultiTypeFeaturizer":{citations:[20,2,1,""],feature_labels:[20,2,1,""],featurize:[20,2,1,""],implementors:[20,2,1,""]},"matminer.featurizers.tests.test_base.MultipleFeatureFeaturizer":{citations:[20,2,1,""],feature_labels:[20,2,1,""],featurize:[20,2,1,""],implementors:[20,2,1,""]},"matminer.featurizers.tests.test_base.SingleFeaturizer":{citations:[20,2,1,""],feature_labels:[20,2,1,""],featurize:[20,2,1,""],implementors:[20,2,1,""]},"matminer.featurizers.tests.test_base.SingleFeaturizerMultiArgs":{featurize:[20,2,1,""]},"matminer.featurizers.tests.test_base.SingleFeaturizerMultiArgsWithPrecheck":{precheck:[20,2,1,""]},"matminer.featurizers.tests.test_base.SingleFeaturizerWithPrecheck":{precheck:[20,2,1,""]},"matminer.featurizers.tests.test_base.TestBaseClass":{make_test_data:[20,2,1,""],setUp:[20,2,1,""],test_caching:[20,2,1,""],test_dataframe:[20,2,1,""],test_featurize_many:[20,2,1,""],test_fittable:[20,2,1,""],test_ignore_errors:[20,2,1,""],test_indices:[20,2,1,""],test_inplace:[20,2,1,""],test_matrix:[20,2,1,""],test_multifeature_no_zero_index:[20,2,1,""],test_multifeatures_multiargs:[20,2,1,""],test_multiindex_in_multifeaturizer:[20,2,1,""],test_multiindex_inplace:[20,2,1,""],test_multiindex_return:[20,2,1,""],test_multiple:[20,2,1,""],test_multiprocessing_df:[20,2,1,""],test_multitype_multifeat:[20,2,1,""],test_precheck:[20,2,1,""],test_stacked_featurizer:[20,2,1,""]},"matminer.featurizers.tests.test_conversions":{TestConversions:[20,1,1,""]},"matminer.featurizers.tests.test_conversions.TestConversions":{test_ase_conversion:[20,2,1,""],test_composition_to_oxidcomposition:[20,2,1,""],test_composition_to_structurefromMP:[20,2,1,""],test_conversion_multiindex:[20,2,1,""],test_conversion_multiindex_dynamic:[20,2,1,""],test_conversion_overwrite:[20,2,1,""],test_dict_to_object:[20,2,1,""],test_json_to_object:[20,2,1,""],test_pymatgen_general_converter:[20,2,1,""],test_str_to_composition:[20,2,1,""],test_structure_to_composition:[20,2,1,""],test_structure_to_oxidstructure:[20,2,1,""],test_to_istructure:[20,2,1,""]},"matminer.featurizers.tests.test_dos":{DOSFeaturesTest:[20,1,1,""]},"matminer.featurizers.tests.test_dos.DOSFeaturesTest":{setUp:[20,2,1,""],test_DOSFeaturizer:[20,2,1,""],test_DopingFermi:[20,2,1,""],test_DosAsymmetry:[20,2,1,""],test_Hybridization:[20,2,1,""],test_SiteDOS:[20,2,1,""]},"matminer.featurizers.tests.test_function":{TestFunctionFeaturizer:[20,1,1,""]},"matminer.featurizers.tests.test_function.TestFunctionFeaturizer":{setUp:[20,2,1,""],test_featurize:[20,2,1,""],test_featurize_labels:[20,2,1,""],test_helper_functions:[20,2,1,""],test_multi_featurizer:[20,2,1,""]},"matminer.featurizers.utils":{grdf:[21,0,0,"-"],oxidation:[21,0,0,"-"],stats:[21,0,0,"-"],tests:[22,0,0,"-"]},"matminer.featurizers.utils.grdf":{AbstractPairwise:[21,1,1,""],Bessel:[21,1,1,""],Cosine:[21,1,1,""],Gaussian:[21,1,1,""],Histogram:[21,1,1,""],Sine:[21,1,1,""],initialize_pairwise_function:[21,3,1,""]},"matminer.featurizers.utils.grdf.AbstractPairwise":{name:[21,2,1,""],volume:[21,2,1,""]},"matminer.featurizers.utils.grdf.Bessel":{__init__:[21,2,1,""]},"matminer.featurizers.utils.grdf.Cosine":{__init__:[21,2,1,""],volume:[21,2,1,""]},"matminer.featurizers.utils.grdf.Gaussian":{__init__:[21,2,1,""],volume:[21,2,1,""]},"matminer.featurizers.utils.grdf.Histogram":{__init__:[21,2,1,""],volume:[21,2,1,""]},"matminer.featurizers.utils.grdf.Sine":{__init__:[21,2,1,""],volume:[21,2,1,""]},"matminer.featurizers.utils.oxidation":{has_oxidation_states:[21,3,1,""]},"matminer.featurizers.utils.stats":{PropertyStats:[21,1,1,""]},"matminer.featurizers.utils.stats.PropertyStats":{avg_dev:[21,2,1,""],calc_stat:[21,2,1,""],eigenvalues:[21,2,1,""],flatten:[21,2,1,""],geom_std_dev:[21,2,1,""],holder_mean:[21,2,1,""],inverse_mean:[21,2,1,""],kurtosis:[21,2,1,""],maximum:[21,2,1,""],mean:[21,2,1,""],minimum:[21,2,1,""],mode:[21,2,1,""],quantile:[21,2,1,""],range:[21,2,1,""],skewness:[21,2,1,""],sorted:[21,2,1,""],std_dev:[21,2,1,""]},"matminer.featurizers.utils.tests":{test_grdf:[22,0,0,"-"],test_oxidation:[22,0,0,"-"],test_stats:[22,0,0,"-"]},"matminer.featurizers.utils.tests.test_grdf":{GRDFTests:[22,1,1,""]},"matminer.featurizers.utils.tests.test_grdf.GRDFTests":{test_bessel:[22,2,1,""],test_cosine:[22,2,1,""],test_gaussian:[22,2,1,""],test_histogram:[22,2,1,""],test_load_class:[22,2,1,""],test_sin:[22,2,1,""]},"matminer.featurizers.utils.tests.test_oxidation":{OxidationTest:[22,1,1,""]},"matminer.featurizers.utils.tests.test_oxidation.OxidationTest":{test_has_oxidation_states:[22,2,1,""]},"matminer.featurizers.utils.tests.test_stats":{TestPropertyStats:[22,1,1,""]},"matminer.featurizers.utils.tests.test_stats.TestPropertyStats":{setUp:[22,2,1,""],test_avg_dev:[22,2,1,""],test_geom_std_dev:[22,2,1,""],test_holder_mean:[22,2,1,""],test_kurtosis:[22,2,1,""],test_maximum:[22,2,1,""],test_mean:[22,2,1,""],test_minimum:[22,2,1,""],test_mode:[22,2,1,""],test_quantile:[22,2,1,""],test_range:[22,2,1,""],test_skewness:[22,2,1,""],test_std_dev:[22,2,1,""]},"matminer.utils":{caching:[25,0,0,"-"],data:[25,0,0,"-"],data_files:[26,0,0,"-"],flatten_dict:[25,0,0,"-"],io:[25,0,0,"-"],kernels:[25,0,0,"-"],pipeline:[25,0,0,"-"],tests:[27,0,0,"-"],utils:[25,0,0,"-"]},"matminer.utils.caching":{get_all_nearest_neighbors:[25,3,1,""],get_nearest_neighbors:[25,3,1,""]},"matminer.utils.data":{AbstractData:[25,1,1,""],CohesiveEnergyData:[25,1,1,""],DemlData:[25,1,1,""],IUCrBondValenceData:[25,1,1,""],MEGNetElementData:[25,1,1,""],MagpieData:[25,1,1,""],MatscholarElementData:[25,1,1,""],MixingEnthalpy:[25,1,1,""],OxidationStateDependentData:[25,1,1,""],OxidationStatesMixin:[25,1,1,""],PymatgenData:[25,1,1,""]},"matminer.utils.data.AbstractData":{get_elemental_properties:[25,2,1,""],get_elemental_property:[25,2,1,""]},"matminer.utils.data.CohesiveEnergyData":{__init__:[25,2,1,""],get_elemental_property:[25,2,1,""]},"matminer.utils.data.DemlData":{__init__:[25,2,1,""],get_charge_dependent_property:[25,2,1,""],get_elemental_property:[25,2,1,""],get_oxidation_states:[25,2,1,""]},"matminer.utils.data.IUCrBondValenceData":{__init__:[25,2,1,""],get_bv_params:[25,2,1,""],interpolate_soft_anions:[25,2,1,""]},"matminer.utils.data.MEGNetElementData":{__init__:[25,2,1,""],get_elemental_property:[25,2,1,""]},"matminer.utils.data.MagpieData":{__init__:[25,2,1,""],get_elemental_property:[25,2,1,""],get_oxidation_states:[25,2,1,""]},"matminer.utils.data.MatscholarElementData":{__init__:[25,2,1,""],get_elemental_property:[25,2,1,""]},"matminer.utils.data.MixingEnthalpy":{__init__:[25,2,1,""],get_mixing_enthalpy:[25,2,1,""]},"matminer.utils.data.OxidationStateDependentData":{get_charge_dependent_property:[25,2,1,""],get_charge_dependent_property_from_specie:[25,2,1,""]},"matminer.utils.data.OxidationStatesMixin":{get_oxidation_states:[25,2,1,""]},"matminer.utils.data.PymatgenData":{__init__:[25,2,1,""],get_charge_dependent_property:[25,2,1,""],get_elemental_property:[25,2,1,""],get_oxidation_states:[25,2,1,""]},"matminer.utils.data_files":{deml_elementdata:[26,0,0,"-"]},"matminer.utils.flatten_dict":{flatten_dict:[25,3,1,""]},"matminer.utils.io":{load_dataframe_from_json:[25,3,1,""],store_dataframe_as_json:[25,3,1,""]},"matminer.utils.kernels":{gaussian_kernel:[25,3,1,""],laplacian_kernel:[25,3,1,""]},"matminer.utils.pipeline":{DropExcluded:[25,1,1,""],ItemSelector:[25,1,1,""]},"matminer.utils.pipeline.DropExcluded":{__init__:[25,2,1,""],fit:[25,2,1,""],transform:[25,2,1,""]},"matminer.utils.pipeline.ItemSelector":{__init__:[25,2,1,""],fit:[25,2,1,""],transform:[25,2,1,""]},"matminer.utils.tests":{test_caching:[27,0,0,"-"],test_data:[27,0,0,"-"],test_flatten_dict:[27,0,0,"-"],test_io:[27,0,0,"-"]},"matminer.utils.tests.test_caching":{TestCaching:[27,1,1,""]},"matminer.utils.tests.test_caching.TestCaching":{test_cache:[27,2,1,""]},"matminer.utils.tests.test_data":{TestDemlData:[27,1,1,""],TestIUCrBondValenceData:[27,1,1,""],TestMEGNetData:[27,1,1,""],TestMagpieData:[27,1,1,""],TestMatScholarData:[27,1,1,""],TestMixingEnthalpy:[27,1,1,""],TestPymatgenData:[27,1,1,""]},"matminer.utils.tests.test_data.TestDemlData":{setUp:[27,2,1,""],test_get_oxidation:[27,2,1,""],test_get_property:[27,2,1,""]},"matminer.utils.tests.test_data.TestIUCrBondValenceData":{setUp:[27,2,1,""],test_get_data:[27,2,1,""]},"matminer.utils.tests.test_data.TestMEGNetData":{setUp:[27,2,1,""],test_get_property:[27,2,1,""]},"matminer.utils.tests.test_data.TestMagpieData":{setUp:[27,2,1,""],test_get_oxidation:[27,2,1,""],test_get_property:[27,2,1,""]},"matminer.utils.tests.test_data.TestMatScholarData":{setUp:[27,2,1,""],test_get_property:[27,2,1,""]},"matminer.utils.tests.test_data.TestMixingEnthalpy":{setUp:[27,2,1,""],test_get_data:[27,2,1,""]},"matminer.utils.tests.test_data.TestPymatgenData":{setUp:[27,2,1,""],test_get_oxidation:[27,2,1,""],test_get_property:[27,2,1,""]},"matminer.utils.tests.test_flatten_dict":{FlattenDictTest:[27,1,1,""]},"matminer.utils.tests.test_flatten_dict.FlattenDictTest":{test_flatten_nested_dict:[27,2,1,""]},"matminer.utils.tests.test_io":{IOTest:[27,1,1,""],generate_json_files:[27,3,1,""]},"matminer.utils.tests.test_io.IOTest":{setUp:[27,2,1,""],tearDown:[27,2,1,""],test_load_dataframe_from_json:[27,2,1,""],test_store_dataframe_as_json:[27,2,1,""]},"matminer.utils.utils":{homogenize_multiindex:[25,3,1,""]},matminer:{data_retrieval:[9,0,0,"-"],datasets:[11,0,0,"-"],featurizers:[13,0,0,"-"],utils:[25,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"],"4":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function","4":"py:attribute"},terms:{"000":[3,14,25],"0000":3,"00001":14,"00007":3,"0001":3,"001":16,"0022":18,"00406":3,"005":16,"0080418880":3,"0085":3,"011002":3,"014107":[3,16],"017":3,"018":3,"019":25,"020":3,"0364":3,"037":9,"05259079":6,"05402":3,"056":3,"058301":18,"064280815":6,"06428082":6,"068845188153371":6,"06884519":6,"0689416":6,"0689416025":6,"074106":16,"075150":3,"083801":[3,18],"0849304881":3,"087":4,"095066010x12646898728200":14,"0953":3,"0963526175":6,"09635262":6,"0_en":13,"0atm":3,"0th":21,"100":[3,13,18],"1000":4,"1002":3,"1007":3,"1012":3,"1016":[3,9,16,18],"1021":[3,25],"1024":18,"103":14,"1038":[3,14,25],"1039":[3,16],"104":3,"10510374":3,"10510374_2":3,"1056":3,"106113":3,"1063":[3,16],"106949":16,"108":[3,18],"1080":18,"1088":3,"109":14,"1093":3,"1094":3,"10980121":3,"10982":6,"10983":6,"10984":6,"10985":6,"10986":6,"10987":3,"10\u00b2\u00b9":3,"10\u00b9\u2076":3,"10\u00b9\u2078":3,"10k":6,"11002":3,"1101":3,"1103":[3,16,18],"1126":3,"115":[3,18],"1153":3,"117":14,"117271":6,"1179":14,"1181":3,"120":3,"1234":9,"1265":3,"127":18,"1276":3,"128":3,"12815":3,"1296":3,"1300":3,"1300k":3,"1306":3,"132752":3,"132k":3,"1335":25,"134":[3,16],"1356":3,"13754":16,"1378060":18,"138":3,"140":3,"14593476":3,"14686996":18,"150":4,"150009":3,"150053":3,"150557":3,"150561":3,"150mev":3,"152":6,"1521":[3,18],"153":3,"153092":3,"160134":3,"16028":[3,25],"162":3,"16414":3,"1668":3,"1673":3,"170":14,"170085":3,"170153":3,"170162":3,"179":18,"180065":3,"181":3,"184115":16,"18434":3,"18928":3,"18t600":13,"19375":3,"194":25,"1980":14,"1983":16,"1991":25,"1992":18,"1993":3,"1997":3,"1998":3,"1e18":[3,13],"1e20":13,"1ev":3,"1gpa":3,"1neuron":0,"1st":[3,14],"1x3":13,"200":[3,4],"2000":3,"2005":[18,25],"2007":3,"2009":3,"201":18,"2011":16,"2012":[3,5,14,18],"2013":[3,16,25],"2014":9,"2015":[2,3,5,9,11,14,18],"2016":[0,3,16,18,25],"2017":[3,16,18,19],"2018":[2,3,6],"2018_json":3,"2019":[3,14,16,25],"2020":[0,3,14],"2021":3,"2045":3,"205118":18,"2057":3,"209":9,"20t300":13,"211":18,"2135":3,"215":9,"21553922":6,"2166532x":3,"21cm":3,"223":3,"225102":3,"2322":3,"240":3,"24759":3,"24917":3,"25000":3,"2574":3,"25923":3,"26434":3,"276":3,"2817":25,"2829":25,"28697303":3,"2911":3,"2920":3,"295":3,"29532658":3,"298":3,"2nd":[3,21],"2nd_mode":18,"2o3":9,"300":[3,6,13],"3000":3,"30010335":3,"300k":[3,13],"305403":3,"309":3,"312":3,"314":25,"318":3,"319":25,"329":3,"32x32":18,"342423":6,"3434":3,"3439":3,"3564":25,"3572":25,"371":3,"375467717853649":6,"37546772":6,"37728887":6,"378":18,"37a":3,"3822835":3,"3938":3,"3938023":3,"395":3,"3960":3,"39x39":18,"3rd":3,"400":4,"406272406310":6,"40627241":6,"41526":25,"4173924989":6,"4173925":6,"430":3,"438":18,"445":6,"44565668":6,"449":3,"450":4,"4573":6,"45891585":6,"4596":18,"4604":3,"471":25,"4764":3,"47679":3,"47737":3,"4774084":16,"4812323":3,"4914":3,"4921":3,"5061":3,"51128393":6,"5112839336581":6,"51157821":6,"5115782146589711":6,"5170":3,"5179":3,"530":3,"5334142":3,"536":6,"53602403":6,"540":3,"5483":3,"55195829":6,"5530535":3,"5537":16,"557":18,"558":4,"5680":3,"571":25,"5736":3,"576":3,"57871271":6,"5800":3,"5916":3,"593":6,"5959":3,"5_2":3,"5ev":3,"5ff8f541915536461697300e8727f265":3,"600k":13,"6023":4,"6084":3,"6118":3,"6203":3,"6354":3,"636":3,"6780":3,"6815699":3,"6815705":3,"6870101":3,"690196":6,"6th":3,"707570":6,"7191":3,"724276":6,"73949":6,"759":3,"770852":6,"7b01046":3,"804":4,"8074":3,"8080":3,"8123":14,"815":3,"81784473":6,"83989":3,"872":3,"88th":3,"8924":3,"8984":3,"8b00124":3,"8b02717":3,"8th":25,"90094":18,"9034":3,"9043":3,"908485":6,"914":3,"923":3,"928":3,"941":3,"947":4,"954243":6,"965":18,"9737":3,"978":25,"9780849304880":3,"9783540605072":3,"9844":3,"9853":3,"988":4,"9b01294":25,"\u03b4e":3,"\u03b5":3,"\u03b5\u2081":3,"\u03b5\u2082":3,"\u03b5\u2083":3,"\u03ba\u2091":3,"\u03ba\u2091\u1d49":3,"\u03c3":3,"\u03c3\u1d49":3,"\u03c9":3,"abstract":[3,5,9,13,18,21,25],"b\u00f6rnstein":3,"bart\u00f3k":16,"boolean":[3,13,14,16,18,21,25],"case":[0,3,9,10,12,13,14,16,18,20,22,27],"class":[0,2,3,6,9,10,12,13,14,15,16,17,18,19,20,21,22,25,27],"const":3,"cs\u00e1nyi":16,"default":[0,2,3,11,13,14,16,18,20,25],"final":[3,18],"float":[13,14,16,18,21,25],"function":[0,2,3,6,8,9,11,14,16,18,20,21,25,28],"g\u00e1bor":16,"import":[3,6,13],"int":[3,9,11,13,14,16,18,21,25],"long":[9,11,13,14,20],"m\u2091\u1d9c":3,"m\u2091\u1d9c\u1d52\u207f\u1d48":3,"mu\u00f1oz":18,"new":[0,2,3,9,13,16,21],"pf\u1d49":3,"public":[3,6,16,18,25],"return":[0,2,5,9,11,13,14,16,18,20,21,25],"s\u00f8ren":3,"short":[5,6,11,16],"static":[0,2,3,13,14,16,18,20,21],"super":13,"switch":16,"throw":[13,14,18,20],"true":[2,3,4,6,9,11,13,14,16,18,20,25],"try":[2,6,7,9,25],"while":[2,3,9],ACS:3,AFS:[0,5,16],APE:14,ASE:[6,13],Adding:6,And:13,Ande:3,CEs:16,DOS:[0,5,6,13],Dos:13,For:[0,2,3,6,7,9,13,14,16,18,21],IDs:3,Its:25,NOT:9,Not:[13,18],Oses:3,Such:3,The:[2,3,5,6,9,11,13,14,16,18,21,25],Then:[13,18],There:[3,7,9,13,16],These:[2,3,13,14,16,18,25],Use:[5,6,13,16,18],Uses:[16,18],Using:13,With:[3,18],__init__:[9,13,14,16,18,20,21,25],_audit_upd:25,_by_material_id:9,_charg:18,_chem:16,_chunksiz:13,_datasets_to_preprocessing_routin:2,_mode:18,_object:13,_prb_:[16,18],_preprocess_double_perovskites_gap:2,_preprocess_elastic_tensor_2015:2,_preprocess_heusler_magnet:2,_preprocess_m2ax:2,_preprocess_piezoelectric_tensor:2,_preprocess_wolverton_oxid:2,_read_dataframe_from_fil:2,_sci:18,_unique_test:2,a1_atom:2,a2_atom:2,a_1:[2,3],a_2:[2,3],a_const:14,a_i:16,a_n:16,aa2:6,aaq1566:3,abc:[0,13],abil:[0,3,5,13,18,20],abinit:3,abl:13,abo3:3,abort:0,about:[5,6,13,14,20],abov:[3,6,13],abs:[3,4,14,16],absolut:[3,5,13,14,16,18,21],absorb:3,absorpt:3,abstractdata:[14,16,25],abstractmethod:0,abstractnot:3,abstractpairwis:[16,21],abx:3,academ:2,acceler:[3,14],accept:[3,13,25],access:[2,3,9,25],accident:0,accord:[3,13,14,16,18],accordingli:13,account:[0,2,3,16,18],accumul:13,accur:[0,3,13,14,16,18,20,25],accuraci:[3,16,18],achiev:[3,13],across:[3,5,13,16,18],acs:[3,25],acta:[14,18,25],actinid:18,activ:3,actual:[3,14,16],adapt:[0,3,4,6,18],add:[0,2,3,5,6,13,20],add_oxidation_state_by_guess:13,add_xy_plot:4,added:[0,2,3,6,13,16,18,21,25],adding:[0,14,21],addit:[2,3,6,11,13,16],addition:[9,18],address:3,adfa:18,adfb:18,adher:9,adjac:16,adv:18,advanc:[0,3,6,16],advantag:[3,6,13],advis:25,affect:13,affin:[5,14],aflow:0,after:[2,3,13,17,21,27],against:[2,3,14,16],agg:3,aggarw:[0,1],aggreg:[3,5,6,18],agnifingerprint:[0,5,16],agnost:18,agraw:[3,25],agre:3,agreement:3,aidan:1,aihara:3,aik:1,aip:[3,16],ajain:[13,14,16,18,20],alabama:3,albert:16,alchem:16,alcock:3,alex:[1,3],alexand:3,alf:3,algo:0,algorithm:[3,6,13],align:13,alireza:1,all:[2,3,4,5,6,9,11,12,13,14,16,18,20,21,25],all_attribut:14,all_featur:18,allianc:14,alloi:[3,8,13,16,25],allow:[0,6,9,13,16,18],allowed_bond:18,alloyfeaturizerstest:15,alok:3,alon:[3,5,13,14,16],along:[2,3,13],alongsid:[2,3],alpha:[3,18],alpha_:16,alphabet:[11,18],alreadi:[13,14,16,18],also:[2,3,6,7,9,13,14,16,18,20,25],altern:16,although:[3,25],alwai:[0,3,9,25],amali:1,american:3,among:[3,6,18],amor:14,amorph:[3,5,14,16],amount:[13,16],amp:16,ampad:3,an_val:[18,25],anaconda:7,analysi:[3,6,16,18,25],analyz:[16,18],analyze_area_interstic:16,analyze_dist_interstic:16,analyze_vol_interstic:16,anatol:3,andersson:3,andrewpeterson:16,angl:[0,3,5,14,16,18],angsten:3,angstrom:[3,16,18],angular:[5,16,18],angularfourierseri:[5,16],ani:[0,2,3,5,6,13,14,16,18,20,21,25],anion:[0,5,14,18,25],anisotrop:16,anisotropi:[3,16],ankit:3,ann:1,anonymized_formula:13,anoth:[6,13,16,18],ansatz:3,anthoni:3,antoin:3,anton:3,anubhav:[1,3,13,14,16,18,20],anyon:25,anyth:11,api:[0,4,6,9,13,14],api_kei:[4,9],api_link:9,apl:3,appear:3,append:25,appli:[3,5,6,13,25],applic:[2,3,6,9,18,25],approach:[3,13,16,18],appropri:2,approx_bond:18,approxim:[3,14,16,18],apr:3,april:3,aps:[3,16,18],apurva:3,arbitrari:[6,13],arbor:1,area:[3,6,16,18],area_interstice_list:16,arg:[2,9,11,13,14,16,18,20,21,25],argsort:4,argument:[0,2,6,9,13,18,21,25],aria:3,arithmet:21,armiento:3,around:[3,5,13,16],arr0:25,arr1:25,arr:18,arrai:[5,6,13,16,18,21,25],art:3,articl:[3,6],as_dict:13,as_matrix:4,asarrai:4,ascii:25,ase:[5,6,13],ase_atom:13,aseatomstostructur:[5,6,13],ashwin:1,asid:3,asin:3,aslaug:3,aspect:16,ass:14,assertequ:2,assess:[14,21,25],assign:[3,16],assist:14,associ:[3,5,11,13,18],assum:[2,3,13,14,21],assumpt:25,asta:[1,3,6],asymmetri:[5,13],atol:13,atom:[0,3,4,5,6,13,14,16,18,25],atom_i:18,atom_j:18,atom_ofm:18,atomic_mass:4,atomic_radiu:4,atomicorbit:[0,5,14],atomicpackingeffici:[0,5,14],atomist:16,attract:3,attrib_kei:11,attribut:[2,4,5,6,11,13,14,16,18,19,20,25],attribute_nam:14,aug:3,augment:9,author:[3,6,13,14,16,18,20,25],auto:[9,13],auto_exampl:25,autogener:6,autom:3,automat:[2,6,13,14,18,25],automatmin:[3,6],avail:[2,3,4,6,9,11,13,14,16,18,20,25],avenu:3,averag:[0,3,5,6,13,14,16,18,21],averagebondangl:[5,16],averagebondlength:[5,16],avg:[14,18],avg_anion_affin:14,avg_dev:[13,18,21],avg_ionic_char:14,avoid:[0,13,16],await:3,awar:14,axes:16,axi:[2,3,18],aydemir:3,b1_atom:2,b2_atom:2,b47:25,b61:18,b_1:[2,3],b_2:[2,3],back:[18,25],bad:18,baerend:3,bag:[5,18],bagofbond:[0,5,18],bai:3,bajaj:[0,1,6],balanc:14,balip:18,ballouz:3,band:[0,3,5,6,13,14],band_cent:13,band_gap:[2,3,4,6,9,13],bandcent:[0,5,14],bandedg:0,bandfeatur:[0,5,13],bandgap:[2,3,13,14],bandstructur:[6,8,9,28],bandstructure_uniform:9,bandstructurefeatur:0,bandstructurefeaturestest:20,bandstructuresymmlin:13,bandwidth:3,bar:[0,11,13,14,25],bar_chart:4,bartel:3,base:[0,2,3,6,8,9,11,14,16,18,20,21,22,25,27,28],basedataretriev:9,baseestim:[0,13,25],basefeatur:[0,5,13,14,16,18,20],bash:7,basi:[16,18],basic:[3,6,11,14],basic_descriptor:11,batio3:18,battel:14,bbv:18,bcc:[0,14,16],beam:[3,18],becaus:[13,16,18],becom:3,been:[2,3,6,13,14,18],befor:[0,3,10,12,13,14,15,16,17,18,19,20,22,27],begin:[13,18,21],behavior:[0,3,13,14],behind:13,behler:[5,16],being:[0,2,3,11,13,18,21],belgium:1,believ:3,below:[5,6,7,13,14,25],benchmark:[2,3,6],benefici:3,berkelei:1,berlin:3,besid:16,bessel:[16,21],best:[3,13],beta:3,beta_:16,better:[0,13],between:[3,5,13,14,16,18,21,25],beyond:13,bibtex:[3,6,9,11,13,14,16,18,20],bibtext:9,bibtext_ref:3,bigger:16,biggest:6,bilek:3,bin:[0,16,18,21],bin_dist:18,bin_siz:18,binari:[3,14],bit:18,bitbucket:16,black:4,block:13,blokhin:[0,1],bodi:[3,18],bohr:3,boiling_point:4,bold:16,boltztrap:3,boltztrap_mp:11,bond:[0,6,8,13,25],bond_val_list:[18,25],bondfract:[0,5,18],bondingstructuretest:19,bondingtest:17,bondo:18,bondorientationalparamet:[5,16],bonificio:3,book:[3,13],bool:[2,9,11,13,14,16,18,20,25],bool_head:[2,12],boop:[0,16],bop:16,borg:3,borid:3,bostrom:0,both:[3,5,13,14,16,18,25],botu:[5,16],bound:3,bpe:13,brafman:9,branch:[0,5,13],branch_point_energi:13,branchpointenergi:[0,5,13],brandon:1,brenneck:[0,1],brese:25,brgoch:[0,3],brgoch_feat:3,brgoch_featur:11,brian:3,brief:[3,9],brillouin:13,brockhous:25,broken:18,brown:25,browser:6,bryce:3,bsd:6,bsfeatur:0,bug:0,bugfix:0,bulk:[2,3,6,14,25],bulk_modulu:3,bulk_shear_moduli:6,busi:3,bw_method:18,bystrom:[0,1,6],bz2:[2,25],c11:3,c12:3,c13:3,c2ee22341d:3,c33:3,c44:3,c6cp00415f:16,c_el:16,c_i:14,c_j:14,c_size:18,ca2:18,ca3:18,cach:[0,8,13,16,20,28],cacoso:14,calc:13,calc_bv_sum:18,calc_gii_iucr:18,calc_gii_pymatgen:18,calc_stat:21,calcul:[3,6,13,14,16,18,21],calculate_band_edg:13,calculu:3,call:[2,9,13,14,16,18,21],calorimetr:3,calorimetri:3,calphad:3,can:[0,2,3,4,6,7,9,13,14,16,18,20,21,25],canada:25,candid:3,cannot:[13,18],canova:16,capabl:[3,6,13],captur:25,carbid:3,care:14,carefulli:2,carri:[3,16],carrier:[3,13],carvaj:18,cast:13,castelli:3,castelli_perovskit:11,cat_val:[18,25],categor:16,categori:[5,14],cation:[0,3,5,14,18,25],cationproperti:14,cba:3,cbm:[0,3,13],cbm_:13,cbm_score:13,cbm_score_i:13,cbm_score_tot:13,cbm_si_p:13,ceder:[3,9],cell:[3,18],center:[5,13,14,16,18,21],center_coord:16,center_r:16,central:[14,16],centrosymmetri:18,ceram:3,ceriotti:16,certain:[2,3,5,9,14,16,18,25],cetyp:16,cfid:[0,3,5,18],cgcnn:0,chain:[5,18],chaitanya:3,challeng:3,chang:[0,3,6,13,14,16,20,25],charact:[5,13,14,18],character:[3,13,18,25],characterist:[5,13,14],chard:6,charg:[5,14,16,18,25],charl:25,chart:3,chase:3,check:[0,1,2,6,13,14,15,18,21],chem:[3,16,18],chem_info:16,chemenv:[0,16],chemenvsitefingerprint:[5,16],chemenvstrategi:16,chemic:[0,3,6,8,13,14,18],chemical_system:3,chemicalord:[5,18],chemicalrso:0,chemicalsitetest:17,chemicalsro:[0,5,16],chemistri:[3,16,18,25],chemmat:25,chemo:18,chemrxiv:3,chen:[0,1,3,6,25],cheon:3,cherfaoui:[0,1],chi:25,choic:[16,18],cholia:[3,9,25],choos:[16,18],chorkendorff:3,chose:3,chosen:[3,14,18],choudhari:[0,1,3,25],choudhary2017:3,choudhary_2018:3,choudhary__2018:3,chri:3,christian:1,christoph:3,chunk:13,chunksiz:[0,13],cif:[2,3,11,25],circleci:[0,2],citat:[0,2,3,9,11,13,14,16,18,20,25],cite:[2,3,9,13],citrin:[0,1,3,6,11],citrinedataretriev:[0,6],clariti:6,clark:3,class_nam:13,classic:[3,5,18],classif:[3,13,25],classifi:[3,13,18],classmethod:[14,16],clean:[0,3,25],clean_project:9,cleanli:13,cleanup:0,clearer:7,clearli:2,climat:3,clone:7,close:3,closer:14,closest:[3,5,18],cluster:[0,5,14,16],cm2:3,cm3:[3,13],cm400893e:3,cmr:3,cn_:16,cnfingerprint:0,cnsitefingerprint:0,code:[0,3,6,7,13,16,25],codebas:0,coeffici:[0,3,16],coerc:25,coerce_mix:13,cofezr:[3,11],cohes:[0,5,14,25],cohesive_energi:25,cohesiveenergi:[5,14],cohesiveenergydata:25,cohesiveenergymp:[0,5,14],col_id:13,coll:9,collabor:3,collat:3,collect:[2,3,6,9,16,18],colon:[0,21],color:[4,6],colorscal:6,coloumb:18,coloumbmatrix:0,column:[0,2,3,4,6,9,11,13,14,18,25],com:[3,4,7,14,16,18,25],combin:[0,3,11,13,14,16,18,25],combinator:3,combinatori:3,combo:13,combo_depth:13,combo_funct:13,come:[6,13,16,25],command:7,commatsci:9,commentari:3,commit:[0,2],common:[3,6,16,18,25],commonli:21,commun:[2,3,6,14,16],comp:[13,14,21],compar:[2,3,6,13,16],comparison:3,compat:[0,6,13,25],compil:[3,14],complet:[0,3,4,13],completedo:[5,13],complex:[0,3,13,18],compli:16,compliance_tensor:3,compon:[3,7,16],compos:3,composit:[0,3,4,6,8,11,13,16,20,21,25],compositefeaturestest:15,compositestructurefeaturestest:19,composition_oxid:13,compositionfeaturestest:15,compositiontooxidcomposit:[5,13],compositiontostructurefrommp:[5,13],compound:[3,5,6,9,13,14,15,25],comprehens:[3,6,9],compress:[2,3,14,25],compression_typ:2,comput:[3,4,5,6,9,13,14,16,18,20,21,25],computation:13,compute_atomic_fract:14,compute_bv:18,compute_configuration_entropi:14,compute_delta:14,compute_enthalpi:14,compute_gamma_radii:14,compute_lambda:14,compute_local_mismatch:14,compute_magpie_summari:14,compute_nearest_cluster_dist:14,compute_omega:14,compute_prdf:18,compute_simultaneous_packing_effici:14,compute_strength_local_mismatch_shear:14,compute_w:16,compute_w_hat:16,compute_weight_fract:14,concaten:18,concentr:[3,13,14],concept:13,conda:7,conden:25,condens:3,condit:[3,16],conduct:[3,11,13],config:9,configur:[0,14],conflict:3,connect:18,consid:[3,13,14,16],consider:3,consist:[0,2,3,6,16,18],constant:[3,14,16],constitu:[14,25],constrain:16,construct:[16,18],consult:[0,25],contact:[6,13],contain:[2,3,5,6,9,11,13,14,16,18,21],content:[2,3,28],continu:16,contrast:[13,16],contribut:[0,1,3,5,13,14,16,18],contributor:[2,6,13],control:13,conveni:[2,6,11,25],convenience_load:[2,6,8,28],convent:[3,21],convers:[0,8,9,28],conversionfeatur:[5,6,13],convert:[2,5,6,13,18,25],convex:[3,16],convex_hull_simplic:16,coordin:[3,6,13,16,18,19],coordinationnumb:[0,5,16,18],coordint:16,copi:[3,21],copyright:[3,14,25],core:[3,5,13,14,16,18],corei:3,corespond:3,cormac:3,correct:[0,3,16,18,25],correctli:[13,14,18,20],correl:3,correspond:[3,13,14,16,18,25],corros:3,cos:[16,21],cosin:[16,21],cosine_cutoff:16,cotizr:[3,11],could:[3,11,13,14],coulomb:[3,5,16,18],coulomb_matrix:18,coulombmatrix:[0,5,18],count:18,couper:3,coupl:[3,7],cours:21,covari:[0,18],cover:3,covzr:[3,11],cowlei:18,cpc:16,cpd_possibl:14,cpu_count:0,crawl:2,crc2007:3,crc:3,crc_handbook:3,creat:[3,4,6,13,16,18,21],create_cluster_lookup_tool:14,creativ:3,creativecommon:3,credit:6,criteria:[4,6,9],criterion:[3,9,14],critic:3,cross:[3,4,16],cross_val_scor:4,crossov:16,crossvalid:4,cryst:[18,25],crystal:[3,6,13,16,18,25],crystal_idx:18,crystal_system:18,crystal_system_int:18,crystallin:[3,14],crystallograph:3,crystallographi:25,crystalnn:[16,18],crystalnnfingerprint:[0,5,16],crystalsitefingerprint:0,csm:16,csro:16,csro__:16,csv:[0,14,25],ctcm:3,cubic:[3,18],cumul:13,current:[2,3,13],curtarolo:3,custom:[0,6],cut:[16,18],cutoff:[13,16,18,21],d_ma:3,d_mx:3,d_n:16,da6394e1a9c5f450ed705c32ec82bb08:3,dacek:3,dagdelen:25,dahl:3,dai:3,daiki:1,dan:3,daniel:[1,3],data:[0,2,3,5,8,9,11,13,14,16,18,20,21,28],data_fil:[8,14,25],data_hom:[2,11],data_lst:21,data_retriev:[4,6,8,28],data_sourc:[4,14,16],databas:[2,3,4,6,9,14],datafram:[0,2,5,9,11,13,14,16,18,20,25],datamin:3,datapoint:3,dataretriev:[0,9],dataretrievaltest:12,dataset:[0,4,8,13,14,25,28],dataset_column:11,dataset_manag:2,dataset_metadata:2,dataset_nam:[2,11,12],dataset_name_1:2,dataset_name_2:2,dataset_retriev:[8,28],dataset_to_json:2,datasetstest:12,datasettest:[2,12],datasheet:3,david:[1,3,25],davidson:3,ddf:18,ddr:16,debug:0,decai:13,decay_length:13,decim:[16,18],declar:13,decod:[0,5,9,13,25],decomposit:3,deconstruct:[17,27],decor:13,decost:3,dedupl:3,deep:6,def:2,default_kei:25,defin:[2,3,4,5,9,13,14,16,18,25],definit:[16,18],degeneraci:[0,13],degre:[3,16,18,21],dejong2015:3,delta:[14,18,25],deltah_chem:14,deltah_elast:14,deltah_struct:14,deltah_topo:14,deml:[14,25],deml_elementdata:[8,25],demldata:[14,25,27],denot:[16,18],densiti:[3,4,6,9,13,16,18,25],densityfeatur:[5,18],dep:0,depend:[0,2,3,9,13,14,16,18,20,25],deprec:0,der:3,deriv:[3,13,14,16,18,20],descipt:3,describ:[2,3,4,5,7,13,14,16,18,25],descript:[0,2,3,5,9,11,13],descriptor:[0,2,3,5,11,14,16,18],descriptors_and_material_properti:3,design:[3,14,16,21],desir:[2,14,16,21],desired_featur:18,despit:16,detail:[3,6,9,13,14,16,18,21,25],detect:[0,9,16],determin:[0,2,3,5,13,14,16,18,25],dev:16,dev_script:2,develop:[3,5,6,14,18,25],development:7,deviat:[5,14,16,18,21],devic:3,dewei:3,df_1:2,df_2:2,df_citrin:6,df_mp:[4,6],dfpt:3,dft:[3,4,11],diag_elem:18,diagon:18,diagram:[0,3],diatom:3,dict:[0,5,9,13,14,16,18],dict_data:13,dictionari:[2,3,6,9,13,14,16,18,20,25],dicttoobject:[5,13],did:3,diego:[1,25],dielectr:3,dielectric_const:[2,11],differ:[3,5,6,9,13,14,16,18,19,20,21,25],differenti:[16,18],difficult:[6,25],diffract:[3,5,18],digit:3,dihedr:18,dilut:14,dimens:18,dimension:[0,3,5,16,18],direct:[3,13,16],direct_gap:13,directli:[13,21],directori:2,disabl:16,disagr:3,disallow:9,disclaim:25,discontinu:16,discours:[0,6],discover:2,discoveri:3,discrep:3,discret:18,discuss:[3,16],disk:[2,11,25],disord:18,disordered_pymatgen:18,dispers:[3,18],displai:[4,13],dist:[14,16,18],dist_bin:18,dist_exp:16,dist_interstice_list:16,distanc:[3,5,13,14,16,18,21],distinct:18,distort:[3,16],distribut:[3,5,13,16,18,21,25],dists_relative_min:18,divers:3,divid:[3,14,16,18],doc:[0,3,13],docstr:13,document:[0,6,7,9,13,14,16,20,25],doe:[2,3,6,13,14,16,18,25],doi:[3,9,14,16,18,25],doifind:14,doing:[9,13,14,20],domain:6,domin:3,don:[11,14,16,25],donald:3,done:[2,3,9,13,18],donni:1,dop:16,dope:[3,13],dopingfermi:[0,5,13],dopp:[0,1,3],dos:[8,9,28],dos_fermi:13,dosasymmetri:[0,5,13],dosfeatur:[0,5,13],dosfeaturestest:20,dot:[9,25],doubl:[0,3],double_perovskites_gap:[2,11],double_perovskites_gap_lumo:[2,11],down:[3,6,18],download:[2,3,11],download_if_miss:[2,11],downstream:6,dramat:14,driven:3,drop:[0,2,11,25],drop_nan_column:[6,11],drop_suspect:11,dropcol:2,dropexclud:25,dropna:4,dryad:3,dryad_gn001:3,dscribe:[0,5,16],dtu:3,dtype:[20,25],due:[0,3],dunn2020:3,dunn:[0,1,3,6],duplic:3,dure:[18,25],dwaraknath:[0,3],dylla:[0,1,6],dynam:[6,13],e_above_hul:[3,4],e_electron:[2,3],e_exfol:3,e_form:3,e_hul:3,e_tot:[2,3],e_vasp_per_atom:3,eaaq1566:3,each:[2,3,5,9,11,13,14,16,18,20,21,25],ean:3,earth:3,easi:[6,7,13,17],easiest:7,easili:2,edg:[3,5,13,16],edit:[2,3,25],editor:3,edu:3,effect:[3,16,19,25],effici:[0,3,5,9,14,18,25],efrain:3,eigenvalu:[3,13,18,21],eij_max:3,either:[2,3,6,13,14,16,18,20],el_amt_dict_:16,el_list_:16,elast:[3,4,11,14],elastic_anisotropi:3,elastic_tensor:[2,3,11],elastic_tensor_2015:[2,6],elastic_tensor_origin:3,electr:3,electron:[3,6,13,14,18],electron_dens:14,electronaffin:[5,14],electroneg:[0,5,6,14,16,25],electronegativitydiff:[5,14],electronicradialdistributionfunct:[5,18],electrostat:[3,16,18],elem:25,elema:25,elemb:25,element:[0,3,6,8,13,16,18,20,21,25],elementfeaturestest:15,elementfract:[5,14],elementproperti:[0,4,5,14],elements_handbook:25,elimin:13,elong:3,els:[7,13,16,18],elsevi:14,email:[13,14,16,18,20],embed:[0,25],emeri:3,emery2017:3,emery_2017:3,empir:[14,25],empirici:16,emploi:[6,13,21],empti:16,emu:3,en_diff_stat:14,enabl:[3,13,16,18],encod:[2,25],encount:13,encourag:[3,6],end:[3,13,18,25],energei:14,energet:3,energi:[0,3,5,11,13,14,16,18,25],energy_cutoff:13,enforc:0,engin:11,enough:13,ensembl:4,ensur:[0,2,3,13,18],enter:[3,7],enthalpi:[3,5,14,25],entir:[3,13,14,16,18],entiti:0,entri:[2,3,4,9,11,13,14,18,20,21],entropi:[5,13,14,18],enumerate_all_bond:18,enumerate_bond:18,env:[5,16],environ:[0,3,4,5,6,11,16,18],eprint:3,eps_electron:3,eps_tot:3,epsilon_i:3,epsilon_x:3,epsilon_z:3,equal:[3,13,14,21],equat:18,equilibrium:13,equival:[13,14,16,18],eref:13,eric:3,error:[0,3,6,13,16,18,25],especi:[3,16],essenti:13,estiat:14,estim:[3,5,13,14,16,18,20],eta:16,etas_g2:16,etas_g4:16,etc:[0,3,6,7,13,14,18,20,25],euclidean:18,evalu:[3,13,14,16,18,20],evan:3,even:[13,18],ever:6,everi:[6,14,16,18,25],everyon:6,evgeni:1,ewald:[0,3,16,18],ewald_energi:18,ewald_site_energi:16,ewaldenergi:[5,18],ewaldsiteenergi:[5,16],exact:25,examin:4,exampl:[0,2,4,7,9,13,14,16,18,21,25],except:[3,13,18],exclud:[3,12,16,25],exclude_elem:18,exclus:16,execut:6,exercis:[10,12,15,17,19,20,22,27],exfoli:3,exfoliation_en:3,exhaust:3,exist:[0,2,3,5,13,14,18,25],exp:[13,16],exp_dict:13,expand:16,expans:6,expect:[2,13,14,16],expedit:2,expens:[3,13,14,16,25],experi:[3,6],experiment:[3,6,13],experimental_formation_enthalpies_for_intermetallic_phases_and_other_inorganic_compound:3,explain:13,explan:11,explicit:13,explicitli:[2,13,16,18],explor:[4,6],expon:16,exponenti:13,expos:3,express:13,expt:3,expt_form_:3,expt_formation_enthalpi:11,expt_gap:11,extasciitild:3,extend:[0,3,18],extens:[3,14],extern:[6,8,13],externalsitetest:17,extra:[2,13,18],extract:[3,4,6,13,25],extrem:[3,14],extrema:13,extremum:13,f_el:16,f_ij:18,faber:[3,18],face:[3,16,18],face_dist:16,facet:16,fact:18,factor:[3,13,16,18,21],faghaninia:[0,1,6],fail:[3,13,14,18,20],fall:18,fals:[2,6,9,11,13,14,16,18,20,21,25],famili:3,fang:3,far:[3,18],fast:[3,13,14,20,25],faster:[0,16],favor:16,fcc:[14,16],fe2o3:[9,13],fe3o4:[6,14],featur:[0,3,8,11,25,28],feature_importances_:4,feature_label:[0,13,14,16,18,20],featureunion:25,featurizar:13,featurize_datafram:[0,4,6,13],featurize_label:13,featurize_mani:[0,13],featurize_wrapp:13,featurizers:0,fec0:14,federici:16,fee:25,felix:3,feng:3,ferenc:3,fermi:[3,5,13],fermi_c1:13,fermi_c:13,fermido:13,ferri:14,ferro:3,ferroelectr:3,fetinb:[3,11],few:[0,6],fewer:18,field:[3,5,9,11,13,18],figrecip:[0,6],figshar:[2,3],figur:3,file:[0,3,11,16,25],file_path:2,filenam:[4,6,25],fill:[2,25],filter:[2,4,6,9,13],filterwarn:4,final_structur:[3,9],find:[3,5,6,13,14,16,18,25],find_ideal_cluster_s:14,find_method:13,finder:16,fingerprint:[0,8,13],fingerprinttest:17,first:[2,3,5,7,13,14,16,18,21],fit:[0,6,9,13,16,18,20,25],fit_arg:13,fit_featur:0,fit_featurize_datafram:[13,18],fit_kwarg:[13,16,18,20],fit_transform:[13,18],fittabl:18,fittablefeatur:20,five:[13,18],fix:[0,2,13,16],fixtur:[10,12,15,17,19,20,22,27],flag:[0,18],flat:18,flatten:[0,5,16,18,21,25],flatten_dict:[8,28],flattendicttest:27,flexibl:[6,9],flla:[2,11],fold:[4,16],folder:[2,7,11],follow:[2,6,7,9,13,14,16,18],forbidden:18,forc:[3,5,18,25],forest:3,forg:7,fork:6,form:[2,3,4,9,13,14,16,18],formal:[5,14,18,25],format:[0,2,3,4,5,6,9,11,13,14,16,18,20,25],formation_energi:3,formation_energy_per_atom:[3,4,9,14],formul:14,formula:[2,3,9,11,13,14,18],fortran:16,forum:[0,6,7],forward:18,foster:[6,16],found:[3,6,11,13,16,18,25],fourier:[5,16],fpor:16,frac:[14,16,18],frac_magn_atom:14,fraction:[0,5,13,14,16,18,21],frame:13,framework:[3,25],francesca:3,francesco:3,frequenc:[3,21],frequent:21,friendli:[5,18],fritz:3,from:[0,2,3,6,7,9,11,13,14,16,18,19,21,25],from_preset:[13,14,16,18],front:25,frost:[0,1],frustratingli:3,fuel:3,full:[3,6,7,11,16],fulli:3,func:13,func_arg:13,func_kwarg:13,function_list:13,functional_perturbation_theory_phonons_for_inorganic_materi:3,functionfeatur:[0,5,13],fundament:3,further:[0,1,3,5,13,14,16,18],futur:[3,13,14,20],fysik:3,g_i:14,g_n:16,g_reuss:3,g_voigt:3,g_vrh:[3,6],gamma:[3,13,14,16],gammas_g4:16,gamst:3,ganos:[0,1,3],gao:16,gap:[2,3,6,11,13],gap_ao:14,garcia:18,gas:14,gase:3,gather:[13,14,18],gaultoi:3,gaultois2013:3,gaussian:[5,13,16,21,25],gaussian_kd:18,gaussian_kernel:25,gaussian_smear:13,gaussiansymmfunc:[0,5,16],gdrf:0,geerl:3,gener:[2,3,11,13,14,16,18,20,21,25],generalizedradialdistributionfunct:[5,16],generate_expressions_combin:13,generate_json_fil:27,generate_string_express:13,genom:[3,25],geoffroi:3,geom_find:16,geom_std_dev:21,geometr:[5,14,21],geometri:[5,16],georg:3,ger:16,gerbrand:3,get:[0,5,9,11,13,14,16,18,21,25],get_:9,get_all_dataset_info:11,get_all_nearest_neighbor:25,get_all_nn_info:25,get_atom_ofm:18,get_available_dataset:11,get_bandstructure_by_material_id:9,get_bindex_bspin:13,get_bv_param:[18,25],get_cbm:13,get_cbm_vbm_scor:13,get_charge_dependent_properti:25,get_charge_dependent_property_from_speci:25,get_chem:18,get_chg:18,get_data:9,get_datafram:[4,6,9],get_dataset_attribut:11,get_dataset_cit:11,get_dataset_column:11,get_dataset_column_descript:11,get_dataset_descript:11,get_dataset_num_entri:11,get_dataset_refer:11,get_distribut:18,get_elemental_properti:25,get_equiv_sit:18,get_ideal_radius_ratio:14,get_mean_ofm:18,get_mixing_enthalpi:25,get_nearest_neighbor:25,get_nn_info:25,get_ohv:18,get_oxidation_st:[14,25],get_param:13,get_prop_by_material_id:9,get_rdf_bin_label:18,get_single_ofm:18,get_site_dos_scor:13,get_structure_ofm:18,get_wigner_coeff:16,getter:[0,4],gfa:3,gga:3,gian:3,giantomassi:3,gii:18,gilad:3,git:[0,7],github:[0,1,4,6,7,9,13,16,18,25],give:[0,13,16,18],given:[2,3,5,13,14,16,18],glass:[3,14,16,25],glass_binari:11,glass_ternary_hipt:11,glass_ternary_landolt:11,gllbsc:3,global:[0,5,18],globalinstabilityindex:[5,18],globalsymmetryfeatur:[5,18],gn001:3,goe:0,gonz:3,good:[3,7,13,14,18,20],goodal:3,googl:[9,13],got:[0,6,25],gov:[3,13,14,16,18,20],govern:3,gowoon:3,gpa:[0,3,4,6],gpaw:3,gradient:3,graf:3,graph:[3,18,25],grdf:[0,5,8,13,16],grdftest:22,great:4,greater:[3,13,14],greatli:3,grid:16,griddata:13,grindi:3,grindy2013:3,gritsenko:3,ground:[13,14,20],group:[2,3,4,5,16,18],grow:[2,6],gto:16,guarante:[13,14,20,25],gubernati:3,guess:13,guid:[3,6],guidanc:3,guidelin:2,guido:3,gunter:[3,9],gupta:3,h_mix:14,h_tran:14,hack:2,hackingmateri:[1,7],had:3,half:3,hamilton:25,handbook:[3,25],handl:[2,6,9,20],hansen:[5,18],hard:[13,14],harmon:[0,3,5,16],has:[2,3,6,13,14,16,18,20,21],has_oxidation_st:21,hat:[0,16],hattrick:3,hautier:[3,25],have:[3,6,7,9,13,14,16,18],hayr:25,hcp:[14,16],head:4,heat:[3,25],heidelberg:3,help:[6,7,13,14,16,18,20,25],helper:[2,11,25],henri:3,henriqu:3,here:[2,3,4,6,12,13,16,18,25],hetero_feature_union:25,heterogen:[0,16],heteroval:14,heusler:[3,11],heusler_magnet:2,hexagon:[3,18],hfznn2:3,high:[3,13,14,16],higher:[0,7],highest:[3,14],highli:3,hill:3,himanen:16,hinder:3,hipt:3,histogram:[16,21],histori:0,hitp:3,holder:21,holder_mean:[0,21],hole:[3,13],home:7,homo:[5,14],homo_charact:14,homo_el:14,homo_energi:14,homogen:25,homogenize_multiindex:25,hook:[10,12,15,17,19,20,22,27],horton:[1,3],host:[12,18],hot:18,hous:6,hoverinfo:0,how:[2,3,5,6,13,16,18],howev:3,howpublish:3,ht_id:3,html:[3,4,9,13,25],httk:3,http:[3,4,7,9,13,14,16,18,25],hull:[3,16],human:[3,13],hundr:3,hybrid:[0,5,13],hyperlink:13,hyperparamet:3,ibz:13,ichiro:3,icosahedra:16,icsd:3,idbrown:25,idea:[13,14],ideal:[5,13,14,16,18,20,25],ident:[3,13,18],identif:3,identifi:[2,3,11,16,18],ids:3,idx:[13,16],idx_field:9,ieee:3,ight:14,ignor:[0,4,21],ignore_error:[6,13],iii:3,illeg:13,illegal_charact:13,imagenet:6,immut:[5,13],implement:[0,5,9,13,14,16,18,20,25],implementor:[0,13,14,16,18,20],improv:[0,3,6],inc:3,includ:[0,2,3,5,6,7,11,13,14,16,18,20,25],include_dist:18,include_elem:18,include_metadata:[2,11],include_speci:18,include_structur:11,inclus:[9,18],inconveni:25,incorpor:[3,9],incorrect:11,increas:[13,18],ind:6,independ:13,index:[0,3,5,6,9,13,14,16,18,20,25],index_en:3,index_mpid:9,indic:[3,4,13,14,16,18,25],individu:[2,9,13],inequ:16,inequival:18,inf:6,infer:[6,18],influenc:3,info:[2,5,11,13,16],inform:[2,3,5,6,7,9,11,13,14,16,18,20],informat:[1,3,6],inher:[5,18],initi:[3,13,14,16,18,20,21,25],initial_structur:[3,9],initialize_pairwise_funct:21,initio:3,inner:18,innov:3,inorgan:[3,25],inou:25,inplac:[0,13],input:[0,3,5,7,13,14,16,18,20],input_variable_nam:13,inspir:[3,5,18],instabl:[0,5,18],instal:0,instanc:[13,16,18],instanti:[21,25],instead:[0,1,13,16,18],institut:[3,13,14,16,18,20,25],integ:[3,18,25],integr:[0,5,16,18],intend:13,intens:3,inter:[14,18],interact:[3,5,6,16,18,21],interest:25,interfac:[0,2,5,6,9,16,25],interhash:3,intermetal:[3,5,14],intern:[0,3,25],interoper:13,interpol:13,interpolate_soft:25,interpolate_soft_anion:25,interpret:6,intersect:[16,18],interstic:[5,16],interstice_fp:16,interstice_typ:16,intersticedistribut:[0,5,16],interv:3,intervent:3,intrahash:3,introduc:[0,3],introduct:[3,25],intuit:0,invari:16,invers:[3,18,21],inverse_mean:21,investig:3,invit:3,invok:13,ioanni:3,ion:[8,13,18],ionfeaturestest:15,ionic:[3,5,6,14,15,18],ionproperti:[5,14],iop:3,iopscienc:3,iotest:27,irina:3,irreduc:13,is_cbm:13,is_centrosymmetr:18,is_gap_direct:13,is_int:9,is_ion:14,is_met:3,isbn:[3,25],isn:[2,11],isol:18,issn:3,issu:[0,3,7],istructur:[5,13,18,25],item:[2,11,13,18],itemselector:25,iter:[3,13,16,18],iterate_over_entri:13,ith:13,its:[2,3,5,6,13,14,16,18,20],itself:[6,13],iucr:[18,25],iucrbondvalencedata:25,iupac:[18,25],ivano:3,jac:3,jacobsen:3,jain2013:3,jain:[0,1,3,6,9,13,14,16,18,20,25],jakoah:3,jame:3,jan:3,janaf:3,janosh:1,japanes:3,jaramillo:3,jarvi:[0,3,5,11,18],jarvis_dft_3d:6,jarviscfid:[5,18],jason:[1,3],jdft_2d:3,jdft_3d:3,jeffrei:3,jid:3,jime:1,jmolnn:[16,18],johnpierr:3,jong:3,jose:3,joseph:1,journal:[3,18],jpclett:3,json:[0,2,3,5,6,9,13,25],json_data:13,jsontoobject:[5,13],jsp:3,jul:3,julien:1,jun:3,jupyt:[0,6],just:[2,4,13,18],jvasp:3,k_condit:[3,11],k_condition_unit:3,k_expt:3,k_reuss:3,k_voigt:3,k_vrh:[3,4,6],kalish:3,kamal:[1,3],kanakkithodi:3,kappa:3,karsten:3,kaufman:3,kawazo:3,keeff:25,keep:[6,13],kei:[0,3,4,9,13,14,16,18,20,25],kelvin:[3,13],kernel:[3,8,28],kevin:3,keyword:[2,3,9,11,13,18,21],kfold:4,kim2017:3,kim:3,kim_meschel_nash_chen_2017:3,kind:[5,13,14,18],kinet:3,kingsburi:3,kiran:1,kirklin:3,kittel:25,knc6:3,know:[6,13],knowledg:[3,13,25],knowledgedoor:25,known:[14,25],kocher:25,koki:1,kondor:16,kpoint:13,kpoint_dens:[2,3],krishna:3,kristian:3,kristin:3,krr:25,krull:[0,1],kubaschewski1993:3,kubaschewski:3,kurtosi:[0,21],kusn:3,kwarg:[9,13,16,18],kyle:1,l_2:14,lab:1,label:[0,6,13,14,16,18,20,21,25],lack:20,lambda:[4,13,14,16],landi:3,landolt:3,landoltbornstein1997:3,landscap:3,lanthanid:18,laplacian:[3,25],laplacian_kernel:25,larg:[0,3,14,16,18],larger:[13,16],largest:[16,18],last:[3,13,16,18],latent:25,later:[2,3],latest:[0,3,7],latex:13,latexify_label:13,latt:[3,14],lattic:[3,9,16,18],lattice_typ:14,law:[3,14],lawrenc:1,layer:[3,18,25],lbl:[13,14,16,18,20],lbnl:[13,14,16,18,20],lead_kei:25,leaderboard:6,learn:[2,3,4,5,6,13,14,16,18,25],least:[3,16,18,21],leav:6,led:1,leeuwen:3,left:14,legaspi:[0,1],legend:4,len:[4,18],length:[0,5,6,13,16,18],lenth:3,less:[3,13,14,25],let:[4,6],lett:[3,18],letter:3,level:[3,5,13,25],lfs:0,librari:[4,5,6,7,13,16,25],licenc:3,licens:[3,6],light:3,lightweight:13,like:[0,2,3,5,6,9,13,14,16,18,20,21],likelihood:7,likely_mpid:3,lilienfeld:3,limit:[3,6,9,14,18,25],limits_:16,lin:3,lindmaa:3,line:[4,9,13,16],line_mod:9,linear:[5,13,14,18,25],linear_model:4,linearregress:4,link:[0,2,3,9,13,16],linkinghub:14,liquid:[3,14],list:[0,1,2,3,5,6,9,11,13,14,16,18,20,21,25],listlik:18,literatur:[13,25],liu:3,llc:[3,14],lmax:16,load:[3,6,11,16,25],load_boltztrap_mp:11,load_brgoch_superhard_train:11,load_castelli_perovskit:11,load_citrine_thermal_conduct:11,load_cn_motif_op_param:16,load_cn_target_motif_op:16,load_dataframe_from_json:25,load_dataset:[2,6,11],load_dielectric_const:11,load_double_perovskites_gap:11,load_double_perovskites_gap_lumo:11,load_elastic_tensor:[2,11],load_expt_formation_enthalpi:11,load_expt_gap:11,load_flla:11,load_glass_binari:11,load_glass_ternary_hipt:11,load_glass_ternary_landolt:11,load_heusler_magnet:11,load_jarvis_dft_2d:11,load_jarvis_dft_3d:[6,11],load_jarvis_ml_dft_train:11,load_m2ax:11,load_mp:11,load_phonon_dielectric_mp:11,load_piezoelectric_tensor:11,load_steel_strength:11,load_wolverton_oxid:11,loader:[0,2,6],local:[0,3,5,6,14,16,19],local_env:18,localgeometryfind:16,localpropertydiffer:[5,16],locat:13,log10:[3,6],log:[0,7,18],log_2:18,logan:[1,3],logarithm:[3,13],logic:0,longer:[0,1],longitudin:3,look:[2,11,14,16,21],lookman:3,lookuip:0,lookup:[5,14,18,25],loom:2,loop:16,lord:14,lot:0,louvain:1,low:3,lowel:3,lower:[0,3],lowest:[3,14],lr_regress:4,lumo:[2,3,5,11,14],lumo_charact:14,lumo_el:14,lumo_energi:14,m2ax:11,m2ax_elast:2,m_e:3,m_i:18,m_ij:18,m_n:3,m_p:3,maarten:3,machin:[2,3,5,6,13,14,16,18,25],made:[2,3,25],magn_moment:14,magnet:[3,5,11,14],magneton:3,magnitud:13,magpi:[0,14,25],magpie_elementdata_feature_descript:25,magpiedata:[0,13,14,16,25],magpiedata_avg_dev_nfval:13,magpiedata_range_numb:13,mai:[0,3,9,13,16,18,25],main:[3,13,14,16,18,20,25],mainli:[3,13],maintain:[0,1,2,18],major:[0,13],make:[0,3,6,7,13,16,18,21,25],make_plot:4,make_test_data:20,malcolm:3,manag:[0,3],manhattan:3,mani:[0,3,6,13,14,16,18,20],manifest:3,manner:14,mannodi:3,mansouri:3,manual:[2,3],map:[2,3,4,13,16],map_kei:13,mapi_kei:[4,13,14],mapidoc:4,mar:3,marcel:3,marco:3,marcu:3,margin_bottom:4,margin_left:4,mark:3,marker_outline_width:4,martinez:18,masouri:3,mass:[3,16,18],mass_i:3,mass_x:3,mass_z:3,masumoto:3,mat_:18,matbench:[0,3,6,12],matbenchdatasetstest:12,match:[2,3,9,13,18],mater:[3,6,25],mater_:16,materi:[2,3,9,11,13,14,16,18,25],material_id:[2,3,6,9],material_id_list:9,materiala:14,materials_id:9,materialsproject:4,materialsvirtuallab:25,math:[13,14],mathew:[0,1],mathrm:16,matmin:[3,5],matminer_data:11,matminer_exampl:[0,6],matminerdatasetstest:12,matric:[5,18,20],matrix:[3,8,13,16,21],matrixfeatur:20,matrixstructurefeaturestest:19,matscholar_el:14,matscholarelementdata:[14,25],matscimalcolm:0,matt:1,matteo:3,matter:[3,25],matur:2,max:[1,3,9,14,16,18,25],max_column:4,max_csm:16,max_cut:18,max_dist_fac:16,max_ionic_char:14,max_l:16,max_oxi:18,max_row:4,max_typ:14,maximum:[0,3,5,13,14,16,18,21],maximumpackingeffici:[5,18],mayb:16,mcdermott:3,mckenzi:3,mcmaster:25,mdf:[0,7],mean:[0,3,4,5,9,13,14,16,18,21,25],mean_ofm:18,mean_shear_modulu:14,mean_squared_error:4,meaning:13,meant:13,measur:[3,6,13,14,16,18],mechan:3,media:3,medium:11,megnet:[0,25],megnet_el:14,megnetelementdata:25,mehta:3,melt:[3,14],melting_point:[4,14],meltspin:[3,11],memori:13,mendeleev:[16,18],mention:13,meredig:[0,3,5,14],merg:3,merit:3,meschel:3,messag:[0,4,18],meta:[2,3,11],metadata:[3,6,11],metagga:3,metal:[3,5,13,14,16,18,25],meter:3,method:[0,3,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,25,27],methodnam:[10,12,15,17,19,20,22,27],metric:[3,4,11,16],mev:3,miao:3,michael:3,michel:16,michiel:3,michigan:1,mickel:16,micro:3,microvolt:3,microwatt:3,midgap:13,miedema:[0,5,14,25],miedema_deltah_amor:14,miedema_deltah_int:14,miedema_deltah_ss:14,million:25,mimic:3,min:[14,18],min_oxi:18,mind:3,mine:[0,6],mini:0,minim:[14,18],minimum:[3,13,16,18,21],minimumokeeffenn:[16,18],minimumrelativedist:[5,18],minimumvirenn:[16,18],miniumdistancenn:[16,18],minor:[0,3],minut:4,miodownik:3,miracl:14,miracle_radius_stat:14,miracleradiu:[14,16],miranda:3,misc:[0,3,8,13],miscellan:[5,16,18],miscsitetest:17,miscstructurefeaturestest:19,mismatch:[5,14],miss:[0,2,9,14,25],mistak:2,mit:[1,3],mix:[5,14,25],mixingenthalpi:25,miyagi:3,mode:[0,3,4,9,16,18,21,25],model:[0,2,3,5,6,13,14,16,25],model_select:4,moder:3,modif:[2,3],modifi:[0,2,13],modify_dataset_metadata:2,modul:[5,6,28],moduli:[3,14],modulu:[3,4,6,14],molar_volum:14,molecul:[3,16,18,25],molecular:[3,14,18],molybdenum:3,moment:[3,14],mongo:[0,9],mongodataretriev:[6,9],mongodataretrievaltest:10,mongodb:[6,9],monoclin:18,monolay:3,monolith:3,month:3,monti:2,montoya:[0,1,6],montyencod:[0,2],more:[0,2,3,4,5,6,9,13,14,16,18,20,25],morooka:16,moser:3,most:[0,3,5,13,14,18,20],mostli:3,motif:[0,3,16],move:0,mp_all:3,mp_decod:9,mp_nostruct:3,mpa:[0,3],mpd:[0,6],mpdataretriev:[0,4,6,9],mpdataretrievaltest:10,mpid:3,mpr:4,mprester:9,mrd:18,mrdjenovich:3,mrl:3,mson:[5,13],msonabl:13,mu_b:3,much:[5,13,18],multi:[0,13],multi_feature_depth:13,multi_weight:16,multiargs2:20,multicompon:14,multifeatur:[0,20],multiindex:[13,25],multipl:[0,2,3,5,13,14,16,18,20,21],multiplefeatur:[0,5,13],multiplefeaturefeatur:20,multipli:[16,18],multiprocess:[0,6,13],multitypefeatur:20,multivari:3,munro:3,murakoa:0,muraoka:[0,1],must:[3,9,13,14,16,18,25],mutual:16,muv:3,my_ohv:18,mydataretriev:9,n_0:13,n_bin:16,n_cb:13,n_el:16,n_estim:4,n_ex1_degen:13,n_ex1_norm:13,n_i:16,n_job:[0,4,13],n_nearest:14,n_neighbor:14,n_site:16,n_split:4,n_symmetry_op:18,n_vb:13,nacl:14,name:[0,2,3,5,9,11,13,14,16,18,20,21,25],nan:[0,4,6,9,11,13,18,25],nanolamin:3,nanoparticl:3,nanowir:3,nash:3,nat:[14,16],nation:[1,3],nativ:9,natur:[3,13,14,25],nband:13,ncomms9123:14,ndarrai:[16,18,21],ndr:16,nearbi:14,nearest:[5,13,14,16,18,20,25],nearestneighbor:[5,16,18],nearli:14,nearneighbor:[0,14,16,18,25],necessari:[2,13,16],need:[0,2,13,14,16,18],neg:[3,4,13,14,16],neigh_coord:16,neigh_dist:16,neighbor:[3,5,13,14,16,18,20,25],neighbor_list:18,nest:[3,25],nested_dict:25,network:[3,16,25],neural:[3,16,25],neutral:14,neutron:18,never:0,newli:2,next:16,nfvalenc:13,nichola:1,nil:1,nim:3,nimssupercon:3,nishikawa:[0,1],nist:[1,3,14,18],nitrid:3,nlp:25,nmax:16,nn_coord:16,nn_dist:16,nn_method:18,nn_r:16,no_latt:14,no_oxi:18,nobl:3,nomin:[5,16],non:[3,13,16,18,20,25],none:[2,4,9,11,12,13,14,16,18,20,21,25],nonequilibrium:3,nonloc:18,nonmet:[3,25],nor:25,norm:[3,5,14],normal:[0,13,16,18,25],northwestern:1,notat:[9,25],note:[3,9,13,14,16,18,25],notebook:[0,4,6],notestin:3,noth:13,notic:25,novel:3,now:[0,4],npj:[3,25],npjcompumat:3,nsite:[2,3,4,18],nth:18,nuclear:[5,18],num_atom:14,num_electron:3,num_entri:11,number:[0,3,4,5,6,9,11,13,14,16,18,19],numer:[6,16,18,20,25],numeric_head:[2,12],numpag:3,numpi:[4,13,16,18,21],nx1:18,obit:3,obj:13,object:[0,2,3,5,6,9,13,14,16,18,21,25],object_head:[2,12],observ:[3,13,16],obsolet:[13,14,20],obtain:[3,6,13,18,25],occup:18,occupi:[3,14],occur:[18,21],oct:3,octahedr:16,off:[16,18],offici:0,offlin:4,ofm:[0,18],often:3,ohm:3,ohv:18,old:0,oliynyk:3,omega:[0,14],omit:[16,18],onc:2,one:[2,3,5,13,14,16,18,20,25],ones:[13,16],ong:[0,1,3,9,25],onli:[0,2,3,11,13,14,16,18,25],onlin:25,onlinelibrari:3,ontario:25,onward:[0,1],oop:0,op_typ:16,open:[2,3,6,7,25],oper:[6,13,21,25],opportun:[13,14,20],oppos:[2,13],ops:[0,16,18],opsitefingerprint:[5,16],opstructurefingerprint:0,opt:3,optb88vdw:3,optic:3,optim:[0,3,14,18],optimum:13,option:[0,2,3,4,9,11,13,16,18,21,25],opval:16,oqmd:3,oqmdid:3,orbit:[8,13,16,18],orbital_scor:13,orbitalfeaturestest:15,orbitalfieldmatrix:[0,5,18],orcid:3,order:[0,3,6,8,13,14,16],orderstructurefeaturestest:19,org:[3,9,16,18,25],organ:3,orient:[3,16,25],origin:[0,2,3,6,9,13,14,16,18,25],orthonorm:16,orthorhomb:18,other:[2,3,6,9,13,14,16,18,20,25],otherwis:[11,13,14,16,18],our:[3,6,7],out:[2,3,4,6,13,18],outdat:0,outperform:3,output:[0,4,5,6,7,13,16,18,25],output_str:11,outsid:2,over:[2,3,13,14,16,18],overhaul:0,overhead:13,overlap:[5,16],overrid:[9,13],overridden:[13,14,16,18,20],overview:13,overwrit:13,overwrite_data:13,own:[6,25],owner:25,oxi:0,oxid:[0,3,5,6,8,11,13,14,18,25],oxidationst:[5,14],oxidationstatedependentdata:25,oxidationstatemixin:14,oxidationstatesmixin:25,oxidationtest:22,oxyfluorid:3,oxyfluoronitrid:3,oxygen:3,oxynitrid:3,oxysulfid:3,p011002:3,p_0:[13,16],p_ex1_degen:13,p_ex1_norm:13,p_i:18,p_list:14,p_n:16,p_norm:14,pack:[0,8,13,16,18],packag:[0,2,3,6,28],package_data:0,packingfeaturestest:15,pad:18,page:[3,6,9],paglion:3,pair:[13,14,16,18,25],pairwis:[13,16,18,21],pairwise_grdf:16,panda:[0,2,3,6,9,13,16,25],paper:[0,6,11,13,16,18],paradigm:3,parallel:[0,6,13],parallelis:13,param:[0,16,18],paramet:[0,3,5,9,13,14,16,18,20,25],parent:25,pari:18,parri:3,pars:[6,13],parseabl:13,part:[3,13],partial:[0,5,13,16,18],partialradialdistributionfunct:[5,13,18],particular:[5,11,13,18,25],particularli:[13,14,16,18],pass:[2,13,14,16,18,20,21,25],patch:0,path:[2,3,11,25],pattern:[3,13,18],pattern_length:18,paul:16,paw:3,pbar:[11,13,25],pbc:6,pbe:3,pdf:3,pdo:13,peak:3,pearson:3,pec:3,penal:16,peopl:13,per:[0,3,4,5,14,18],per_atom:18,percent:3,percentag:16,perfect:4,perform:[0,2,3,5,13],pergamon:3,period:[3,5,14,16,18,25],period_tag:18,pernici:0,perovskit:[3,18],person:3,persson:[3,6,9],perturb:[3,16],pervoskit:3,petousi:3,petousis2017:3,petretto2018:3,petretto:3,petretto_dwaraknath_miranda_winston_giantomassi_rignanese_van:3,pf_n:3,pf_p:3,pf_rf:4,pham:18,phase:[0,3,14],phaseinfo:3,phdo:3,phenomena:3,philip:3,phonon:3,phonon_bandstructur:9,phonon_ddb:9,phonon_dielectric_mp:11,phonon_do:9,photoelectrochem:3,photon:3,phy:[3,16,18,25],physic:[3,6,14,16,18,25],physiochem:3,physrevb:[3,16,18],physrevmateri:[3,18],picnic:6,piezo:3,piezoelectr:3,piezoelectric_tensor:[2,11],pii:[3,14],pilania2016:3,pilania:3,ping:[1,3,25],pip:0,pipelin:[0,3,6,8,13,28],place:[2,13,14,16,18],plane:3,plata:3,platform:[2,7],pleas:[0,1,6,9,14,16,18,25],plot:[0,6],plot_mod:4,plot_titl:4,plotli:[4,6],plotlyfig:[0,4,6],plu:9,pmg:13,pmid:3,pml:14,point:[0,3,5,6,13,16],point_group:3,poisson_ratio:[3,6],pol:3,polar:3,poly_electron:[2,3],poly_tot:[2,3],polycrystallin:3,polyhedra:18,polyhedron:16,polymorph:3,polynomi:16,pool:13,popul:4,portion:16,poscar:[2,3,11],posit:[3,5,13,14,16,18],possibl:[3,4,5,9,11,13,14,16,18,25],post:[2,7],postprocess:13,pot_ferroelectr:[2,3],potenti:[3,16,18],powder:[5,18],power:[3,6,16,21],practic:[6,13,18],prb:18,prdf:[0,5,16,18],pre:[2,6,13,16],precheck:[0,13,14,18,20],precheck_datafram:[0,13,14,18,20],precis:[3,18],predict:[3,6,14,16,18,25],predictor:3,prefer:[2,9,16],prep:2,prep_dataset_for_figshar:2,prepar:3,preprint:3,preprocessor:2,present:[3,6,13,16,18,25],preserv:25,preset:[0,13,14,16,18],preset_nam:14,press:3,pretty_formula:[3,4],prevent:[2,16,18],previous:3,primari:[2,13,21,25],primarili:[3,25],primit:[3,5,13,16],principl:[3,9],print:[4,11],print_format:11,prinz:3,prior:[2,3,18],prmateri:18,probabl:[13,18],problem:[0,3,6,7],procedur:[2,3],process:[2,3,6,11,13,14,18],prod:13,produc:[2,3,5,13,18],product:[5,13,16],profit:25,program:9,progress:[0,11,13,25],progressbar:0,project:[0,2,3,5,6,9,11,13,14,25],promis:3,prone:18,prop:[9,14],proper:[2,13],properli:[0,2,20],properti:[0,2,3,4,5,6,9,13,14,16,18,19,21,25],property_nam:25,propertystat:[0,14,21],propos:[16,18],protect:[3,18],protocol:2,prototyp:6,prove:3,provid:[2,3,6,9,11,13,14,16,20,21,25],proxim:16,pub:3,publicli:3,publish:[3,16],puch:18,pull:[6,7,11],pure:3,purpos:[2,3,5,9,13,14,25],put:18,pw91:3,py2:0,py3:0,pycc:0,pyguid:[9,13],pymatgen:[0,3,4,5,6,7,9,10,13,14,15,16,17,18,19,20,22,25,27],pymatgendata:[4,14,25],pymatgenfunctionappl:[5,6,13],pymatgentest:[10,15,17,19,20,22,27],pymetgendata:14,pymongo:9,pypi:0,python:[0,2,5,6,7,13,16,25],pytorch:0,qnd:[14,18],qua:3,qualiti:[2,20],quantifi:[3,5,13,18],quantil:21,quantit:3,quantiti:3,quantum:[3,18],quartil:0,quasi:[3,9],quaternari:[3,14],queri:[0,6,9,11],question:[6,13],quick:[7,13],quickli:[0,2,6,14],quit:25,quotient:13,r2bacuo5:18,r_c:16,r_const:14,r_cut:18,r_i:[14,18],r_ij:18,r_j:18,rac:14,radial:[3,5,13,16,18,21],radialdistributionfunct:[5,18],radiat:18,radii:[6,14,16],radiu:[14,16,18],radius_ratio:14,radius_typ:16,rai:[3,18],rais:16,ram:3,raman:3,ramprasad:3,ranawat:16,randi:3,random:[3,5,18],random_st:4,randomforestregressor:4,randomli:18,rang:[3,5,9,13,14,16,18,21,25],ranganathan:14,rapid:3,rare:3,rate:25,rather:[5,13,14,16,18,20],ratio:[3,14],raw:[3,5,9,13,18,25],rbf:16,rcut:16,rdf:[0,8,13],rdftest:17,reaction:3,read:[13,25],read_excel:2,readabl:3,reader:13,readi:[2,13,18],readili:9,readthedoc:13,real:16,reason:13,recommend:[9,13,16,18,25],record:[0,3,9,25],rectangular:[16,21],recurs:25,redesign:0,redf:[5,18],reduc:[3,13],redund:13,reed:3,ref:14,refactor:0,refer:[0,3,5,11,13,14,16,18,20],refin:3,refitt:20,reflect:[0,3,14,16],refract:3,regard:25,regardless:18,region:16,regress:[13,25],regressor:3,regularli:2,rel:[3,5,13,16,18,25],relat:[3,5,14,16,18,25],relax:3,releas:0,relev:[4,6,9,13],remain:[3,16,25],remark:3,remov:[0,3,4,9,25],remove_int:9,ren:3,renam:[0,2,3],render:13,reneaaq1566:3,renorm:0,rep:3,repeat:[3,16],replac:[2,9,18],repo:[0,6],report:[3,5,13,14,25],repositori:[3,6,7],repres:[3,4,5,6,13,14,16,18],represent:[0,3,5,6,9,13,18,25],reproduc:[3,6,13,25],request:[6,11],requir:[0,2,3,5,7,13,14,16,18,20],research:[1,2,3,6,25],resembl:[5,16],reserv:14,resili:0,resist:3,resolv:[0,16],resourc:[3,25],respect:[3,6,13,14,16,18],respons:[3,25],rest:[3,9],rester:0,result:[2,3,6,13,16,18,20,21,25],retrain:3,retriev:[0,2,3,4,9,11,13,14,16,25],retrieve_aflow:[8,28],retrieve_bas:[8,28],retrieve_citrin:[6,8,28],retrieve_mdf:[8,28],retrieve_mongodb:[8,28],retrieve_mp:[4,6,8,28],retrieve_mpd:[8,28],return_baglen:18,return_eref:13,return_error:13,return_frac:13,return_lumo:11,return_original_on_error:13,reuss:3,rev:[3,16,18,25],revamp:0,reveal:3,review:[0,3],rework:0,rf_import:4,rf_regress:4,rh4:0,rho:3,rhy:3,ricci2017:3,ricci:3,rich:6,richard:[3,25],rickard:3,riebesel:[0,1],right:14,rignanes:3,rink:16,risi:16,rizvi:3,rmse_scor:4,rnstein:3,robust:[13,16,25],robustli:6,rodriguez:[3,18],role:3,room:[3,11],room_temperatur:11,root:18,rotat:16,rough:14,round:4,routin:[6,13],row:[4,6,9,11,13,14,18],rowchowdhuri:1,royal:3,rpbe:3,rui:[0,1],rule:[13,18],run:[0,2,3,5,7,11,13,16,18],runtest:[10,12,15,17,19,20,22,27],runtim:[13,14,20],rupp:18,ryan:3,rzyman2000309:3,rzyman:3,s0254058411009357:14,s0364591601000074:3,s0364:3,s41524:3,s41586:25,s41598:3,s_n:3,s_p:3,saal:3,saez:18,said:2,salina:18,samantha:3,same:[3,5,7,9,11,13,14,16,18,21,25],sami:1,sampl:[0,3,9,13],sampling_resolut:13,san:[1,25],sanchez:18,sandia:1,sandip:16,satisfi:[3,9,14],satur:3,saurabh:1,save:[2,13],sayan:1,scalar:25,scale:[3,13,16,18],scale_factor:18,scan:3,scatter:3,schema:6,scheme:[0,2,16],schladt:3,schmidt:16,schutt:18,sci:[3,6,25],sciadv:3,scienc:[2,3,6,9,16,25],sciencedirect:3,sciencemag:3,scientif:[3,6,25],scikit:[4,6,13,25],scikitlearn:13,scipi:[13,18],scissor:13,scitat:16,scope:13,score:[4,13],scott:3,screen:3,scroll:[6,14],sdata2017162:3,sdata:3,search:[3,6,18],second:[2,13,14,18,21,25],section:3,see:[0,2,3,4,6,7,9,11,13,14,16,18,20,21,25],seebeck:3,seen:3,seko:[0,16],select:[2,5,6,13,25],self:[2,13,14,16,18,20,25],semi:[13,14],semiconduct:3,semiconductor:[3,13],sensibl:[9,16],sensit:[3,18],sep:3,separ:[0,2,3,13,18,21],seri:[3,5,13,16,18,20],serial:0,serv:2,servic:2,seshadri:3,set:[0,2,3,4,6,9,10,11,12,13,14,15,16,17,18,19,20,22,25,27],set_chunks:13,set_n_job:13,set_opt:4,set_param:13,setten:3,setten_gonze_persson_hautier_2018:3,setup:[0,2,7,10,12,15,17,19,20,22,27],sever:[0,2,3,4,13,18,25],shannon:[5,18],shape:16,share:[3,16],shear:[3,6,14],shear_modulu:[3,14],shearabl:3,sheet_nam:2,shell:[5,14,16,18],shew:21,shield:3,shortcut:0,should:[0,2,3,9,13,14,16,18,20,21,25],show:[3,6,9,11,13,25],shreya:3,shuffl:4,shyam:3,shyue:[1,3,25],siemen:3,sigma:[3,13,16,25],sign:16,signatur:[0,13,14,16,18,20,25],signific:[5,13,14],significantli:[3,14],silicid:3,similar:[2,3,5,6,14,18],simper:3,simpl:[2,3,6,9,16],simpli:[2,7,25],simplici:16,simul:[3,6,14],simultan:14,sin:[18,21],sine:[3,18,21],sinecoulombmatrix:[0,5,18],singl:[2,3,13,14,18,20,25],singlefeatur:20,singlefeaturizermultiarg:20,singlefeaturizermultiargswithprecheck:20,singlefeaturizerwithprecheck:20,singroup:16,site2:16,site:[0,3,6,8,13,14,20,25],site_dict:18,site_el:18,site_featur:18,site_idx:25,site_v:18,sitecollect:16,sitedo:[0,5,13],siteelementalproperti:[5,16],sitefeaturizertest:17,sitestatsfeatur:18,sitestatsfingerprint:[0,5,18],situat:14,six:2,size:[3,4,5,13,14,16,18,21,25],skew:[0,21],skinner:3,skip:0,sklearn:[0,4,13,25],slab:3,slighli:0,slow:[3,25],slowli:16,sluiter:3,sm_lbs_978:3,small:[2,13,14,16],smaller:25,smallest:14,smear:[13,18],smooth:[5,16],smoother:[0,7],smoothli:16,snc:3,snyder:[1,3,6],soap:[0,5,16],societ:3,societi:3,soft:25,softwar:3,solid:[0,3,14,16,18,25],solid_angl:16,solut:[0,3,14],some:[0,2,3,6,7,9,13,14,16,21,25],someon:7,someth:6,soon:6,sophist:6,sort:[0,9,11,13,16,18,21],sort_method:11,sourc:[0,2,3,6,7,9,14,16,25],space:[3,13,16,18,25],space_group:[2,3],spacegroup:[3,4,5,18],spacegroup_num:18,span:[3,6],sparingli:9,spark:3,speci:[3,5,13,14,16,18,25],special:[5,14],specif:[2,3,5,6,7,14,16,18,21,25],specifi:[2,3,4,6,11,13,14,18,21],spectra:3,spectrum:16,speedup:0,spencer:3,sphere:[14,16,18],spheric:[5,16],spin:[3,13],split:[3,25],springer:3,springermateri:3,springernatur:3,sputter:[3,11],sqrt:[4,13,14],squar:[16,18],src:3,srep19375:3,sro:16,ss_type:14,stabil:[2,3],stabl:[0,3,13,14,16,25],stack:3,stackedfeatur:[0,5,13],standalon:13,standard:[2,3,9,16,18,21],stanev2018:3,stanev:3,start:[0,1,13,18,21],stat:[0,4,8,13,14,16,18],state:[0,3,6,9,13,14,18,21,25],station:3,statist:[4,5,14,16,18,21],stats_area:16,stats_dist:16,stats_vol:16,std:16,std_dev:[4,16,18,21],steel:[3,11],stefano:3,steinhardt:16,step:[2,16,18,25],stephen:3,stevanov:25,still:[7,16,18],stoichiometr:[5,14],stoichiometri:[5,14],storag:2,store:[2,11,13,16,25],store_dataframe_as_json:25,str:[2,4,9,11,13,14,16,18,20,21,25],strategi:16,strc:[16,18],strength:[0,3,11,13,14,16],strengthen:14,strict:9,string:[0,3,5,6,9,11,13,14,16,18,20,21,25],string_composit:13,string_of_dataset_nam:2,strip:13,strong:3,stronger:16,strongest:3,strongli:3,strtocomposit:[5,13],struc:16,struct:[3,9,14,16,18],struct_typ:14,structur:[0,2,3,6,8,9,11,13,14,16,17,20,25],structural_st:14,structuralcomplex:[0,5,18],structuralheterogen:[5,18],structure_:18,structure_oxid:13,structurecomposit:[5,18],structurefeaturestest:19,structurerdftest:19,structuresitesfeaturestest:19,structuresymmetryfeaturestest:19,structuretocomposit:[5,13],structuretoistructur:[5,13],structuretooxidstructur:[5,13],strucutr:3,stuck:6,studi:[3,25],style:[0,6,9,13],styleguid:[9,13],sub:[14,16,18],sub_polyhedra:16,subclass:[0,9,13,14,16,18,20],submit:6,submodul:[8,28],subpackag:28,subset:[2,11],subshel:18,substitu:6,substitut:[3,13,18],subtract:13,success:3,suffici:9,suffix:25,suggest:[3,5,16],suit:[2,3,13],suitabl:25,sum:[0,3,13,14,16,18],sum_:[16,18],sum_n:[16,18],summari:[6,13],summat:[0,16,18],sun:3,sup:18,supercel:[3,18],supercon:3,superconduct:3,superhard:3,supervis:3,suppl:3,supplementari:3,suppli:[13,18],support:[0,2,9,13,14,16,25],sure:7,surfac:16,surround:18,survei:3,susan:3,suspect_valu:3,sybrand:3,symbol:[3,4,6,13,14],symm:[13,18,21],symm_weight:16,symmetr:[3,18,21],symmetri:[0,8,13,16],sympi:[7,13],symprec:18,syntax:6,synthesi:3,system:[3,5,7,11,14,16,18],systemat:16,t42s31:3,t_m:14,t_n:18,t_p:18,tabl:[0,5,6,14,18,25],tabul:[18,25],tabular:3,tag:18,tailor:3,take:[0,2,3,6,9,13,16,21,25],taken:[3,13,16,25],takeuchi:[3,25],tandfonlin:14,tanja:3,target:[3,4,5,9,11,13,14,16,25],target_col_id:13,target_column:13,target_gap:13,target_motif:16,task:[3,13],task_id:3,tasnadi:3,tavazza:3,taylor:3,tbmbj:3,teardown:[17,27],tech:18,techniqu:[3,25],technolog:3,tehrani:3,tell:6,tellurid:3,temperatur:[3,11,13,14],tensil:3,tensor:3,tent:18,term:[3,5,14],termin:7,ternari:[0,3,14],tessel:[5,16,18],tesser:16,test:[0,3,4,6,8,9,11,13,14,16,18,21,23,25],test_af:17,test_alloi:[13,14],test_ap:15,test_ase_convers:20,test_atomic_orbit:15,test_averagebondangl:17,test_averagebondlength:17,test_avg_dev:22,test_band_cent:15,test_bandfeatur:20,test_bandstructur:[8,13],test_bas:[8,13],test_bessel:22,test_bob:19,test_boltztrap_mp:12,test_bond:[13,16,18],test_bondfract:19,test_bop:17,test_branchpointenergi:20,test_brgoch_superhard_train:12,test_cach:[8,20,25],test_castelli_perovskit:12,test_cation_properti:15,test_chem:[13,16],test_chemenv_site_fingerprint:17,test_chemicalsro:17,test_citrine_thermal_conduct:12,test_cleaned_project:10,test_cn:17,test_cohesive_energi:15,test_cohesive_energy_mp:15,test_composit:[13,14,18],test_composition_featur:19,test_composition_to_oxidcomposit:20,test_composition_to_structurefrommp:20,test_convenience_load:[8,11],test_convers:[8,13],test_conversion_multiindex:20,test_conversion_multiindex_dynam:20,test_conversion_overwrit:20,test_cosin:22,test_coulomb_matrix:19,test_crystal_nn_fingerprint:17,test_data:[8,25],test_datafram:[17,20],test_dataset:[2,8,11],test_dataset_retriev:[8,11],test_density_featur:19,test_dict_to_object:20,test_dielectric_const:[2,12],test_dimension:19,test_do:[8,13],test_dopingfermi:20,test_dosasymmetri:20,test_dosfeatur:20,test_double_perovskites_gap:12,test_double_perovskites_gap_lumo:12,test_el:[13,14],test_elastic_tensor_2015:12,test_elec_affin:15,test_elem:15,test_elem_deml:15,test_elem_matmin:15,test_elem_matscholar_el:15,test_elem_megnet_el:15,test_en_diff:15,test_ewald:19,test_ewald_sit:17,test_expt_formation_enthalpi:12,test_expt_formation_enthalpy_kingsburi:12,test_expt_gap:12,test_expt_gap_kingsburi:12,test_extern:[13,16],test_featur:20,test_featurize_label:20,test_featurize_mani:20,test_fere_corr:15,test_fetch_external_dataset:12,test_fingerprint:[13,16],test_fitt:20,test_flatten_dict:[8,25],test_flatten_nested_dict:27,test_flla:12,test_fract:15,test_func:[2,12],test_funct:[8,13],test_gaussian:22,test_gaussiansymmfunc:17,test_geom_std_dev:22,test_get_all_dataset_info:12,test_get_data:[10,27],test_get_data_hom:12,test_get_datafram:10,test_get_dataset_attribut:12,test_get_dataset_cit:12,test_get_dataset_column:12,test_get_dataset_column_descript:12,test_get_dataset_descript:12,test_get_dataset_num_entri:12,test_get_dataset_refer:12,test_get_file_sha256_hash:12,test_get_oxid:27,test_get_properti:27,test_get_rdf_bin_label:19,test_glass_binari:12,test_glass_binary_v2:12,test_glass_ternary_hipt:12,test_glass_ternary_landolt:12,test_global_symmetri:19,test_globalinstabilityindex:19,test_grdf:[13,17,21],test_has_oxidation_st:22,test_helper_funct:20,test_heusler_magnet:12,test_histogram:22,test_holder_mean:22,test_hybrid:20,test_ignore_error:20,test_indic:20,test_inplac:20,test_interstice_distribution_of_cryst:17,test_interstice_distribution_of_glass:17,test_io:[8,25],test_ion:[13,14],test_is_ion:15,test_jarvis_dft_2d:12,test_jarvis_dft_3d:12,test_jarvis_ml_dft_train:12,test_jarviscfid:19,test_json_to_object:20,test_kurtosi:22,test_load_class:22,test_load_dataframe_from_json:27,test_load_dataset:12,test_load_dataset_dict:12,test_local_prop_diff:17,test_m2ax:12,test_matbench_v0_1:12,test_matrix:[13,18,20],test_maximum:22,test_mean:22,test_meredig:15,test_miedema_al:15,test_miedema_ss:15,test_min_relative_dist:19,test_minimum:22,test_misc:[13,16,18],test_mod:22,test_mp_all_20181018:12,test_mp_nostruct_20181018:12,test_multi_featur:20,test_multifeature_no_zero_index:20,test_multifeatures_multiarg:20,test_multiindex_in_multifeatur:20,test_multiindex_inplac:20,test_multiindex_return:20,test_multipl:20,test_multiprocessing_df:20,test_multitype_multifeat:20,test_off_center_cscl:17,test_op_site_fingerprint:17,test_orbit:[13,14],test_orbital_field_matrix:19,test_ord:[13,18],test_ordering_param:19,test_oxid:[13,21],test_oxidation_st:15,test_pack:[13,14],test_packing_effici:19,test_phonon_dielectric_mp:12,test_piezoelectric_tensor:12,test_plot:23,test_prdf:19,test_precheck:20,test_print_available_dataset:12,test_pymatgen_general_convert:20,test_quantil:22,test_rang:22,test_rdf:[13,16,18],test_rdf_and_peak:19,test_read_dataframe_from_fil:12,test_redf:19,test_remove_int:10,test_retrieve_aflow:[8,9],test_retrieve_citrin:[8,9],test_retrieve_mdf:[8,9],test_retrieve_mongodb:[8,9],test_retrieve_mp:[8,9],test_retrieve_mpd:[8,9],test_ricci_boltztrap_mp_tabular:12,test_simple_cub:17,test_sin:22,test_sine_coulomb_matrix:19,test_sit:[13,18],test_site_elem_prop:17,test_sitedo:20,test_sitestatsfingerprint:19,test_skew:22,test_soap:17,test_stacked_featur:20,test_stat:[13,21],test_std_dev:22,test_steel_strength:12,test_stoich:15,test_store_dataframe_as_json:27,test_str_to_composit:20,test_structural_complex:19,test_structure_to_composit:20,test_structure_to_oxidstructur:20,test_superconductivity2018:12,test_symmetri:[13,18],test_thermo:[13,14],test_tholander_nitrides_e_form:12,test_tm_fract:15,test_to_istructur:20,test_ucsb_thermoelectr:12,test_util:[8,11],test_val:15,test_validate_dataset:12,test_voronoifingerprint:17,test_ward_prb_2017_efftcn:19,test_ward_prb_2017_lpd:19,test_ward_prb_2017_strhet:19,test_wenalloi:15,test_wolverton_oxid:12,test_xrd_powderpattern:19,test_yang:15,testbaseclass:20,testcach:27,testcas:[2,10,12,20,22,27],testconvers:20,testdemldata:27,testfunctionfeatur:20,testiucrbondvalencedata:27,testmagpiedata:27,testmatscholardata:27,testmegnetdata:27,testmixingenthalpi:27,testpropertystat:22,testpymatgendata:27,tetragon:[3,18],tetrahedr:16,tetrahedra:16,tetrahedron:16,text:[0,4],textasciitild:3,textendash:3,textperiodcent:3,textsiz:4,than:[2,3,5,13,14,16,18,20,25],thei:[2,3,9,13,25],them:[0,3,9,13,16,18,21],themselv:18,theoret:3,theori:[3,5,14,25],therefor:3,thermal:[3,11],thermo:[8,13],thermochem:3,thermochemistri:[3,5,14],thermodynam:[3,5,14],thermoelectr:3,thermofeaturestest:15,thi:[0,2,3,4,5,6,9,13,14,16,18,20,21,25],thing:6,thinspac:3,tholand:3,tholander2016strong:3,thoma:3,thompson:[0,1],thoroughli:2,those:[3,16,18,21,25],though:25,thousand:[3,13,14,20],thr:14,thread:13,three:[3,13],threshold:14,through:[1,3,6,13,25],throughput:3,throughput_dens:3,throughput_dft_calculations_of_formation_energy_stability_and_oxygen_vacancy_formation_energy_of_abo3_perovskit:3,thrown:13,thu:[3,16],thumb:13,thygesen:3,tian:1,ticket:7,ticksiz:4,tild:1,time:[3,4,5,9,13,14,16,18],tip:0,titl:3,tiznn2:3,tmetalfract:[5,14],to_dict:25,to_json:13,todai:3,todo:[16,18],toher:3,token:18,toler:[6,13,14],too:14,tool:[0,2,4,6,9,14,16],toolkit:[3,6],top:[13,14],topolog:14,total:[3,13,14,16,18,25],touch:18,tour:6,traceback:13,track:[3,6],tradit:3,train:[2,3,4,6,11,13,16,18,20,25],training_data:18,tran:25,transfer:[9,25],transform:[6,9,13,25],transformermixin:[0,13,25],transit:[3,5,14],translat:16,transpar:3,transport:3,travi:3,treat:[13,18],trewartha:[0,1],trial:13,triangl:0,triangul:16,trick:25,triclin:18,trig:16,trigon:18,trim:0,triplet:16,trivial:13,troubl:7,truncat:[14,16,18],truth:[13,14,20],try_get_prop_by_material_id:9,tsai:3,tshitoyan:25,tsv:0,tunabl:18,tune:3,tupl:[2,9,11,13,16,18,20,25],turn:[0,2,6,16,25],tutori:6,twice:13,two:[0,2,3,13,14,16,18,21,25],two_theta:18,two_theta_rang:18,txt:[2,25],type:[0,2,3,6,7,13,14,16,18,20,25],typic:2,typo:0,uberuaga:3,ubiquit:3,ucsb:3,ultim:[3,13],ultraincompress:3,umut:3,unari:14,uncertainti:3,under:[3,6,13,16],underli:[2,9,18],underlin:13,underscor:[0,13],understand:[3,6,13],underwai:3,unifi:[6,18],uniform:[13,18,25],union:[13,25],uniqu:[2,3,9,13,16,18],unique_composit:11,unit:[0,2,3,9,14,16,18],unitless:3,unittest:[2,10,12,20,22,27],univers:[2,3,25],universal_dataset_check:[2,12],unless:[13,18],unlik:[13,14,20],unmatch:14,unoccupi:[3,14,16],unreli:13,unreport:3,unstabl:4,unsupervis:25,unsupport:0,unsymmetr:3,unus:[0,16,18,25],unwant:25,unwind_arrai:25,updat:[0,13,18,20],upgrad:[0,7],upload:0,upper:3,url:[0,2,3],usabl:[0,2],use:[0,2,3,4,5,6,9,13,14,16,18,20,25],use_adf:18,use_cel:18,use_chem:18,use_chg:18,use_common_oxi_st:25,use_ddf:18,use_nn:18,use_rdf:18,use_symm_weight:16,use_weight:16,used:[0,2,3,4,6,9,13,16,18,21,25],useful:[6,13,25],user:[2,3,6,7,9,13,14,16,25],uses:[2,13,16,18,25],using:[0,2,3,4,5,6,7,9,13,14,16,18,25],usnistgov:18,usual:25,util:[0,2,6,8,10,13,14,15,16,17,19,20,28],utilstest:12,v_i:[14,16],v_j:14,v_max:3,vacanc:3,vacuum:3,val:18,valenc:[0,3,5,13,14,18,25],valence_attribut:14,valence_electron:14,valenceionicradiusevalu:18,valenceorbit:[5,14],valentin:3,valid:[3,4,9,25],valid_element_list:25,valu:[0,3,4,6,9,11,13,14,16,18,21,25],van:3,vapor:3,vari:16,variabl:[3,4,11,13,14],varianc:[5,18],variant:[5,18],variat:[16,18],varieti:[3,6],variou:[0,3,6,9,16,18],vasp:3,vast:3,vbm:[0,3,13],vbm_:13,vbm_p:13,vbm_score:13,vbm_score_i:13,vbm_score_tot:13,vbm_sp:13,vec:14,vector:[3,5,14,16,18,25],veri:[14,25],verifi:11,verlag:3,version:[0,2,3,6,7,11,16],versu:3,via:[3,5,6,9,13,14,16,20],vibrat:3,view:4,visual:6,voight:3,voigt:3,vol:16,volt:3,volum:[2,3,4,5,16,18,21],volume_interstice_list:16,von:3,voronoi:[0,5,16,18],voronoifingerprint:[0,5,16],voronoinn:[16,18],vpa:[3,4,18],vrh:3,w_n:[16,18],waal:3,wagner:[0,1],wai:[2,3,6,7,9,13,21,25],walk:25,wang:[0,1,3,6,16],want:[4,6,13,18],ward2016:3,ward:[0,1,3,6,16,18,19,25],warn:[4,13,14,18,20],waroqui:[0,1],warrant:25,warren:18,warschkow:3,water:3,watson:3,watt:3,wavelength:18,web:9,webpag:3,websit:3,wei:3,weigh:[16,18],weight:[3,13,14,16,18,21],weik:25,weinert:3,well:[2,3,6,13,14,16,18],wen:14,wenalloi:[5,14],were:[3,13,25],weston:25,what:[2,9,11,13,16],when:[2,3,9,11,13,14,16,18,20,21,25],where:[2,3,6,9,11,13,14,16,18],wherea:[16,18],whether:[2,3,9,11,13,14,15,16,18,20,21,25],which:[2,3,6,9,13,14,16,18,20,21,25],who:[3,13],whose:18,wider:3,width:[2,3,4,16,18,21],wigner:16,wilei:3,william:[0,1,3],willighagen:18,window:[5,7,16,21],winston:[1,3],within:[2,3,6,11,13,14,16,18,25],without:[3,6,13,25],wolverton:[3,11,25],wolverton_oxid:2,word:25,work:[0,2,3,6,13,14,18,20,21],workflow:[3,6],worth:13,worthwhil:13,would:[2,6,13,21],wrapper:[13,18],write:[2,13,25],written:[2,13],wrote:13,wrt:3,www:[3,14,25],x_col:4,x_t:18,x_titl:[4,6],xavier:3,xbm_character_i:13,xbm_hybrid:13,xbm_location_i:13,xbm_score_i:13,xbm_specie_i:13,xfeatur:13,xie:[0,1],xrd:18,xrdcalcul:18,xrdpowderpattern:[0,5,18],xtal:[5,18],xy_lin:4,xy_param:4,xy_plot:4,y_col:4,y_pred:4,y_titl:[4,6],y_true:4,yaml:0,yang:[0,5,14],yang_delta:14,yangsolidsolut:[0,5,14],year:3,yet:3,yield:[0,3,18],yjj3zhdmjlq:3,you:[2,4,5,6,7,9,13,14,16,18,21],your:[4,6,7,9,13,14,16],your_dataset_file_nam:2,your_preprocessor:2,yourself:14,yunx:25,z_i:18,z_j:18,zenodo:3,zero:[3,14,16,18],zero_op:16,zeshan:3,zeta:16,zetas_g4:16,zhang:[5,14],zheng:25,zhuo:3,zimmermann:[0,1,6],zone:13,zrznn2:3,zuo:25,zwaag:3},titles:["MatMiner Changelog","MatMiner Contributors","Guide to adding datasets to matminer","Table of Datasets","Predicting bulk moduli with matminer","bandstructure","matminer (Materials Data Mining)","Installing matminer","matminer package","matminer.data_retrieval package","matminer.data_retrieval.tests package","matminer.datasets package","matminer.datasets.tests package","matminer.featurizers package","matminer.featurizers.composition package","matminer.featurizers.composition.tests package","matminer.featurizers.site package","matminer.featurizers.site.tests package","matminer.featurizers.structure package","matminer.featurizers.structure.tests package","matminer.featurizers.tests package","matminer.featurizers.utils package","matminer.featurizers.utils.tests package","matminer.figrecipes package","matminer.figrecipes.tests package","matminer.utils package","matminer.utils.data_files package","matminer.utils.tests package","matminer"],titleterms:{"6000":4,"class":5,"function":[5,13],"import":4,"long":2,Use:4,access:6,add:4,adding:2,alloi:[5,14],automat:4,bandstructur:[5,13],base:[5,10,12,13,15,17,19],boltztrap_mp:3,bond:[5,16,18],brgoch_superhard_train:3,bulk:4,cach:25,calcul:[4,5],castelli_perovskit:3,changelog:[0,6],chemic:[5,16],chicago:1,citat:6,cite:6,citrine_thermal_conduct:3,code:2,complex:6,composit:[5,14,15,18],content:[8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27],contribut:6,contributor:1,convenience_load:11,convers:[5,6,13],crystal:5,data:[4,6,25],data_fil:26,data_retriev:[9,10],datafram:[4,6],dataset:[2,3,6,11,12],dataset_retriev:11,deml_elementdata:26,densiti:5,deriv:5,descriptor:[4,6],determin:4,develop:7,dielectric_const:3,dos:[5,13],double_perovskites_gap:3,double_perovskites_gap_lumo:3,easili:6,elastic_tensor_2015:3,electron:5,element:[5,14],exampl:6,expand:5,expt_formation_enthalpi:3,expt_formation_enthalpy_kingsburi:3,expt_gap:3,expt_gap_kingsburi:3,extern:[5,16],featur:[4,5,6,13,14,15,16,17,18,19,20,21,22],figrecip:[4,23,24],file:2,fingerprint:[5,16],fit:4,flatten_dict:25,flla:3,follow:4,forest:4,fork:2,from:[4,5],gener:[5,6],get:4,github:2,glass_binari:3,glass_binary_v2:3,glass_ternary_hipt:3,glass_ternary_landolt:3,grdf:21,group:1,guid:2,hack:1,heusler_magnet:3,host:2,individu:5,info:3,instal:[6,7],ion:[5,14],jarvis_dft_2d:3,jarvis_dft_3d:3,jarvis_ml_dft_train:3,kernel:25,lbnl:1,line:6,linear:4,link:6,load:2,m2ax:3,made:6,make:2,matbench_dielectr:3,matbench_expt_gap:3,matbench_expt_is_met:3,matbench_glass:3,matbench_jdft2d:3,matbench_log_gvrh:3,matbench_log_kvrh:3,matbench_mp_e_form:3,matbench_mp_gap:3,matbench_mp_is_met:3,matbench_perovskit:3,matbench_phonon:3,matbench_steel:3,materi:[1,4,5,6],matmin:[0,1,2,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],matrix:[5,18],meta:5,metadata:2,mine:4,misc:[5,16,18],mode:7,model:4,modul:[8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27],moduli:4,most:4,mp_all_20181018:3,mp_nostruct_20181018:3,mung:6,obtain:4,one:6,onlin:6,orbit:[5,14],order:[5,18],other:[1,5],our:4,overview:6,oxid:21,pack:[5,14],packag:[8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27],panda:4,parent:5,persson:1,phonon_dielectric_mp:3,piezoelectric_tensor:3,pip:7,pipelin:25,plot:[4,23],preambl:4,predict:4,prepar:2,preprocess:2,project:4,pull:2,put:6,quick:6,random:4,rdf:[5,16,18],readi:6,regress:4,relat:6,repositori:2,request:2,result:4,retriev:6,retrieve_aflow:9,retrieve_bas:9,retrieve_citrin:9,retrieve_mdf:9,retrieve_mongodb:9,retrieve_mp:9,retrieve_mpd:9,ricci_boltztrap_mp_tabular:3,rmse:4,script:2,set:5,similar:4,site:[5,16,17,18],softwar:6,stat:21,state:5,steel_strength:3,step:4,structur:[5,18,19],submodul:[9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27],subpackag:[8,9,11,13,14,16,18,21,23,25],superconductivity2018:3,support:6,symmetri:[5,18],tabl:3,term:2,test:[2,10,12,15,17,19,20,22,24,27],test_alloi:15,test_bandstructur:20,test_bas:20,test_bond:[17,19],test_cach:27,test_chem:17,test_composit:[15,19],test_convenience_load:12,test_convers:20,test_data:27,test_dataset:12,test_dataset_retriev:12,test_do:20,test_el:15,test_extern:17,test_fingerprint:17,test_flatten_dict:27,test_funct:20,test_grdf:22,test_io:27,test_ion:15,test_matrix:19,test_misc:[17,19],test_orbit:15,test_ord:19,test_oxid:22,test_pack:15,test_plot:24,test_rdf:[17,19],test_retrieve_aflow:10,test_retrieve_citrin:10,test_retrieve_mdf:10,test_retrieve_mongodb:10,test_retrieve_mp:10,test_retrieve_mpd:10,test_sit:19,test_stat:22,test_symmetri:19,test_thermo:15,test_util:12,thermo:[5,14],tholander_nitrid:3,tip:7,ucsb_thermoelectr:3,univers:1,updat:[2,7],upload:2,util:[5,11,21,22,25,26,27],via:7,what:4,wolverton_oxid:3,your:2}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "contributors", "dataset_addition_guide", "dataset_summary", "example_bulkmod", "featurizer_summary", "index", "installation", "matminer", "matminer.data_retrieval", "matminer.data_retrieval.tests", "matminer.datasets", "matminer.datasets.tests", "matminer.featurizers", "matminer.featurizers.composition", "matminer.featurizers.composition.tests", "matminer.featurizers.site", "matminer.featurizers.site.tests", "matminer.featurizers.structure", "matminer.featurizers.structure.tests", "matminer.featurizers.tests", "matminer.featurizers.utils", "matminer.featurizers.utils.tests", "matminer.figrecipes", "matminer.figrecipes.tests", "matminer.utils", "matminer.utils.data_files", "matminer.utils.tests", "modules"], "filenames": ["changelog.rst", "contributors.rst", "dataset_addition_guide.rst", "dataset_summary.rst", "example_bulkmod.rst", "featurizer_summary.rst", "index.rst", "installation.rst", "matminer.rst", "matminer.data_retrieval.rst", "matminer.data_retrieval.tests.rst", "matminer.datasets.rst", "matminer.datasets.tests.rst", "matminer.featurizers.rst", "matminer.featurizers.composition.rst", "matminer.featurizers.composition.tests.rst", "matminer.featurizers.site.rst", "matminer.featurizers.site.tests.rst", "matminer.featurizers.structure.rst", "matminer.featurizers.structure.tests.rst", "matminer.featurizers.tests.rst", "matminer.featurizers.utils.rst", "matminer.featurizers.utils.tests.rst", "matminer.figrecipes.rst", "matminer.figrecipes.tests.rst", "matminer.utils.rst", "matminer.utils.data_files.rst", "matminer.utils.tests.rst", "modules.rst"], "titles": ["MatMiner Changelog", "MatMiner Contributors", "Guide to adding datasets to matminer", "Table of Datasets", "Predicting bulk moduli with matminer", "bandstructure", "matminer (Materials Data Mining)", "Installing matminer", "matminer package", "matminer.data_retrieval package", "matminer.data_retrieval.tests package", "matminer.datasets package", "matminer.datasets.tests package", "matminer.featurizers package", "matminer.featurizers.composition package", "matminer.featurizers.composition.tests package", "matminer.featurizers.site package", "matminer.featurizers.site.tests package", "matminer.featurizers.structure package", "matminer.featurizers.structure.tests package", "matminer.featurizers.tests package", "matminer.featurizers.utils package", "matminer.featurizers.utils.tests package", "matminer.figrecipes package", "matminer.figrecipes.tests package", "matminer.utils package", "matminer.utils.data_files package", "matminer.utils.tests package", "matminer"], "terms": {"start": [0, 1, 13, 18, 21], "v0": [0, 1, 3, 9], "6": [0, 1, 3, 6, 7, 14, 16, 18], "onward": [0, 1], "i": [0, 1, 2, 3, 4, 6, 7, 9, 11, 13, 14, 15, 16, 18, 20, 21, 25], "longer": [0, 1], "maintain": [0, 1, 2, 18], "pleas": [0, 1, 6, 9, 14, 16, 18, 25], "check": [0, 1, 2, 6, 13, 14, 15, 18, 21], "github": [0, 1, 4, 6, 7, 9, 13, 16, 18, 25], "commit": [0, 2], "log": [0, 7, 18], "record": [0, 3, 9, 25], "chang": [0, 3, 6, 9, 13, 14, 16, 20, 25], "5": [0, 3, 9, 13, 14, 16, 18, 21], "updat": [0, 13, 18, 20], "bv": [0, 18], "paramet": [0, 3, 5, 9, 13, 14, 16, 18, 20, 25], "2020": [0, 3, 14], "version": [0, 2, 3, 6, 7, 11, 16], "exist": [0, 2, 3, 5, 13, 14, 18, 25], "2016": [0, 3, 9, 16, 18, 25], "includ": [0, 2, 3, 5, 6, 7, 9, 11, 13, 14, 16, 18, 20, 25], "error": [0, 3, 6, 9, 13, 16, 18, 25], "rh4": 0, "fix": [0, 2, 13, 16], "matbench": [0, 3, 6, 12], "dataset": [0, 4, 8, 13, 14, 25, 28], "url": [0, 2, 3, 9], "4": [0, 3, 6, 9, 16, 18], "make": [0, 3, 6, 7, 9, 13, 16, 18, 21, 25], "basefeatur": [0, 5, 8, 13, 14, 16, 18, 20], "an": [0, 2, 3, 4, 5, 6, 9, 13, 14, 16, 17, 18, 20, 25], "abc": [0, 13], "abstractmethod": 0, "j": [0, 3, 6, 9, 14, 16, 18, 25], "riebesel": [0, 1], "default": [0, 2, 3, 9, 11, 13, 14, 16, 18, 20, 25], "ewald": [0, 3, 16, 18], "summat": [0, 16, 18], "per": [0, 3, 4, 5, 9, 14, 18], "atom": [0, 3, 4, 5, 6, 9, 13, 14, 16, 18, 25], "featur": [0, 3, 8, 11, 25, 28], "name": [0, 2, 3, 5, 9, 11, 13, 14, 16, 18, 20, 21, 25], "reflect": [0, 3, 14, 16], "thi": [0, 2, 3, 4, 5, 6, 9, 13, 14, 16, 18, 20, 21, 25], "A": [0, 2, 3, 5, 6, 9, 13, 14, 16, 18, 20, 25], "jain": [0, 1, 3, 6, 9, 13, 14, 16, 18, 20, 25], "add": [0, 2, 3, 5, 6, 13, 20], "descript": [0, 2, 3, 5, 9, 11, 13], "magpi": [0, 14, 25], "dunn": [0, 1, 3, 6], "correct": [0, 3, 16, 18, 25], "yield": [0, 3, 18], "strength": [0, 3, 11, 13, 14, 16], "being": [0, 2, 3, 11, 13, 18, 21], "accident": 0, "gpa": [0, 3, 4, 6], "instead": [0, 1, 13, 16, 18], "mpa": [0, 3], "minor": [0, 3], "b": [0, 3, 9, 13, 14, 16, 18, 25], "krull": [0, 1], "ganos": [0, 1, 3], "3": [0, 3, 6, 7, 9, 14, 16, 18, 21, 25], "intersticedistribut": [0, 5, 13, 16], "q": [0, 6, 16, 21], "wang": [0, 1, 3, 6, 16], "dimension": [0, 3, 5, 13, 16, 18], "more": [0, 2, 3, 4, 5, 6, 9, 13, 14, 16, 18, 20, 25], "accur": [0, 3, 13, 14, 18, 20], "cohesiveenergymp": [0, 5, 13, 14], "get": [0, 5, 9, 11, 13, 14, 16, 18, 21, 25], "mp": [0, 3, 9, 11], "cohes": [0, 5, 14, 25], "energi": [0, 3, 5, 11, 13, 14, 16, 18, 25], "from": [0, 2, 3, 6, 7, 9, 11, 13, 14, 16, 18, 19, 21, 25], "rester": 0, "dataretriev": [0, 9], "decod": [0, 5, 9, 13, 25], "entiti": 0, "depend": [0, 2, 3, 9, 13, 14, 16, 18, 20, 25], "test": [0, 3, 4, 6, 8, 9, 11, 13, 14, 16, 18, 21, 23, 25], "misc": [0, 3, 8, 13], "document": [0, 6, 7, 9, 13, 14, 16, 20, 25], "l": [0, 3, 6, 16, 18, 25], "ward": [0, 1, 3, 6, 16, 18, 19, 25], "": [0, 2, 3, 4, 6, 9, 11, 13, 14, 16, 18, 20, 25], "p": [0, 3, 5, 9, 13, 14, 16, 18, 25], "ong": [0, 1, 3, 9, 25], "2": [0, 3, 6, 9, 13, 14, 16, 18, 21, 25], "forum": [0, 6, 7], "discours": [0, 6], "link": [0, 2, 3, 9, 13, 16], "structuralcomplex": [0, 5, 13, 18], "k": [0, 3, 6, 9, 13, 14, 16, 18], "muraoka": [0, 1], "resolv": [0, 16], "option": [0, 2, 3, 4, 9, 11, 13, 16, 18, 21, 25], "requir": [0, 2, 3, 5, 7, 9, 13, 14, 16, 18, 20], "problem": [0, 3, 6, 7], "sklearn": [0, 4, 25], "refer": [0, 3, 5, 9, 11, 13, 14, 16, 18, 20], "dscribe": [0, 5, 16], "1": [0, 3, 5, 6, 9, 13, 14, 16, 18, 21, 25], "wa": [0, 2, 3, 16, 18], "skip": 0, "due": [0, 3], "upload": 0, "issu": [0, 3, 7], "0": [0, 2, 3, 4, 6, 9, 13, 14, 16, 18, 20, 21, 25], "ensur": [0, 2, 3, 13, 18], "yang": [0, 5, 14], "omega": [0, 14], "never": 0, "nan": [0, 4, 6, 9, 11, 13, 18, 25], "yangsolidsolut": [0, 5, 13, 14], "complet": [0, 3, 4, 13], "sum": [0, 3, 13, 14, 16, 18], "tabl": [0, 5, 6, 14, 18, 25], "some": [0, 2, 3, 6, 7, 9, 13, 14, 16, 21, 25], "code": [0, 3, 6, 7, 9, 13, 16, 25], "cleanup": 0, "n": [0, 2, 3, 6, 13, 14, 16, 18, 21, 25], "wagner": [0, 1], "9": [0, 3, 25], "meredig": [0, 3, 5, 13, 14], "composit": [0, 3, 4, 6, 8, 11, 13, 16, 20, 21, 25], "trewartha": [0, 1], "miedema": [0, 5, 13, 14, 25], "model": [0, 2, 3, 5, 6, 9, 13, 14, 16, 25], "latest": [0, 3, 7], "pymatgen": [0, 3, 4, 5, 6, 7, 9, 13, 14, 16, 18, 25], "8": [0, 3, 16, 25], "optim": [0, 3, 14, 18], "global": [0, 5, 18], "instabl": [0, 5, 18], "index": [0, 3, 5, 6, 9, 13, 14, 16, 18, 20, 25], "7": [0, 3, 4, 14, 18], "remov": [0, 3, 4, 9, 25], "soap": [0, 5, 13, 16], "normal": [0, 13, 16, 18, 25], "flag": [0, 18], "murakoa": 0, "precheck": [0, 8, 13, 14, 18, 20], "improv": [0, 3, 6], "structur": [0, 2, 3, 6, 8, 9, 11, 13, 14, 16, 17, 20, 25], "type": [0, 2, 3, 6, 7, 13, 14, 16, 18, 20], "doc": [0, 3, 9, 13], "cgcnn": 0, "citrin": [0, 1, 3, 6, 9, 11], "d": [0, 3, 5, 9, 13, 14, 16, 18, 25], "nishikawa": [0, 1], "bond": [0, 6, 8, 13, 25], "valenc": [0, 3, 5, 13, 14, 18, 25], "data": [0, 2, 3, 5, 8, 9, 11, 13, 14, 16, 18, 20, 21, 28], "mpdataretriev": [0, 4, 6, 8, 9], "citat": [0, 2, 3, 8, 9, 11, 13, 14, 16, 18, 20, 25], "implementor": [0, 8, 13, 14, 16, 18, 20], "list": [0, 1, 2, 3, 5, 6, 9, 11, 13, 14, 16, 18, 20, 21, 25], "bug": 0, "c": [0, 3, 4, 7, 9, 13, 14, 18, 25], "legaspi": [0, 1], "precheck_datafram": [0, 8, 13, 14, 18, 20], "function": [0, 2, 3, 6, 8, 9, 11, 14, 16, 18, 20, 21, 25, 28], "can": [0, 2, 3, 4, 6, 7, 9, 13, 14, 16, 18, 20, 21, 25], "us": [0, 2, 3, 5, 6, 7, 9, 13, 14, 16, 18, 20, 21, 25], "quickli": [0, 2, 6, 14], "see": [0, 2, 3, 4, 6, 7, 9, 11, 13, 14, 16, 18, 20, 21, 25], "like": [0, 2, 3, 5, 6, 9, 13, 14, 16, 18, 20, 21], "give": [0, 13, 16, 18], "valu": [0, 3, 4, 6, 9, 11, 13, 14, 16, 18, 21, 25], "megnet": [0, 25], "1neuron": 0, "element": [0, 3, 6, 8, 9, 13, 16, 18, 20, 21, 25], "embed": [0, 25], "inplac": [0, 13], "set": [0, 2, 3, 4, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 25, 27], "cherfaoui": [0, 1], "convers": [0, 8, 9, 28], "most": [0, 3, 5, 13, 14, 18, 20], "stabl": [0, 3, 13, 14, 16, 25], "elementproperti": [0, 4, 5, 13, 14], "sourc": [0, 2, 3, 6, 7, 9, 14, 16, 25], "label": [0, 6, 13, 14, 16, 18, 20, 21, 25], "api": [0, 4, 6, 9, 13, 14], "kei": [0, 3, 4, 9, 13, 14, 16, 18, 20, 25], "detect": [0, 9, 16], "logic": 0, "matscimalcolm": 0, "typo": 0, "got": [0, 6, 25], "introduc": [0, 3], "pypi": [0, 9], "releas": 0, "better": [0, 13], "flatten": [0, 5, 9, 13, 16, 18, 21, 25], "coloumbmatrix": 0, "them": [0, 3, 9, 13, 16, 18, 21], "usabl": [0, 2], "packag": [0, 2, 3, 6, 28], "dosasymmetri": [0, 5, 8, 13], "m": [0, 3, 6, 9, 14, 16, 18, 25], "dylla": [0, 1, 6], "aflow": [0, 9], "retriev": [0, 2, 3, 4, 9, 11, 13, 14, 16, 25], "sitedo": [0, 5, 8, 13], "variou": [0, 3, 6, 9, 16, 18], "py3": 0, "pytorch": 0, "pip": [0, 9], "setup": [0, 2, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 25, 27], "jarvi": [0, 3, 5, 11, 18], "file": [0, 3, 9, 11, 16, 25], "configur": [0, 14], "t": [0, 2, 3, 5, 11, 13, 14, 16, 18, 25], "xie": [0, 1], "text": [0, 4], "mine": [0, 6, 8], "brgoch": [0, 3], "dopp": [0, 1, 3], "quartil": 0, "propertystat": [0, 13, 14, 21], "cfid": [0, 3, 5, 18], "descriptor": [0, 2, 3, 5, 11, 14, 16, 18], "choudhari": [0, 1, 3, 25], "allow": [0, 6, 9, 13, 16, 18], "oxi": 0, "return": [0, 2, 5, 9, 11, 13, 14, 16, 18, 20, 21, 25], "origin": [0, 2, 3, 6, 9, 13, 14, 16, 18, 25], "object": [0, 2, 3, 5, 6, 9, 13, 14, 16, 18, 21, 25], "contribut": [0, 1, 3, 5, 13, 14, 16, 18], "miss": [0, 2, 9, 14, 25], "loader": [0, 2, 6], "mdf": [0, 7, 9], "unit": [0, 2, 3, 9, 14, 16, 18], "mai": [0, 3, 9, 13, 16, 18, 25], "work": [0, 2, 3, 6, 9, 13, 14, 18, 20, 21], "properli": [0, 2, 20], "further": [0, 1, 3, 5, 9, 13, 14, 16, 18], "revamp": 0, "manag": [0, 3], "chunksiz": [0, 8, 13], "multiprocess": [0, 6, 13], "should": [0, 2, 3, 9, 13, 14, 16, 18, 20, 21, 25], "perform": [0, 2, 3, 5, 13], "oxid": [0, 3, 5, 6, 8, 11, 13, 14, 18, 25], "state": [0, 3, 6, 9, 13, 14, 18, 21, 25], "exampl": [0, 2, 4, 7, 9, 13, 14, 16, 18, 21, 25], "class": [0, 2, 3, 6, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 25, 27], "support": [0, 2, 9, 13, 14, 16, 25], "datafram": [0, 2, 5, 9, 11, 13, 14, 16, 18, 20, 25], "bandcent": [0, 5, 13, 14], "larg": [0, 3, 14, 16, 18], "coeffici": [0, 3, 9, 16], "faghaninia": [0, 1, 6], "multifeatur": [0, 20], "custom": [0, 6], "progress": [0, 11, 13, 25], "bar": [0, 11, 13, 14, 25], "run": [0, 2, 3, 5, 7, 10, 11, 13, 16, 18], "notebook": [0, 4, 6], "multi": [0, 13], "featurizers": 0, "refactor": 0, "util": [0, 2, 6, 8, 13, 14, 16, 28], "consist": [0, 2, 3, 6, 16, 18], "parallel": [0, 6, 13], "averag": [0, 3, 5, 6, 13, 14, 16, 18, 21], "length": [0, 5, 6, 13, 16, 18], "angl": [0, 3, 5, 14, 16, 18], "implement": [0, 5, 9, 13, 14, 16, 18, 20, 25], "rui": [0, 1], "abil": [0, 3, 5, 13, 18, 20], "serial": 0, "json": [0, 2, 3, 5, 6, 9, 13, 25], "montyencod": [0, 2], "ad": [0, 3, 6, 9, 13, 14, 16, 18, 21, 25], "fraction": [0, 5, 13, 14, 16, 18, 21], "atomicorbit": [0, 5, 13, 14], "ofm": [0, 18], "functionfeatur": [0, 5, 8, 13], "montoya": [0, 1, 6], "bugfix": 0, "properti": [0, 2, 3, 4, 5, 6, 8, 9, 13, 14, 16, 18, 19, 21, 25], "seko": [0, 16], "represent": [0, 3, 5, 6, 9, 13, 18, 25], "multiplefeatur": [0, 5, 8, 13], "compat": [0, 6, 9, 13, 25], "intuit": 0, "input": [0, 3, 5, 7, 9, 13, 14, 16, 18, 20], "argument": [0, 2, 6, 9, 13, 18, 21, 25], "featurize_mani": [0, 8, 13], "boop": [0, 16], "thompson": [0, 1], "progressbar": 0, "lookuip": 0, "magpiedata": [0, 8, 13, 14, 16, 25], "site": [0, 3, 6, 8, 13, 14, 20, 25], "covari": [0, 18], "skew": [0, 13, 21], "kurtosi": [0, 13, 21], "new": [0, 2, 3, 9, 13, 16, 21], "scheme": [0, 2, 16], "grdf": [0, 5, 8, 13, 16], "af": [0, 5, 16], "bin": [0, 16, 18, 21], "bandedg": 0, "renam": [0, 2, 3], "hybrid": [0, 5, 8, 13], "smoother": [0, 7], "hoverinfo": 0, "mani": [0, 3, 6, 13, 14, 16, 18, 20], "plot": [0, 6], "unsupport": 0, "abort": 0, "faster": [0, 16], "gaussiansymmfunc": [0, 5, 13, 16], "resili": 0, "atomicpackingeffici": [0, 5, 13, 14], "prdf": [0, 5, 16, 18], "tsv": 0, "package_data": 0, "instal": [0, 9], "gdrf": 0, "william": [0, 1, 3], "messag": [0, 4, 18], "tool": [0, 2, 4, 6, 9, 14, 16], "pipelin": [0, 3, 6, 8, 13, 28], "integr": [0, 5, 16, 18], "brenneck": [0, 1], "chemic": [0, 3, 6, 8, 9, 13, 14, 18], "cnfingerprint": 0, "zimmermann": [0, 1, 6], "hat": [0, 16], "tip": 0, "dwaraknath": [0, 3], "phase": [0, 3, 9, 14], "diagram": [0, 3, 9], "triangl": 0, "harmon": [0, 3, 5, 16], "mean": [0, 3, 4, 5, 9, 13, 14, 16, 18, 21, 25], "holder_mean": [0, 13, 21], "xrdpowderpattern": [0, 5, 13, 18], "xy": [0, 6], "debug": 0, "deprec": [0, 9], "crystalsitefingerprint": 0, "few": [0, 6], "old": 0, "unus": [0, 16, 18, 25], "op": [0, 16, 18], "method": [0, 3, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 25, 27], "etc": [0, 3, 6, 7, 9, 13, 14, 18, 20, 25], "stackedfeatur": [0, 5, 8, 13], "branchpointenergi": [0, 5, 8, 13], "major": [0, 13], "overhaul": 0, "redesign": 0, "solid": [0, 3, 14, 16, 18, 25], "solut": [0, 3, 14], "cluster": [0, 5, 14, 16], "pack": [0, 8, 13, 16, 18], "effici": [0, 3, 5, 9, 14, 18, 25], "pycc": 0, "bajaj": [0, 1, 6], "branch": [0, 5, 13], "point": [0, 3, 5, 6, 13, 16], "take": [0, 2, 3, 6, 9, 13, 16, 21, 25], "account": [0, 2, 3, 16, 18], "symmetri": [0, 8, 13, 16], "cach": [0, 8, 13, 16, 20, 28], "crystalnnfingerprint": [0, 5, 13, 16], "x": [0, 3, 4, 5, 6, 9, 13, 14, 16, 18, 20, 21, 25], "y": [0, 3, 4, 13, 16, 18, 20, 25], "speedup": 0, "chemenv": [0, 16], "waroqui": [0, 1], "heterogen": [0, 16], "maximum": [0, 3, 5, 9, 13, 14, 16, 18, 21], "order": [0, 3, 6, 8, 13, 14, 16], "bagofbond": [0, 5, 13, 18], "base": [0, 2, 3, 6, 8, 9, 11, 14, 16, 18, 20, 21, 22, 25, 27, 28], "paper": [0, 6, 11, 13, 16, 18], "now": [0, 4], "bondfract": [0, 5, 13, 18], "dopingfermi": [0, 5, 8, 13], "shortcut": 0, "static": [0, 2, 3, 9, 13, 14, 16, 18, 20, 21], "mode": [0, 3, 4, 9, 13, 16, 18, 21, 25], "output": [0, 4, 5, 6, 7, 9, 13, 16, 18, 25], "plotlyfig": [0, 4, 6], "figrecip": [0, 6], "fit_featur": 0, "dep": 0, "combin": [0, 3, 11, 13, 14, 16, 18, 25], "mini": 0, "n_job": [0, 4, 8, 13], "cpu_count": 0, "move": 0, "jupyt": [0, 6], "matminer_exampl": [0, 6], "repo": [0, 6], "separ": [0, 2, 3, 9, 13, 18, 21], "preset": [0, 13, 14, 16, 18], "circleci": [0, 2], "modifi": [0, 2, 13], "chemicalrso": 0, "fit": [0, 6, 8, 9, 13, 16, 18, 20, 25], "bostrom": 0, "yaml": 0, "rework": 0, "subclass": [0, 9, 13, 14, 16, 18, 20], "baseestim": [0, 13, 25], "transformermixin": [0, 13, 25], "need": [0, 2, 9, 13, 14, 16, 18], "column": [0, 2, 3, 4, 6, 9, 11, 13, 14, 18, 25], "clean": [0, 3, 25], "up": [0, 3, 7, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 27], "getter": [0, 4], "signatur": [0, 16, 18], "re": [0, 7], "adapt": [0, 3, 4, 6, 18], "voronoifingerprint": [0, 5, 13, 16], "chemicalsro": [0, 5, 13, 16], "slighli": 0, "py2": 0, "offici": [0, 9], "drop": [0, 2, 11, 25], "upgrad": [0, 7], "python": [0, 2, 5, 6, 7, 13, 16, 25], "panda": [0, 2, 3, 6, 9, 13, 16, 25], "coordinationnumb": [0, 5, 13, 16, 18], "nearneighbor": [0, 14, 16, 18, 25], "algo": 0, "fingerprint": [0, 8, 13], "opstructurefingerprint": 0, "sitestatsfingerprint": [0, 5, 13, 18], "ani": [0, 2, 3, 5, 6, 13, 14, 16, 18, 20, 21, 25], "format": [0, 2, 3, 4, 5, 6, 9, 11, 13, 14, 16, 18, 20, 25], "feature_label": [0, 8, 13, 14, 16, 18, 20], "alwai": [0, 3, 9, 25], "bystrom": [0, 1, 6], "multipl": [0, 2, 3, 5, 13, 14, 16, 18, 20, 21], "outdat": 0, "intern": [0, 3, 9, 25], "advanc": [0, 3, 6, 9, 16], "bcc": [0, 14, 16], "renorm": 0, "sampl": [0, 3, 9, 13], "sever": [0, 2, 3, 4, 13, 18, 25], "turn": [0, 2, 6, 16, 25], "string": [0, 3, 5, 6, 9, 11, 13, 14, 16, 18, 20, 21, 25], "dict": [0, 5, 9, 13, 14, 16, 18], "extend": [0, 3, 18], "ternari": [0, 3, 14], "higher": [0, 7, 9], "do": [0, 2, 6, 8, 9, 14, 16, 18, 20, 28], "lot": 0, "review": [0, 3], "trim": 0, "bsfeatur": 0, "dosfeatur": [0, 5, 8, 13], "cnsitefingerprint": 0, "goe": 0, "cn": [0, 16], "16": [0, 3, 18], "two": [0, 2, 3, 9, 13, 14, 16, 18, 21, 25], "stat": [0, 4, 8, 13, 14, 16, 18], "doubl": [0, 3], "colon": [0, 21], "underscor": [0, 13], "param": [0, 16, 18], "voronoi": [0, 5, 16, 18], "citrinedataretriev": [0, 6, 8, 9], "bandstructurefeatur": 0, "featurize_datafram": [0, 4, 6, 8, 13], "ignor": [0, 4, 21], "patch": 0, "cation": [0, 3, 5, 14, 18, 25], "anion": [0, 5, 14, 18, 25], "onli": [0, 2, 3, 9, 11, 13, 14, 16, 18, 25], "degeneraci": [0, 13], "cbm": [0, 3, 13], "vbm": [0, 3, 13], "bandfeatur": [0, 5, 8, 13], "agnifingerprint": [0, 5, 13, 16], "band": [0, 3, 5, 6, 9, 13, 14], "coulombmatrix": [0, 5, 13, 18], "sinecoulombmatrix": [0, 5, 13, 18], "orbitalfieldmatrix": [0, 5, 13, 18], "interfac": [0, 2, 5, 6, 9, 16, 25], "git": [0, 7], "lf": 0, "csv": [0, 14, 25], "determin": [0, 2, 3, 5, 13, 14, 16, 18, 25], "complex": [0, 3, 13, 18], "mongo": [0, 9], "queri": [0, 6, 9, 11], "project": [0, 2, 3, 5, 6, 9, 11, 13, 14, 25], "enforc": 0, "lower": [0, 3, 9], "case": [0, 3, 9, 13, 14, 16, 18], "sort": [0, 9, 11, 13, 16, 18, 21], "number": [0, 3, 4, 5, 6, 9, 11, 13, 14, 16, 18, 19], "electroneg": [0, 5, 6, 14, 16, 25], "avoid": [0, 13, 16], "pernici": 0, "behavior": [0, 3, 9, 13, 14], "oop": 0, "style": [0, 6, 9, 13], "codebas": 0, "chen": [0, 1, 3, 6, 25], "mathew": [0, 1], "aggarw": [0, 1], "frost": [0, 1], "mpd": [0, 6, 9], "e": [0, 3, 5, 6, 9, 13, 14, 16, 18, 20, 21, 25], "blokhin": [0, 1, 9], "partial": [0, 5, 13, 16, 18], "rdf": [0, 8, 13], "local": [0, 3, 5, 6, 14, 16, 19], "environ": [0, 3, 4, 5, 6, 9, 11, 16, 18], "motif": [0, 3, 16], "For": [0, 2, 3, 6, 7, 9, 13, 14, 16, 18, 21], "befor": [0, 3, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 27], "consult": [0, 25], "histori": 0, "led": 1, "anubhav": [1, 3, 13, 14, 16, 18, 20], "hackingmateri": [1, 7], "research": [1, 2, 3, 6, 9, 25], "lawrenc": 1, "berkelei": 1, "nation": [1, 3], "lab": 1, "saurabh": 1, "through": [1, 3, 6, 13, 25], "informat": [1, 3, 6], "alireza": 1, "nil": 1, "qi": [1, 3], "sayan": 1, "rowchowdhuri": 1, "alex": [1, 3], "jason": [1, 3], "julien": 1, "daniel": [1, 3], "sami": 1, "logan": [1, 3], "jime": 1, "ashwin": 1, "aik": 1, "kiran": 1, "matt": 1, "horton": [1, 3], "donni": 1, "winston": [1, 3], "joseph": 1, "koki": 1, "christian": 1, "kyle": 1, "asta": [1, 3, 6], "uc": 1, "shyue": [1, 3, 25], "ping": [1, 3, 25], "san": [1, 25], "diego": [1, 25], "evgeni": 1, "tild": 1, "max": [1, 3, 9, 14, 16, 18, 25], "snyder": [1, 3, 6], "northwestern": 1, "david": [1, 3, 25], "louvain": 1, "belgium": 1, "u": [1, 3, 6, 25], "michigan": 1, "ann": 1, "arbor": 1, "aidan": 1, "sandia": 1, "kamal": [1, 3], "nist": [1, 3, 14, 18], "tian": 1, "mit": [1, 3], "daiki": 1, "nichola": 1, "amali": 1, "janosh": 1, "brandon": 1, "all": [2, 3, 4, 5, 6, 9, 11, 12, 13, 14, 16, 18, 20, 21, 25], "inform": [2, 3, 5, 6, 7, 9, 11, 13, 14, 16, 18, 20], "current": [2, 3, 13], "10": [2, 3, 4, 9, 13, 14, 16, 18, 25], "24": [2, 3], "2018": [2, 3, 6, 9], "In": [2, 3, 13, 14, 16, 18, 25], "addit": [2, 3, 6, 11, 13, 16], "provid": [2, 3, 6, 9, 11, 13, 14, 16, 20, 21, 25], "standard": [2, 3, 9, 16, 18, 21], "materi": [2, 3, 8, 9, 11, 13, 14, 16, 18, 25], "scienc": [2, 3, 6, 9, 16, 25], "databas": [2, 3, 4, 6, 9, 14], "also": [2, 3, 6, 7, 9, 13, 14, 16, 18, 20, 25], "suit": [2, 3, 13], "pre": [2, 6, 13, 16], "store": [2, 11, 13, 16, 25], "compress": [2, 3, 14, 25], "These": [2, 3, 9, 13, 14, 16, 18, 25], "ar": [2, 3, 6, 7, 9, 11, 12, 13, 14, 16, 18, 20, 21, 25], "figshar": [2, 3], "academ": 2, "storag": 2, "platform": [2, 7, 9], "each": [2, 3, 5, 9, 11, 13, 14, 16, 18, 20, 21, 25], "discover": 2, "clearli": 2, "contributor": [2, 6, 9, 13], "gener": [2, 3, 9, 11, 13, 14, 16, 18, 20, 21, 25], "said": 2, "serv": 2, "purpos": [2, 3, 5, 9, 13, 14, 25], "first": [2, 3, 5, 7, 9, 13, 14, 16, 18, 21], "wai": [2, 3, 6, 7, 9, 13, 21, 25], "other": [2, 3, 6, 9, 13, 14, 16, 18, 20, 25], "easili": 2, "access": [2, 3, 9, 25], "hack": 2, "group": [2, 3, 4, 5, 16, 18], "second": [2, 9, 13, 14, 18, 21, 25], "commun": [2, 3, 6, 14, 16], "benchmark": [2, 3, 6], "As": [2, 13, 18], "applic": [2, 3, 6, 9, 18, 25], "machin": [2, 3, 5, 6, 9, 13, 14, 16, 18, 25], "learn": [2, 3, 4, 5, 6, 9, 13, 14, 16, 18, 25], "matur": 2, "grow": [2, 6], "train": [2, 3, 4, 6, 11, 13, 16, 18, 20, 25], "compar": [2, 3, 6, 13, 16], "against": [2, 3, 9, 14, 16], "collect": [2, 3, 6, 9, 16, 18], "six": 2, "primari": [2, 13, 21, 25], "step": [2, 9, 16, 18, 25], "The": [2, 3, 5, 6, 9, 11, 13, 14, 16, 18, 21, 25], "defin": [2, 3, 4, 5, 9, 13, 14, 16, 18, 25], "how": [2, 3, 5, 6, 13, 16, 18], "handl": [2, 6, 9, 20], "avail": [2, 3, 4, 6, 9, 11, 13, 14, 16, 18, 20, 25], "edit": [2, 3, 25], "place": [2, 13, 14, 16, 18], "either": [2, 3, 6, 9, 13, 14, 16, 18, 20], "within": [2, 3, 6, 11, 13, 14, 16, 18, 25], "dev_script": 2, "dataset_manag": 2, "folder": [2, 7, 11], "assum": [2, 3, 13, 14, 21], "encod": [2, 25], "monti": 2, "prep_dataset_for_figshar": 2, "py": [2, 4, 7, 18, 25], "written": [2, 13], "expedit": 2, "process": [2, 3, 6, 11, 13, 14, 18], "If": [2, 3, 4, 6, 7, 9, 11, 13, 14, 16, 18, 20, 21, 25], "modif": [2, 3], "content": [2, 3, 28], "one": [2, 3, 5, 9, 13, 14, 16, 18, 20, 25], "simpli": [2, 7, 25], "convert": [2, 5, 6, 9, 13, 18, 25], "desir": [2, 14, 16, 21], "so": [2, 9, 13, 16, 18], "fp": 2, "path": [2, 3, 11, 25], "ct": 2, "compression_typ": 2, "gz": [2, 25], "bz2": [2, 25], "directori": 2, "given": [2, 3, 5, 13, 14, 16, 18], "crawl": 2, "try": [2, 6, 7, 9, 25], "prep": 2, "dataset_to_json": 2, "along": [2, 3, 13], "txt": [2, 25], "contain": [2, 3, 5, 6, 9, 11, 13, 14, 16, 18, 21], "which": [2, 3, 6, 9, 13, 14, 16, 18, 20, 21, 25], "later": [2, 3], "doe": [2, 3, 6, 9, 13, 14, 16, 18, 25], "made": [2, 3, 25], "you": [2, 4, 5, 6, 7, 9, 13, 14, 16, 18, 21], "would": [2, 6, 13, 21], "user": [2, 3, 6, 7, 9, 13, 14, 16, 25], "small": [2, 13, 14, 16], "prior": [2, 3, 18], "select": [2, 5, 6, 13, 25], "write": [2, 13, 25], "preprocessor": 2, "necessari": [2, 13, 16], "tupl": [2, 9, 11, 13, 16, 18, 20, 25], "form": [2, 3, 4, 9, 13, 14, 16, 18], "string_of_dataset_nam": 2, "produc": [2, 3, 5, 13, 18], "than": [2, 3, 5, 9, 13, 14, 16, 18, 20, 25], "dataset_name_1": 2, "dataset_name_2": 2, "df_1": 2, "df_2": 2, "def": 2, "_preprocess_heusler_magnet": 2, "file_path": 2, "df": [2, 6, 9, 13, 16, 25], "_read_dataframe_from_fil": 2, "dropcol": 2, "gap": [2, 3, 6, 9, 11, 13], "width": [2, 3, 4, 16, 18, 21], "stabil": [2, 3], "axi": [2, 3, 18], "heusler_magnet": 2, "here": [2, 3, 4, 6, 12, 13, 16, 18, 25], "simpl": [2, 3, 6, 9, 16], "what": [2, 9, 11, 13, 16], "pass": [2, 13, 14, 16, 18, 20, 21, 25], "keyword": [2, 3, 9, 11, 13, 18, 21], "underli": [2, 9, 18], "_preprocess_double_perovskites_gap": 2, "pd": [2, 4, 6, 11, 13], "read_excel": 2, "sheet_nam": 2, "bandgap": [2, 3, 13, 14], "a1_atom": 2, "a_1": [2, 3], "b1_atom": 2, "b_1": [2, 3], "a2_atom": 2, "a_2": [2, 3], "b2_atom": 2, "b_2": [2, 3], "lumo": [2, 3, 5, 11, 14], "double_perovskites_gap": [2, 11], "double_perovskites_gap_lumo": [2, 11], "dictionari": [2, 3, 6, 9, 13, 14, 16, 18, 20, 25], "map": [2, 3, 4, 9, 13, 16], "identifi": [2, 3, 9, 11, 16, 18], "call": [2, 9, 13, 14, 16, 18, 21], "_datasets_to_preprocessing_routin": 2, "elastic_tensor_2015": [2, 6], "_preprocess_elastic_tensor_2015": 2, "piezoelectric_tensor": [2, 11], "_preprocess_piezoelectric_tensor": 2, "wolverton_oxid": 2, "_preprocess_wolverton_oxid": 2, "m2ax_elast": 2, "_preprocess_m2ax": 2, "your_dataset_file_nam": 2, "your_preprocessor": 2, "onc": 2, "done": [2, 3, 9, 13, 18], "readi": [2, 13, 18], "open": [2, 3, 6, 7, 25], "servic": [2, 9], "follow": [2, 6, 7, 9, 13, 14, 16, 18], "procedur": [2, 3], "when": [2, 3, 9, 11, 13, 14, 16, 18, 20, 21, 25], "similar": [2, 3, 5, 6, 9, 14, 18], "protocol": 2, "well": [2, 3, 6, 13, 14, 16, 18], "entri": [2, 3, 4, 9, 11, 13, 14, 18, 20, 21], "fill": [2, 25], "out": [2, 3, 4, 6, 13, 18], "carefulli": 2, "expect": [2, 9, 13, 14, 16], "qualiti": [2, 20], "outsid": 2, "thoroughli": 2, "cite": [2, 3, 9, 13], "dataset_metadata": 2, "automat": [2, 6, 13, 14, 18, 25], "proper": [2, 13], "regularli": 2, "thei": [2, 3, 9, 13, 25], "match": [2, 3, 9, 13, 18], "while": [2, 3, 9], "appropri": 2, "manual": [2, 3], "prefer": [2, 9, 16], "helper": [2, 9, 11, 25], "modify_dataset_metadata": 2, "bulk": [2, 3, 6, 14, 25], "prevent": [2, 16, 18], "mistak": 2, "guidelin": 2, "attribut": [2, 4, 5, 6, 11, 13, 14, 16, 18, 19, 20, 25], "download": [2, 3, 9, 11], "individu": [2, 9, 13], "item": [2, 11, 13, 18], "specif": [2, 3, 5, 6, 7, 9, 14, 16, 18, 21, 25], "replac": [2, 9, 18], "newli": 2, "look": [2, 9, 11, 14, 16, 21], "over": [2, 3, 9, 13, 14, 16, 18], "conveni": [2, 6, 9, 11, 25], "explicitli": [2, 13, 16, 18], "singl": [2, 3, 13, 14, 18, 20, 25], "oppos": [2, 13], "post": [2, 7], "filter": [2, 4, 6, 9, 13], "after": [2, 3, 9, 13, 17, 21, 27], "ha": [2, 3, 6, 13, 14, 16, 18, 20, 21], "been": [2, 3, 6, 13, 14, 18], "alongsid": [2, 3], "save": [2, 13], "datasettest": [2, 11, 12], "unittest": 2, "testcas": [2, 10, 12, 20, 22, 27], "self": [2, 13, 16, 18, 20], "dataset_nam": [2, 11, 12], "flla": [2, 11], "test_dataset": [2, 8, 11], "its": [2, 3, 5, 6, 13, 14, 16, 18, 20], "describ": [2, 3, 4, 5, 7, 13, 14, 16, 18, 25], "info": [2, 5, 9, 11, 13, 16], "typic": 2, "univers": [2, 3, 25], "specifi": [2, 3, 4, 6, 9, 11, 13, 14, 18, 21], "test_dielectric_const": [2, 11, 12], "object_head": [2, 12], "material_id": [2, 3, 6, 9], "formula": [2, 3, 9, 11, 13, 14, 18], "e_electron": [2, 3], "e_tot": [2, 3], "cif": [2, 3, 11, 25], "meta": [2, 3, 11], "poscar": [2, 3, 11], "numeric_head": [2, 12], "nsite": [2, 3, 4, 18], "space_group": [2, 3], "volum": [2, 3, 4, 5, 13, 16, 18, 21], "band_gap": [2, 3, 4, 6, 9, 13], "poly_electron": [2, 3], "poly_tot": [2, 3], "bool_head": [2, 12], "pot_ferroelectr": [2, 3], "uniqu": [2, 3, 9, 13, 16, 18], "_unique_test": 2, "assertequ": 2, "universal_dataset_check": [2, 11, 12], "dielectric_const": [2, 11], "test_func": [2, 12], "convenience_load": [2, 6, 8, 28], "just": [2, 4, 13, 18], "result": [2, 3, 6, 9, 13, 16, 18, 20, 21, 25], "load_dataset": [2, 6, 8, 11], "extra": [2, 13, 18], "subset": [2, 11], "certain": [2, 3, 5, 9, 14, 16, 18, 25], "load_elastic_tensor": [2, 8, 11], "2015": [2, 3, 5, 9, 11, 14, 18], "include_metadata": [2, 11], "fals": [2, 6, 9, 11, 13, 14, 16, 18, 20, 21, 25], "data_hom": [2, 11], "none": [2, 4, 9, 10, 11, 12, 13, 14, 16, 18, 20, 21, 25], "download_if_miss": [2, 11], "true": [2, 3, 4, 6, 9, 11, 13, 14, 16, 18, 20, 25], "elastic_tensor": [2, 3, 11], "arg": [2, 9, 11, 13, 14, 16, 18, 20, 21, 25], "str": [2, 4, 9, 11, 13, 14, 16, 18, 20, 21, 25], "bool": [2, 9, 11, 13, 14, 16, 18, 20, 25], "whether": [2, 3, 9, 11, 13, 14, 15, 16, 18, 20, 21, 25], "where": [2, 3, 6, 9, 11, 13, 14, 16, 18], "loom": 2, "isn": [2, 11], "disk": [2, 11, 25], "_": [2, 3, 13, 14, 16, 18, 25], "kpoint_dens": [2, 3], "find": [3, 5, 6, 9, 13, 14, 16, 18, 25], "45": 3, "matmin": [3, 5], "effect": [3, 16, 19, 25], "mass": [3, 16, 18], "thermoelectr": 3, "8924": 3, "compound": [3, 5, 6, 9, 13, 14, 15, 25], "calcul": [3, 6, 13, 14, 16, 18, 21], "boltztrap": 3, "softwar": 3, "gga": 3, "pbe": 3, "densiti": [3, 4, 6, 9, 13, 16, 18, 25], "theori": [3, 5, 9, 14, 25], "2574": 3, "regressor": 3, "predict": [3, 6, 14, 16, 18, 25], "shear": [3, 6, 14], "modulu": [3, 4, 6, 14], "18": [3, 16], "928": 3, "perovskit": [3, 18], "abx": 3, "combinator": 3, "gllbsc": 3, "report": [3, 5, 13, 14, 25], "absolut": [3, 5, 13, 14, 16, 18, 21], "edg": [3, 5, 13, 16], "posit": [3, 5, 13, 14, 16, 18], "heat": [3, 9, 25], "18928": 3, "thermal": [3, 11], "conduct": [3, 11, 13], "872": 3, "measur": [3, 6, 13, 14, 16, 18], "experiment": [3, 6, 9, 13], "056": 3, "dielectr": 3, "dfpt": 3, "1056": 3, "1306": 3, "o6": 3, "gritsenko": 3, "van": 3, "leeuwen": 3, "lenth": 3, "baerend": 3, "potenti": [3, 16, 18], "gpaw": 3, "supplementari": 3, "55": [3, 6], "181": 3, "elast": [3, 4, 11, 14], "dft": [3, 4, 11], "1181": 3, "enthalpi": [3, 5, 14, 25], "inorgan": [3, 25], "year": 3, "calorimetr": 3, "experi": [3, 6], "1276": 3, "2135": 3, "6354": 3, "semiconductor": [3, 13], "ident": [3, 13, 18], "except": [3, 9, 13, 18], "id": [3, 9, 13], "have": [3, 6, 7, 9, 13, 14, 16, 18], "associ": [3, 5, 11, 13, 18], "same": [3, 5, 7, 9, 11, 13, 14, 16, 18, 21, 25], "4604": 3, "3938": 3, "comput": [3, 4, 5, 6, 9, 13, 14, 16, 18, 20, 21, 25], "crystal": [3, 6, 9, 13, 16, 18, 25], "metal": [3, 5, 13, 14, 16, 18, 25], "glass": [3, 14, 16, 25], "binari": [3, 14], "alloi": [3, 8, 9, 13, 16, 25], "techniqu": [3, 25], "melt": [3, 14], "spin": [3, 13], "mechan": 3, "5959": 3, "duplic": 3, "merg": 3, "5483": 3, "high": [3, 13, 14, 16], "throughput": 3, "sputter": [3, 11], "possibl": [3, 4, 5, 9, 11, 13, 14, 16, 18, 25], "5170": 3, "nonequilibrium": 3, "amorph": [3, 5, 14, 16], "landolt": 3, "b\u00f6rnstein": 3, "7191": 3, "1153": 3, "heusler": [3, 11], "magnet": [3, 5, 11, 14], "electron": [3, 6, 13, 14, 18], "636": 3, "2d": [3, 11, 16], "optb88vdw": 3, "tbmbj": 3, "taken": [3, 13, 16, 25], "25": 3, "923": 3, "25923": 3, "759": 3, "24759": 3, "223": 3, "comprehens": [3, 6, 9], "survei": 3, "cover": 3, "et": [3, 5, 14, 16, 18, 25], "al": [3, 5, 6, 9, 14, 16, 18, 25], "refract": 3, "4764": 3, "alon": [3, 5, 13, 14, 16], "classifi": [3, 13, 18], "4921": 3, "full": [3, 6, 7, 9, 11, 16], "5680": 3, "exfoli": 3, "log10": [3, 6], "vrh": 3, "10987": 3, "132752": 3, "106113": 3, "vibrat": 3, "1265": 3, "steel": [3, 11], "312": 3, "copi": [3, 21], "83989": 3, "phonon": [3, 9], "lattic": [3, 9, 16, 18], "1296": 3, "via": [3, 5, 6, 9, 13, 14, 16, 20], "abinit": 3, "approxim": [3, 14, 16, 18], "perturb": [3, 16], "941": 3, "piezoelectr": 3, "ab": [3, 4, 14, 16, 25], "initio": 3, "transport": 3, "47737": 3, "ultim": [3, 13], "tensil": 3, "extract": [3, 4, 6, 13, 25], "de": [3, 16], "000": [3, 14, 25], "superconduct": 3, "critic": 3, "temperatur": [3, 11, 13, 14], "stanev": 3, "japanes": 3, "institut": [3, 13, 14, 16, 18, 20, 25], "16414": 3, "challeng": 3, "quantum": [3, 18], "divers": 3, "12": [3, 16], "8k": 3, "polymorph": 3, "zn": 3, "ti": [3, 13], "zr": 3, "hf": 3, "system": [3, 5, 7, 9, 11, 14, 16, 18], "12815": 3, "100": [3, 9, 13, 18], "ucsb": 3, "aggreg": [3, 5, 6, 9, 18], "108": [3, 18], "public": [3, 6, 16, 18, 25], "person": 3, "1093": 3, "914": 3, "constant": [3, 14, 16], "vacanc": 3, "4914": 3, "300": [3, 6, 13], "kelvin": [3, 13], "carrier": [3, 13], "concentr": [3, 13, 14], "1e18": [3, 13], "cm3": [3, 13], "m_n": 3, "m_e": 3, "unitless": 3, "ratio": [3, 14], "m_p": 3, "mpid": 3, "pf_n": 3, "power": [3, 6, 16, 21], "factor": [3, 13, 16, 18, 21], "uw": 3, "cm2": 3, "microwatt": 3, "relax": [3, 9], "time": [3, 4, 5, 9, 13, 14, 16, 18], "1e": [3, 13], "14": [3, 16], "pf_p": 3, "s_n": 3, "seebeck": [3, 9], "micro": 3, "volt": 3, "s_p": 3, "ricci": 3, "f": [3, 5, 9, 13, 14, 16], "sci": [3, 6, 25], "170085": 3, "doi": [3, 9, 14, 16, 18, 25], "1038": [3, 14, 25], "sdata": 3, "2017": [3, 9, 16, 18, 19], "85": 3, "w": [3, 5, 9, 13, 16, 25], "aydemir": 3, "rignanes": 3, "g": [3, 5, 6, 9, 13, 14, 16, 18, 20, 21, 25], "hautier": [3, 25], "dryad": 3, "digit": 3, "repositori": [3, 6, 7, 9], "http": [3, 4, 7, 9, 13, 14, 16, 18, 25], "org": [3, 9, 16, 18, 25], "5061": 3, "gn001": 3, "bibtex": [3, 6, 9, 11, 13, 14, 16, 18, 20], "articl": [3, 6], "ricci2017": 3, "author": [3, 6, 13, 14, 16, 18, 20, 25], "francesco": 3, "wei": 3, "umut": 3, "jeffrei": 3, "gian": 3, "marco": 3, "geoffroi": 3, "titl": [3, 9], "journal": [3, 18], "scientif": [3, 6, 25], "month": 3, "jul": 3, "dai": 3, "04": [3, 9], "publish": [3, 9, 16], "page": [3, 6, 9], "note": [3, 9, 13, 14, 16, 18, 25], "dx": [3, 18], "dryad_gn001": 3, "brgoch_feat": 3, "studi": [3, 25], "bulk_modulu": 3, "shear_modulu": [3, 14], "suspect_valu": 3, "did": 3, "close": 3, "1gpa": 3, "cross": [3, 4, 16], "could": [3, 11, 13, 14], "found": [3, 6, 11, 13, 16, 18, 25], "direct": [3, 13, 16], "search": [3, 6, 9, 18], "ultraincompress": 3, "superhard": 3, "aria": 3, "mansouri": 3, "tehrani": 3, "anton": 3, "o": [3, 6, 9, 14, 16, 18, 25], "oliynyk": 3, "marcu": 3, "parri": 3, "zeshan": 3, "rizvi": 3, "samantha": 3, "couper": 3, "feng": 3, "lin": 3, "lowel": 3, "miyagi": 3, "taylor": 3, "spark": 3, "jakoah": 3, "american": 3, "societi": 3, "140": 3, "31": [3, 25], "9844": 3, "9853": 3, "1021": [3, 25], "jac": 3, "8b02717": 3, "pmid": 3, "30010335": 3, "eprint": 3, "e_form": 3, "ev": [3, 13, 14], "oxygen": 3, "water": 3, "vapor": 3, "molecul": [3, 16, 18, 25], "were": [3, 13, 25], "fermi": [3, 5, 13], "level": [3, 5, 9, 13, 25], "thermodynam": [3, 5, 14], "bodi": [3, 18], "bandwidth": 3, "boolean": [3, 13, 14, 16, 18, 21, 25], "indic": [3, 4, 13, 14, 16, 18, 25], "mu_b": 3, "moment": [3, 14], "term": [3, 5, 14], "bohr": 3, "magneton": 3, "repres": [3, 4, 5, 6, 9, 13, 14, 16, 18], "ivano": 3, "castelli": 3, "landi": 3, "kristian": 3, "thygesen": 3, "s\u00f8ren": 3, "dahl": 3, "ib": 3, "chorkendorff": 3, "thoma": 3, "jaramillo": 3, "karsten": 3, "jacobsen": 3, "2012": [3, 5, 14, 18], "cubic": [3, 9, 18], "photon": 3, "split": [3, 25], "9034": 3, "9043": 3, "1039": [3, 16], "c2ee22341d": 3, "royal": 3, "chemistri": [3, 16, 18, 25], "abstract": [3, 5, 9, 13, 18, 21, 25], "photoelectrochem": 3, "cell": [3, 9, 18], "pec": 3, "climat": 3, "our": [3, 6, 7], "Such": 3, "devic": 3, "develop": [3, 5, 6, 9, 14, 18, 25], "semiconduct": 3, "tailor": 3, "respect": [3, 6, 13, 14, 16, 18], "light": 3, "absorpt": 3, "we": [3, 4, 7, 9, 13, 14, 16, 18], "screen": 3, "around": [3, 5, 13, 16], "19": 3, "oxynitrid": 3, "oxysulfid": 3, "oxyfluorid": 3, "oxyfluoronitrid": 3, "mind": 3, "address": 3, "three": [3, 13], "main": [3, 13, 14, 16, 18, 20, 25], "absorb": 3, "transpar": 3, "shield": 3, "protect": [3, 18], "corros": 3, "end": [3, 13, 18, 25], "20": [3, 4, 13, 16, 18], "15": [3, 4, 9], "differ": [3, 5, 6, 9, 13, 14, 16, 18, 19, 20, 21, 25], "invit": 3, "investig": 3, "295": 3, "room": [3, 11], "k_condit": [3, 11], "condit": [3, 16], "k_condition_unit": 3, "k_expt": 3, "si": [3, 6, 9, 13], "www": [3, 14, 25], "com": [3, 4, 7, 14, 16, 18, 25], "howpublish": 3, "tensor": 3, "total": [3, 13, 14, 16, 18, 25], "incorpor": [3, 9], "both": [3, 5, 13, 14, 16, 18, 25], "ionic": [3, 5, 6, 14, 15, 18], "metadata": [3, 6, 11], "datapoint": 3, "eigenvalu": [3, 13, 18, 21], "ferroelectr": 3, "integ": [3, 18, 25], "crystallograph": [3, 9], "seri": [3, 5, 13, 16, 18, 20], "angstrom": [3, 16, 18], "supercel": [3, 18], "quantiti": 3, "petousi": 3, "mrdjenovich": 3, "ballouz": 3, "liu": 3, "graf": 3, "schladt": 3, "persson": [3, 6, 9], "prinz": 3, "discoveri": 3, "novel": 3, "optic": 3, "160134": 3, "petousis2017": 3, "ioanni": 3, "eric": 3, "miao": 3, "donald": 3, "tanja": 3, "kristin": 3, "fritz": 3, "jan": 3, "134": [3, 16], "speci": [3, 5, 13, 14, 16, 18, 25], "occupi": [3, 14], "a1": 3, "a2": 3, "b1": 3, "b2": 3, "discuss": [3, 16], "pilania": 3, "rep": 3, "19375": 3, "srep19375": 3, "cmr": 3, "fysik": 3, "dtu": 3, "dk": 3, "pilania2016": 3, "mannodi": 3, "kanakkithodi": 3, "uberuaga": 3, "ramprasad": 3, "r": [3, 4, 5, 6, 9, 13, 14, 16, 18, 25], "gubernati": 3, "lookman": 3, "who": [3, 13], "lowest": [3, 14], "unoccupi": [3, 14, 16], "molecular": [3, 14, 18], "obit": 3, "g_reuss": 3, "bound": [3, 9], "polycrystallin": 3, "g_vrh": [3, 6], "g_voigt": 3, "upper": [3, 9], "k_reuss": 3, "k_vrh": [3, 4, 6], "k_voigt": 3, "compliance_tensor": 3, "elastic_anisotropi": 3, "metric": [3, 4, 11, 16], "correspond": [3, 9, 13, 14, 16, 18, 25], "ieee": 3, "orient": [3, 16, 25], "symmetr": [3, 18, 21], "elastic_tensor_origin": 3, "unsymmetr": 3, "convent": [3, 21], "poisson_ratio": [3, 6], "respons": [3, 25], "load": [3, 6, 11, 16, 25], "jong": 3, "angsten": 3, "notestin": 3, "gamst": 3, "sluiter": 3, "Ande": 3, "zwaag": 3, "der": 3, "plata": 3, "toher": [3, 9], "curtarolo": [3, 9], "ceder": [3, 9], "chart": 3, "crystallin": [3, 14], "150009": 3, "dejong2015": 3, "maarten": 3, "randi": 3, "anthoni": 3, "marcel": 3, "krishna": 3, "chaitanya": 3, "sybrand": 3, "jose": 3, "cormac": 3, "stefano": 3, "gerbrand": 3, "mark": 3, "mar": 3, "17": [3, 14], "There": [3, 7, 9, 13, 16], "276": 3, "mostli": 3, "oqmdid": 3, "expt": 3, "oqmd": [3, 9], "pearson": 3, "symbol": [3, 4, 6, 13, 14], "space": [3, 13, 16, 18, 25], "natur": [3, 13, 14, 25], "sdata2017162": 3, "kim2017": 3, "kim": 3, "georg": 3, "meschel": 3, "v": [3, 9, 14, 16, 18, 25], "nash": 3, "philip": 3, "intermetal": [3, 5, 14], "oct": 3, "170162": 3, "162": 3, "kim_meschel_nash_chen_2017": 3, "experimental_formation_enthalpies_for_intermetallic_phases_and_other_inorganic_compound": 3, "3822835": 3, "6084": 3, "m9": 3, "v1": 3, "abstractnot": 3, "reaction": 3, "compon": [3, 7, 16], "fundament": 3, "coupl": [3, 7], "calorimetri": 3, "howev": [3, 9], "often": 3, "intens": 3, "present": [3, 6, 13, 16, 18, 25], "transit": [3, 5, 14], "rare": 3, "earth": 3, "borid": 3, "carbid": 3, "silicid": 3, "50": [3, 4, 18], "quaternari": [3, 14], "becom": 3, "principl": [3, 9], "comparison": 3, "susan": 3, "compil": [3, 14], "primarili": [3, 25], "kubaschewski": 3, "janaf": 3, "liquid": [3, 14], "gase": 3, "exclud": [3, 9, 12, 16, 25], "dedupl": 3, "descipt": 3, "assign": [3, 16], "among": [3, 6, 18], "2021": 3, "03": 3, "22": 3, "theoret": 3, "had": 3, "least": [3, 16, 18, 21], "icsd": 3, "200": [3, 4], "mev": 3, "hull": [3, 16], "e_above_hul": [3, 4], "candid": 3, "chose": 3, "spacegroup": [3, 4, 5, 18], "expt_form_": 3, "298": 3, "uncertainti": 3, "phaseinfo": 3, "likely_mpid": 3, "kingsburi": 3, "mcdermott": 3, "framework": [3, 25], "quantifi": [3, 5, 13, 18], "chemrxiv": 3, "preprint": 3, "26434": 3, "14593476": 3, "springer": [3, 9], "busi": 3, "media": 3, "llc": [3, 14], "springernatur": 3, "book": [3, 13], "kubaschewski1993": 3, "alcock": 3, "spencer": 3, "6th": 3, "isbn": [3, 25], "0080418880": 3, "pergamon": 3, "press": 3, "thermochemistri": [3, 5, 14], "1993": 3, "18434": 3, "t42s31": 3, "kinet": 3, "gov": [3, 13, 14, 16, 18, 20], "malcolm": 3, "chase": 3, "thermochem": 3, "technologi": 3, "1998": 3, "rzyman2000309": 3, "alf": 3, "versu": 3, "calphad": 3, "309": 3, "318": 3, "2000": 3, "issn": 3, "0364": 3, "5916": 3, "1016": [3, 9, 16, 18], "s0364": 3, "01": [3, 14, 16], "00007": 3, "sciencedirect": 3, "pii": [3, 14], "s0364591601000074": 3, "rzyman": 3, "z": [3, 16], "moser": 3, "miodownik": 3, "kaufman": 3, "watson": 3, "weinert": 3, "crc2007": 3, "asin": 3, "0849304881": 3, "crc": 3, "handbook": [3, 9, 25], "dewei": 3, "530": 3, "ean": 3, "9780849304880": 3, "88": 3, "interhash": 3, "da6394e1a9c5f450ed705c32ec82bb08": 3, "intrahash": 3, "5ff8f541915536461697300e8727f265": 3, "crc_handbook": 3, "physic": [3, 6, 14, 16, 18, 25], "88th": 3, "2007": 3, "grindy2013": 3, "grindi": 3, "scott": 3, "bryce": 3, "kirklin": 3, "saal": 3, "jame": 3, "wolverton": [3, 11, 25], "1103": [3, 16, 18], "physrevb": [3, 16, 18], "87": [3, 16], "075150": 3, "10980121": 3, "condens": 3, "matter": [3, 25], "approach": [3, 13, 16, 18], "accuraci": [3, 16, 18], "diatom": 3, "2013": [3, 16, 25], "pub": 3, "ac": [3, 25], "suppl": 3, "jpclett": 3, "8b00124": 3, "zhuo": 3, "ya": 3, "letter": 3, "1668": 3, "1673": 3, "29532658": 3, "bartel": 3, "gupta": 3, "munro": 3, "scan": 3, "metagga": 3, "autom": 3, "workflow": [3, 6], "prepar": 3, "dunn2020": 3, "alexand": 3, "automatmin": [3, 6], "algorithm": [3, 6, 13], "npj": [3, 25], "sep": 3, "138": 3, "evalu": [3, 13, 14, 16, 18, 20], "supervis": 3, "ml": [3, 5, 6, 11, 13, 18], "13": 3, "thinspac": 3, "task": [3, 13], "rang": [3, 5, 9, 13, 14, 16, 18, 21, 25], "size": [3, 4, 5, 13, 14, 16, 18, 21, 25], "132k": 3, "deriv": [3, 13, 14, 16, 18, 20], "highli": 3, "extens": [3, 14], "fulli": [3, 9], "primit": [3, 5, 9, 13, 16], "without": [3, 6, 13, 25], "intervent": 3, "hyperparamet": 3, "tune": 3, "art": 3, "graph": [3, 18, 25], "neural": [3, 16, 25], "network": [3, 16, 25], "tradit": 3, "random": [3, 5, 18], "forest": 3, "achiev": [3, 13], "best": [3, 13], "show": [3, 6, 9, 11, 13, 25], "capabl": [3, 6, 13], "expos": 3, "advantag": [3, 6, 13], "appear": 3, "outperform": 3, "textasciitild": 3, "104": 3, "greater": [3, 13, 14], "encourag": [3, 6], "2057": 3, "3960": 3, "s41524": 3, "020": 3, "00406": 3, "decomposit": 3, "formation_energi": 3, "0k": 3, "0atm": 3, "zero": [3, 14, 16, 18], "pure": 3, "formation_energy_per_atom": [3, 4, 9, 14], "faber": [3, 18], "lindmaa": 3, "von": 3, "lilienfeld": 3, "armiento": 3, "int": [3, 9, 11, 13, 14, 16, 18, 21, 25], "chem": [3, 16, 18], "115": [3, 18], "1094": 3, "1101": 3, "1002": 3, "qua": 3, "24917": 3, "raw": [3, 5, 9, 13, 18, 25], "richard": [3, 25], "dacek": 3, "cholia": [3, 9, 25], "gunter": [3, 9], "skinner": 3, "commentari": 3, "genom": [3, 9, 25], "acceler": [3, 14], "innov": 3, "apl": 3, "mater": [3, 6, 25], "11002": 3, "felix": 3, "anatol": 3, "rickard": 3, "period": [3, 5, 14, 16, 18, 25], "onlinelibrari": 3, "wilei": 3, "pdf": 3, "vector": [3, 5, 14, 16, 18, 25], "organ": 3, "success": 3, "coulomb": [3, 5, 16, 18], "matrix": [3, 8, 13, 16, 21], "consid": [3, 9, 13, 14, 16], "relat": [3, 5, 14, 16, 18, 25], "electrostat": [3, 16, 18], "interact": [3, 5, 6, 16, 18, 21], "between": [3, 5, 13, 14, 16, 18, 21, 25], "repeat": [3, 16], "ii": 3, "neighbor": [3, 5, 13, 14, 16, 18, 20, 25], "iii": 3, "ansatz": 3, "mimic": 3, "basic": [3, 6, 11, 14], "sine": [3, 13, 18, 21], "coordin": [3, 6, 13, 16, 18, 19], "laplacian": [3, 25], "kernel": [3, 8, 28], "manhattan": 3, "norm": [3, 5, 14], "reproduc": [3, 6, 13, 25], "obtain": [3, 6, 9, 13, 18, 25], "3000": 3, "49": 3, "64": 3, "inc": 3, "1063": [3, 16], "4812323": 3, "davidson": 3, "stephen": 3, "shreya": 3, "dan": 3, "011002": 3, "interv": 3, "59": 3, "target": [3, 4, 5, 9, 11, 13, 14, 16, 25], "gfa": 3, "monolith": 3, "non": [3, 9, 13, 16, 18, 20, 25], "correl": 3, "design": [3, 14, 16, 21], "am": 3, "cr": 3, "7b01046": 3, "sun": 3, "bai": 3, "h": [3, 6, 25], "li": [3, 9, 18], "understand": [3, 6, 13], "3434": 3, "3439": 3, "28697303": 3, "disagr": 3, "hipt": 3, "co": [3, 6, 16, 21], "fe": [3, 9, 14], "nb": [3, 9], "corespond": 3, "cofezr": [3, 11], "cotizr": [3, 11], "covzr": [3, 11], "fetinb": [3, 11], "iter": [3, 13, 16, 18], "By": [3, 11, 13, 16, 18], "fang": 3, "ren": 3, "travi": 3, "kevin": 3, "law": [3, 14], "christoph": 3, "hattrick": 3, "simper": 3, "apurva": 3, "mehta": 3, "apr": 3, "eaaq1566": 3, "reneaaq1566": 3, "1126": 3, "sciadv": 3, "aaq1566": 3, "With": [3, 18], "hundr": 3, "technolog": 3, "societ": 3, "face": [3, 16, 18], "todai": 3, "guidanc": 3, "vast": 3, "combinatori": 3, "frustratingli": 3, "slow": [3, 9, 25], "expens": [3, 13, 14, 16, 25], "especi": [3, 16], "strongli": 3, "influenc": 3, "previous": 3, "observ": [3, 13, 16], "physiochem": 3, "synthesi": 3, "textendash": 3, "guid": [3, 6], "hitp": 3, "good": [3, 7, 13, 14, 18, 20], "agreement": 3, "quantit": 3, "discrep": 3, "precis": [3, 18], "retrain": 3, "refin": 3, "significantli": [3, 14], "across": [3, 5, 13, 16, 18], "valid": [3, 4, 9, 25], "unreport": 3, "although": [3, 25], "rapid": 3, "sensit": [3, 18], "predictor": 3, "thu": [3, 16], "promis": 3, "greatli": 3, "believ": 3, "paradigm": 3, "wider": 3, "prove": 3, "equal": [3, 13, 14, 21], "sciencemag": 3, "varieti": [3, 6], "thousand": [3, 13, 14, 20], "reduc": [3, 13], "6203": 3, "6118": 3, "6780": 3, "5800": 3, "5736": 3, "qc": 3, "quasi": [3, 9], "meltspin": [3, 11], "kawazo": 3, "masumoto": 3, "tsai": 3, "yu": 3, "aihara": 3, "jr": 3, "1997": 3, "ed": [3, 9], "springermateri": 3, "introduct": [3, 25], "37a": 3, "gp": 3, "9783540605072": 3, "verlag": 3, "berlin": 3, "heidelberg": 3, "09": 3, "2019": [3, 14, 16, 25], "landoltbornstein1997": 3, "sm_lbs_978": 3, "540": 3, "47679": 3, "5_2": 3, "editor": 3, "textperiodcent": 3, "datasheet": 3, "rnstein": 3, "1007": [3, 9], "10510374": 3, "copyright": [3, 14, 25], "part": [3, 13], "23": 3, "10510374_2": 3, "lb": 3, "ward2016": 3, "agraw": [3, 25], "ankit": 3, "alok": 3, "aug": 3, "26": [3, 9], "16028": [3, 25], "npjcompumat": 3, "28": 3, "576": 3, "449": 3, "half": 3, "128": 3, "invers": [3, 18, 21], "latt": [3, 14], "const": 3, "satur": 3, "emu": 3, "cc": 3, "num_electron": 3, "pol": 3, "polar": 3, "struct": [3, 9, 14, 16, 18], "tetragon": [3, 18], "150561": 3, "alabama": 3, "epsilon_x": 3, "opt": 3, "calculu": 3, "epsilon_i": 3, "epsilon_z": 3, "exfoliation_en": 3, "monolay": 3, "jid": 3, "initi": [3, 13, 14, 16, 18, 21], "identif": 3, "character": [3, 13, 18, 25], "irina": 3, "kalish": 3, "ryan": 3, "beam": [3, 18], "francesca": 3, "tavazza": 3, "5179": 3, "orcid": 3, "0000": 3, "0001": 3, "9737": 3, "8074": 3, "jdft_2d": 3, "choudhary2017": 3, "criterion": [3, 9, 14], "mainli": [3, 13], "rel": [3, 5, 13, 16, 18, 25], "1356": 3, "satisfi": [3, 9, 14], "creat": [3, 4, 6, 13, 16, 18, 21], "layer": [3, 18, 25], "energet": 3, "1012": 3, "430": 3, "371": 3, "common": [3, 6, 9, 16, 18, 25], "rest": [3, 9], "underwai": 3, "To": [3, 6, 7, 13, 14, 16, 18], "suggest": [3, 5, 9, 16], "accept": [3, 13, 25], "molybdenum": 3, "tellurid": 3, "rai": [3, 18], "diffract": [3, 5, 18], "raman": 3, "scatter": 3, "limit": [3, 6, 9, 14, 18, 25], "publicli": 3, "websit": 3, "ctcm": 3, "extasciitild": 3, "knc6": 3, "jvasp": 3, "html": [3, 4, 9, 13, 25], "2045": [3, 9], "2322": 3, "s41598": 3, "017": 3, "05402": 3, "choudhary__2018": 3, "2018_json": 3, "6815705": 3, "3d": [3, 11, 18], "low": 3, "waal": 3, "gowoon": 3, "cheon": 3, "evan": 3, "reed": 3, "phy": [3, 16, 18, 25], "rev": [3, 16, 18, 25], "98": [3, 25], "014107": [3, 16], "jdft_3d": 3, "numpag": 3, "ap": [3, 14, 16, 18], "6815699": 3, "v2": [3, 11], "section": 3, "vasp": 3, "nanowir": 3, "1d": [3, 5, 18, 21], "0d": 3, "carri": [3, 16], "pattern": [3, 13, 18], "radial": [3, 5, 13, 16, 18, 21], "distribut": [3, 5, 13, 16, 18, 21, 25], "gamma": [3, 13, 14, 16], "mass_x": 3, "mass_i": 3, "mass_z": 3, "e_exfol": 3, "hole": [3, 13], "forc": [3, 5, 18, 25], "field": [3, 5, 9, 11, 13, 18], "inspir": [3, 5, 18], "fast": [3, 13, 14, 20, 25], "landscap": 3, "brian": 3, "decost": 3, "083801": [3, 18], "physrevmateri": [3, 18], "choudhary_2018": 3, "descriptors_and_material_properti": 3, "6870101": 3, "classic": [3, 5, 18], "25000": 3, "paw": 3, "pw91": 3, "c11": 3, "hexagon": [3, 18], "c12": 3, "c13": 3, "c33": 3, "c44": 3, "d_ma": 3, "distanc": [3, 5, 13, 14, 16, 18, 21], "d_mx": 3, "iopscienc": 3, "iop": 3, "1088": 3, "0953": 3, "8984": 3, "21": 3, "30": [3, 4, 13], "305403": 3, "warschkow": 3, "bilek": 3, "mckenzi": 3, "ax": [3, 16], "stack": 3, "2009": 3, "famili": 3, "nanolamin": 3, "compos": 3, "slab": 3, "nitrid": 3, "manifest": 3, "benefici": 3, "ceram": 3, "attract": 3, "scale": [3, 13, 16, 18], "240": 3, "reveal": 3, "govern": 3, "role": 3, "shearabl": 3, "strongest": 3, "seen": 3, "plane": 3, "11": 3, "extrem": [3, 14], "snc": 3, "far": [3, 18], "44": [3, 16], "abov": [3, 6, 13], "convex": [3, 16], "150mev": 3, "those": [3, 9, 16, 18, 21, 25], "less": [3, 13, 14, 25], "nobl": 3, "april": 3, "nest": [3, 9, 25], "must": [3, 9, 13, 14, 16, 18, 25], "detail": [3, 6, 9, 13, 14, 16, 18, 21, 25], "variabl": [3, 4, 9, 11, 13, 14], "jain2013": 3, "2166532x": 3, "aip": [3, 16], "ampad": 3, "i1": 3, "p011002": 3, "s1": 3, "agg": 3, "accord": [3, 9, 13, 14, 16, 18], "span": [3, 6], "1ev": 3, "remain": [3, 16, 25], "closest": [3, 5, 18], "masouri": 3, "lett": [3, 18], "conflict": 3, "enter": [3, 7], "nonmet": [3, 25], "is_met": 3, "agre": 3, "classif": [3, 13, 25], "neg": [3, 4, 13, 14, 16], "fail": [3, 13, 14, 18, 20], "logarithm": [3, 13], "voigt": 3, "reuss": 3, "hill": 3, "moduli": [3, 14], "5ev": 3, "entir": [3, 13, 14, 16, 18], "rpbe": 3, "petretto": 3, "last": [3, 13, 16, 18], "phdo": 3, "peak": 3, "frequenc": [3, 21], "highest": [3, 14], "cm": 3, "estim": [3, 5, 13, 14, 16, 18, 20], "domin": 3, "longitudin": 3, "180065": 3, "65": 3, "petretto2018": 3, "guido": 3, "shyam": 3, "miranda": 3, "henriqu": 3, "giantomassi": 3, "matteo": 3, "setten": 3, "michiel": 3, "gonz": 3, "xavier": 3, "petretto_dwaraknath_miranda_winston_giantomassi_rignanese_van": 3, "setten_gonze_persson_hautier_2018": 3, "throughput_dens": 3, "functional_perturbation_theory_phonons_for_inorganic_materi": 3, "3938023": 3, "knowledg": [3, 13, 25], "import": [3, 6, 13], "phenomena": 3, "spectra": 3, "hinder": 3, "analysi": [3, 6, 16, 18, 25], "dispers": [3, 18], "1521": [3, 18], "153092": 3, "mp_all": 3, "mp_nostruct": 3, "voight": 3, "e_hul": 3, "anisotropi": [3, 16], "eps_electron": 3, "eps_tot": 3, "vacuum": 3, "strucutr": 3, "eij_max": 3, "point_group": 3, "v_max": 3, "geerl": 3, "enabl": [3, 13, 16, 18], "150053": 3, "henri": 3, "aslaug": 3, "29": [3, 18], "53": 3, "multivari": 3, "simul": [3, 6, 14], "down": [3, 6, 18], "tabular": 3, "moder": 3, "m\u2091\u1d9c\u1d52\u207f\u1d48": 3, "\u03c3": 3, "\u03ba\u2091": 3, "pf": [3, 4, 6], "dope": [3, 13], "10\u00b9\u2078": 3, "\u00b3": 3, "minimum": [3, 9, 13, 16, 18, 21], "chosen": [3, 14, 18], "1300": 3, "10\u00b9\u2076": 3, "10\u00b2\u00b9": 3, "divid": [3, 14, 16, 18], "\u00b9\u2074": 3, "task_id": 3, "gradient": 3, "\u03b4e": 3, "\u00e5\u00b3": 3, "\u00b5v": 3, "300k": [3, 13], "microvolt": 3, "s\u1d49": 3, "1300k": 3, "21cm": 3, "\u03c9": 3, "\u00b5w": 3, "k\u00b2": 3, "\u03c3\u1d49": 3, "pf\u1d49": 3, "electr": 3, "\u03ba\u2091\u1d49": 3, "m\u2091\u1d9c": 3, "\u03b5": 3, "m\u2091": 3, "\u03b5\u2081": 3, "1st": [3, 14], "\u03b5\u2082": 3, "2nd": [3, 21], "\u03b5\u2083": 3, "3rd": 3, "pretty_formula": [3, 4], "weight": [3, 13, 14, 16, 18, 21], "percent": 3, "elong": 3, "mn": 3, "mo": 3, "ni": 3, "tc": 3, "No": 3, "core": [3, 5, 13, 16, 18], "asid": 3, "un": 3, "under": [3, 6, 13, 16], "creativ": 3, "licens": [3, 6], "creativecommon": 3, "018": 3, "0085": 3, "stanev2018": 3, "jun": 3, "valentin": 3, "corei": 3, "os": [3, 9], "gilad": 3, "kusn": 3, "efrain": 3, "rodriguez": [3, 18], "johnpierr": 3, "paglion": 3, "ichiro": 3, "takeuchi": [3, 25], "nimssupercon": 3, "supercon": 3, "nim": 3, "go": 3, "jp": 3, "index_en": 3, "station": 3, "815": 3, "share": [3, 16], "toolkit": [3, 6], "zenodo": 3, "5530535": 3, "yjj3zhdmjlq": 3, "licenc": 3, "collat": 3, "ht_id": 3, "collabor": 3, "rhy": 3, "goodal": 3, "human": [3, 13], "readabl": 3, "track": [3, 6], "httk": 3, "initial_structur": [3, 9], "final_structur": [3, 9], "e_vasp_per_atom": 3, "final": [3, 18], "chemical_system": 3, "actual": [3, 14, 16], "tholander2016strong": 3, "strong": 3, "tiznn2": 3, "zrznn2": 3, "hfznn2": 3, "tholand": 3, "andersson": 3, "cba": 3, "tasnadi": 3, "ferenc": 3, "bj": 3, "rn": 3, "appli": [3, 5, 6, 13, 25], "120": 3, "225102": 3, "webpag": 3, "mrl": 3, "edu": 3, "8080": 3, "datamin": 3, "jsp": 3, "src": 3, "nanoparticl": 3, "brief": [3, 9], "rho": 3, "ohm": 3, "resist": 3, "muv": 3, "mk": 3, "zt": 3, "figur": 3, "merit": 3, "kappa": 3, "watt": 3, "meter": 3, "sigma": [3, 13, 16, 25], "siemen": 3, "bibtext_ref": 3, "150557": 3, "gaultois2013": 3, "cm400893e": 3, "2911": 3, "2920": 3, "michael": 3, "gaultoi": 3, "borg": 3, "ram": 3, "seshadri": 3, "bonificio": 3, "clark": 3, "driven": 3, "resourc": [3, 9, 25], "consider": 3, "abo3": 3, "emeri": 3, "alpha": [3, 18], "degre": [3, 16, 18, 21], "pervoskit": 3, "beta": 3, "wrt": 3, "db": [3, 9], "distort": [3, 16], "vpa": [3, 4, 18], "170153": 3, "153": 3, "5334142": 3, "emery2017": 3, "antoin": 3, "chri": 3, "emery_2017": 3, "throughput_dft_calculations_of_formation_energy_stability_and_oxygen_vacancy_formation_energy_of_abo3_perovskit": 3, "fuel": 3, "piezo": 3, "ferro": 3, "remark": 3, "substitut": [3, 13, 18], "await": 3, "exhaust": 3, "329": 3, "ubiquit": 3, "395": 3, "yet": 3, "therefor": 3, "avenu": 3, "futur": [3, 13, 14, 20], "activ": 3, "area": [3, 6, 16, 18], "minut": 4, "retrieve_mp": [4, 6, 8, 28], "popul": 4, "scikit": [4, 6, 13, 25], "librari": [4, 5, 6, 7, 8, 9, 13, 16, 25], "displai": [4, 13], "warn": [4, 9, 13, 14, 18, 20], "filterwarn": 4, "numpi": [4, 13, 16, 18, 21], "np": [4, 13, 16, 18, 21], "view": 4, "set_opt": 4, "1000": [4, 9], "max_column": 4, "max_row": 4, "1a": 4, "data_retriev": [4, 6, 8, 28], "api_kei": [4, 9], "your": [4, 6, 7, 9, 13, 14, 16], "mapi_kei": [4, 13, 14], "mpr": 4, "criteria": [4, 6, 9], "ne": [4, 16], "want": [4, 6, 13, 18], "materialsproject": 4, "mapidoc": 4, "df_mp": [4, 6], "get_datafram": [4, 6, 8, 9], "print": [4, 9, 11], "len": [4, 9, 18], "6023": 4, "1b": 4, "explor": [4, 6], "head": 4, "1c": 4, "unstabl": 4, "2a": 4, "2b": 4, "pymatgendata": [4, 8, 14, 25], "lambda": [4, 13, 14, 16], "row": [4, 6, 9, 11, 13, 14, 18], "atomic_mass": 4, "atomic_radiu": 4, "boiling_point": 4, "melting_point": [4, 14], "std_dev": [4, 13, 16, 18, 21], "ep": 4, "data_sourc": [4, 14, 16], "dropna": 4, "3a": 4, "relev": [4, 6, 9, 13], "x_col": 4, "as_matrix": 4, "3b": 4, "linear_model": 4, "linearregress": 4, "mean_squared_error": 4, "lr": 4, "statist": [4, 5, 14, 16, 18, 21], "round": 4, "score": [4, 13], "3f": 4, "sqrt": [4, 13, 14], "y_true": 4, "y_pred": 4, "804": 4, "32": [4, 18], "558": 4, "3c": 4, "model_select": 4, "kfold": 4, "cross_val_scor": 4, "fold": [4, 16], "90": [4, 18], "crossvalid": 4, "n_split": 4, "shuffl": 4, "random_st": 4, "cv": 4, "rmse_scor": 4, "33": 4, "plotli": [4, 6], "make_plot": 4, "x_titl": [4, 6], "y_titl": [4, 6], "plot_titl": 4, "plot_mod": 4, "offlin": 4, "margin_left": 4, "150": 4, "textsiz": 4, "35": 4, "ticksiz": 4, "filenam": [4, 6, 25], "lr_regress": 4, "line": [4, 9, 13, 16], "perfect": 4, "xy_param": 4, "400": 4, "y_col": 4, "color": [4, 6], "black": 4, "legend": 4, "xy_plot": 4, "marker_outline_width": 4, "add_xy_plot": 4, "great": 4, "let": [4, 6], "examin": 4, "5a": 4, "ensembl": 4, "randomforestregressor": 4, "rf": 4, "n_estim": 4, "988": 4, "947": 4, "5b": 4, "087": 4, "6a": 4, "pf_rf": 4, "rf_regress": 4, "xy_lin": 4, "450": 4, "6b": 4, "feature_importances_": 4, "asarrai": 4, "argsort": 4, "margin_bottom": 4, "rf_import": 4, "bar_chart": 4, "below": [5, 6, 7, 9, 13, 14, 25], "modul": [5, 6, 28], "special": [5, 14], "mix": [5, 14, 25], "mismatch": [5, 14], "zhang": [5, 14], "wenalloi": [5, 13, 14], "categori": [5, 9, 14], "stoichiometri": [5, 13, 14], "elementfract": [5, 13, 14], "tmetalfract": [5, 13, 14], "stoichiometr": [5, 14], "center": [5, 13, 14, 16, 18, 21], "oxidationst": [5, 13, 14], "about": [5, 6, 9, 13, 14, 20], "ionproperti": [5, 13, 14], "electronaffin": [5, 13, 14], "affin": [5, 14], "formal": [5, 14, 18, 25], "charg": [5, 14, 16, 18, 25], "electronegativitydiff": [5, 13, 14], "homo": [5, 14], "valenceorbit": [5, 13, 14], "shell": [5, 14, 16, 18], "characterist": [5, 13, 14], "geometr": [5, 14, 21], "cohesiveenergi": [5, 13, 14], "lookup": [5, 14, 18, 25], "conversionfeatur": [5, 6, 8, 13], "strtocomposit": [5, 8, 13], "structuretocomposit": [5, 8, 13], "structuretoistructur": [5, 8, 13], "immut": [5, 13], "istructur": [5, 13, 18, 25], "dicttoobject": [5, 8, 13], "mson": [5, 13], "jsontoobject": [5, 8, 13], "structuretooxidstructur": [5, 8, 13], "compositiontooxidcomposit": [5, 8, 13], "compositiontostructurefrommp": [5, 8, 13], "pymatgenfunctionappl": [5, 6, 8, 13], "aseatomstostructur": [5, 6, 8, 13], "ase": [5, 6, 9, 13], "particular": [5, 9, 11, 13, 18, 25], "completedo": [5, 13], "signific": [5, 13, 14], "charact": [5, 13, 14, 18], "asymmetri": [5, 13], "bondorientationalparamet": [5, 13, 16], "spheric": [5, 16], "averagebondlength": [5, 13, 16], "averagebondangl": [5, 13, 16], "rather": [5, 9, 13, 14, 16, 18, 20], "geometri": [5, 16], "short": [5, 6, 11, 16], "deviat": [5, 14, 16, 18, 21], "nomin": [5, 16], "ewaldsiteenergi": [5, 13, 16], "localpropertydiffer": [5, 13, 16], "siteelementalproperti": [5, 13, 16], "smooth": [5, 16], "overlap": [5, 16], "product": [5, 13, 16], "gaussian": [5, 13, 16, 21, 25], "window": [5, 7, 16, 21], "botu": [5, 16], "opsitefingerprint": [5, 13, 16], "env": [5, 16], "tessel": [5, 16, 18], "chemenvsitefingerprint": [5, 13, 16], "resembl": [5, 16], "ideal": [5, 13, 14, 16, 18, 20, 25], "miscellan": [5, 16, 18], "interstic": [5, 16], "nearest": [5, 13, 14, 16, 18, 20, 25], "behler": [5, 16], "generalizedradialdistributionfunct": [5, 13, 16], "angularfourierseri": [5, 13, 16], "angular": [5, 16, 18], "fourier": [5, 16], "nearestneighbor": [5, 16, 18], "bag": [5, 13, 18], "hansen": [5, 18], "globalinstabilityindex": [5, 13, 18], "structuralheterogen": [5, 13, 18], "varianc": [5, 18], "minimumrelativedist": [5, 13, 18], "kind": [5, 13, 14, 18], "jarviscfid": [5, 13, 18], "matric": [5, 18, 20], "friendli": [5, 18], "nuclear": [5, 18], "variant": [5, 18], "ewaldenergi": [5, 13, 18], "structurecomposit": [5, 13, 18], "arrai": [5, 6, 9, 13, 16, 18, 21, 25], "powder": [5, 18], "densityfeatur": [5, 13, 18], "chemicalord": [5, 13, 18], "much": [5, 13, 18], "maximumpackingeffici": [5, 13, 18], "shannon": [5, 18], "entropi": [5, 13, 14, 18], "radialdistributionfunct": [5, 13, 18], "partialradialdistributionfunct": [5, 13, 18], "xtal": [5, 18], "electronicradialdistributionfunct": [5, 13, 18], "inher": [5, 18], "redf": [5, 18], "globalsymmetryfeatur": [5, 13, 18], "linear": [5, 13, 14, 18, 25], "chain": [5, 18], "OR": [5, 18], "routin": [6, 13], "40": 6, "domain": 6, "own": [6, 25], "transform": [6, 8, 9, 13, 25], "numer": [6, 16, 18, 20, 25], "70": 6, "bandstructur": [6, 8, 9, 28], "expans": 6, "practic": [6, 13, 18], "deep": 6, "infer": [6, 18], "come": [6, 13, 16, 25], "soon": 6, "itself": [6, 13], "downstream": 6, "bsd": 6, "tour": 6, "scroll": [6, 14], "imagenet": 6, "dynam": [6, 9, 13], "leaderboard": 6, "autogener": 6, "tutori": 6, "fe3o4": [6, 14], "thing": 6, "radii": [6, 14, 16], "substitu": 6, "sophist": 6, "easi": [6, 7, 13, 17], "biggest": 6, "hous": 6, "extern": [6, 8, 13], "execut": 6, "pars": [6, 13], "emploi": [6, 13, 21], "retrieve_citrin": [6, 8, 28], "df_citrin": 6, "mongodataretriev": [6, 8, 9], "anoth": [6, 13, 16, 18], "mongodb": [6, 9], "flexibl": [6, 9], "schema": [6, 9], "rich": 6, "syntax": [6, 9], "ever": 6, "leav": 6, "interpret": 6, "unifi": [6, 18], "jarvis_dft_3d": 6, "Or": 6, "oper": [6, 9, 13, 21, 25], "load_jarvis_dft_3d": [6, 8, 11], "drop_nan_column": [6, 11], "visual": 6, "prototyp": [6, 9], "bulk_shear_moduli": 6, "colorscal": 6, "picnic": 6, "browser": 6, "summari": [6, 13], "toler": [6, 13, 14], "robustli": 6, "10k": 6, "ASE": [6, 9, 13], "aa2": 6, "ignore_error": [6, 13], "ca": [6, 18, 25], "37728887": 6, "57871271": 6, "73949": 6, "707570": 6, "pbc": 6, "inf": 6, "068845188153371": 6, "406272406310": 6, "06884519": 6, "40627241": 6, "45891585": 6, "908485": 6, "064280815": 6, "06428082": 6, "117271": 6, "mg": 6, "0963526175": 6, "0689416025": 6, "536": 6, "09635262": 6, "0689416": 6, "53602403": 6, "593": 6, "690196": 6, "10982": 6, "n3": 6, "10983": 6, "5115782146589711": 6, "4173924989": 6, "51157821": 6, "4173925": 6, "21553922": 6, "724276": 6, "10984": 6, "375467717853649": 6, "5112839336581": 6, "37546772": 6, "51128393": 6, "81784473": 6, "4573": 6, "342423": 6, "10985": 6, "55195829": 6, "770852": 6, "10986": 6, "44565668": 6, "05259079": 6, "ind": 6, "445": 6, "954243": 6, "arbitrari": [6, 13], "chard": [6, 9], "foster": [6, 9, 16], "152": 6, "60": [6, 25], "69": 6, "help": [6, 7], "clariti": 6, "credit": 6, "everi": [6, 14, 16, 18, 25], "keep": [6, 13], "someth": [6, 9], "tell": 6, "stuck": 6, "everyon": 6, "know": [6, 13], "difficult": [6, 25], "fork": 6, "pull": [6, 7, 11], "request": [6, 9, 11], "submit": [6, 9], "question": [6, 13], "contact": [6, 13], "quick": [7, 9, 13], "command": 7, "bash": 7, "termin": 7, "home": 7, "development": 7, "clone": 7, "cd": 7, "sure": 7, "troubl": 7, "sympi": [7, 13], "forg": [7, 9], "anaconda": 7, "conda": 7, "easiest": 7, "still": [7, 16, 18], "ticket": 7, "likelihood": 7, "someon": 7, "els": [7, 13, 16, 18], "clearer": 7, "submodul": [8, 28], "test_retrieve_aflow": [8, 9], "test_retrieve_citrin": [8, 9], "test_retrieve_mdf": [8, 9], "test_retrieve_mp": [8, 9], "test_retrieve_mpd": [8, 9], "test_retrieve_mongodb": [8, 9], "retrieve_aflow": [8, 28], "aflowdataretriev": [8, 9], "api_link": [8, 9], "get_relaxed_structur": [8, 9], "retrievalqueri": [8, 9], "from_pymongo": [8, 9], "__init__": [8, 9, 13, 14, 16, 18, 20, 21, 25], "get_data": [8, 9], "get_valu": [8, 9], "parse_scalar": [8, 9], "retrieve_mdf": [8, 28], "mdfdataretriev": [8, 9], "make_datafram": [8, 9], "try_get_prop_by_material_id": [8, 9], "retrieve_mpd": [8, 28], "apierror": [8, 9], "mpdsdataretriev": [8, 9], "chillouttim": [8, 9], "compile_cryst": [8, 9], "default_properti": [8, 9], "endpoint": [8, 9], "maxnpag": [8, 9], "pages": [8, 9], "retrieve_mongodb": [8, 28], "clean_project": [8, 9], "is_int": [8, 9], "remove_int": [8, 9], "retrieve_bas": [8, 28], "basedataretriev": [8, 9], "test_convenience_load": [8, 11], "test_dataset_retriev": [8, 11], "test_util": [8, 11], "load_boltztrap_mp": [8, 11], "load_brgoch_superhard_train": [8, 11], "load_castelli_perovskit": [8, 11], "load_citrine_thermal_conduct": [8, 11], "load_dielectric_const": [8, 11], "load_double_perovskites_gap": [8, 11], "load_double_perovskites_gap_lumo": [8, 11], "load_expt_formation_enthalpi": [8, 11], "load_expt_gap": [8, 11], "load_flla": [8, 11], "load_glass_binari": [8, 11], "load_glass_ternary_hipt": [8, 11], "load_glass_ternary_landolt": [8, 11], "load_heusler_magnet": [8, 11], "load_jarvis_dft_2d": [8, 11], "load_jarvis_ml_dft_train": [8, 11], "load_m2ax": [8, 11], "load_mp": [8, 11], "load_phonon_dielectric_mp": [8, 11], "load_piezoelectric_tensor": [8, 11], "load_steel_strength": [8, 11], "load_wolverton_oxid": [8, 11], "dataset_retriev": [8, 28], "get_all_dataset_info": [8, 11], "get_available_dataset": [8, 11], "get_dataset_attribut": [8, 11], "get_dataset_cit": [8, 11], "get_dataset_column_descript": [8, 11], "get_dataset_column": [8, 11], "get_dataset_descript": [8, 11], "get_dataset_num_entri": [8, 11], "get_dataset_refer": [8, 11], "ion": [8, 13, 18], "orbit": [8, 13, 16, 18], "thermo": [8, 13], "test_bandstructur": [8, 13], "test_bas": [8, 13], "test_convers": [8, 13], "test_do": [8, 13], "test_funct": [8, 13], "get_bindex_bspin": [8, 13], "featurize_wrapp": [8, 13], "fit_featurize_datafram": [8, 13, 18], "set_chunks": [8, 13], "set_n_job": [8, 13], "get_cbm_vbm_scor": [8, 13], "get_site_dos_scor": [8, 13], "illegal_charact": [8, 13], "exp_dict": [8, 13], "generate_string_express": [8, 13], "generate_expressions_combin": [8, 13], "data_fil": [8, 14, 25], "deml_elementdata": [8, 25], "test_cach": [8, 13, 20, 25], "test_data": [8, 25], "test_flatten_dict": [8, 25], "test_io": [8, 25], "get_all_nearest_neighbor": [8, 25], "get_nearest_neighbor": [8, 25], "abstractdata": [8, 14, 16, 25], "get_elemental_properti": [8, 25], "cohesiveenergydata": [8, 25], "demldata": [8, 14, 25, 27], "get_charge_dependent_properti": [8, 25], "get_oxidation_st": [8, 14, 25], "iucrbondvalencedata": [8, 25], "get_bv_param": [8, 13, 18, 25], "interpolate_soft_anion": [8, 25], "megnetelementdata": [8, 25], "matscholarelementdata": [8, 14, 25], "mixingenthalpi": [8, 25], "get_mixing_enthalpi": [8, 25], "oxidationstatedependentdata": [8, 25], "get_charge_dependent_property_from_speci": [8, 25], "oxidationstatesmixin": [8, 25], "flatten_dict": [8, 28], "io": [8, 9, 13, 28], "load_dataframe_from_json": [8, 25], "store_dataframe_as_json": [8, 25], "gaussian_kernel": [8, 25], "laplacian_kernel": [8, 25], "dropexclud": [8, 25], "itemselector": [8, 25], "homogenize_multiindex": [8, 25], "aflowdataretrievaltest": [9, 10], "test_get_data": [9, 10, 25, 27], "citrinedataretrievaltest": [9, 10], "test_multiple_items_in_list": [9, 10], "mdfdataretrievaltest": [9, 10], "setupclass": [9, 10], "test_get_datafram": [9, 10], "test_get_dataframe_by_queri": [9, 10], "test_make_datafram": [9, 10], "mpdataretrievaltest": [9, 10], "mpdsdataretrievaltest": [9, 10], "test_valid_answ": [9, 10], "mongodataretrievaltest": [9, 10], "test_cleaned_project": [9, 10], "test_remove_int": [9, 10], "aflux": 9, "consortium": 9, "server": 9, "robust": [9, 13, 16, 25], "addition": [9, 18], "rose": 9, "gossett": 9, "nardelli": 9, "fornari": 9, "lux": 9, "137": 9, "362": 9, "370": 9, "commatsci": 9, "036": 9, "bibtext": 9, "request_s": 9, "10000": 9, "request_limit": 9, "index_auid": 9, "build": 9, "pymongo": 9, "Then": [9, 13, 18], "auid": 9, "aurl": 9, "singleton": 9, "gt": 9, "lt": 9, "a17a2da2f3d3953a": 9, "invalid": 9, "read": [9, 13, 25], "prototype_structur": 9, "input_structur": 9, "band_structur": 9, "todo": [9, 16, 18], "catalog": 9, "batch_siz": 9, "instanc": [9, 13, 16, 18], "constructor": 9, "classmethod": [9, 10, 14, 16, 18], "client": 9, "ve": 9, "citrine_kei": 9, "prop": [9, 14], "data_typ": 9, "min_measur": 9, "max_measur": 9, "from_record": 9, "data_set_id": 9, "max_result": 9, "machine_learn": 9, "num": 9, "pif": 9, "common_field": 9, "secondary_field": 9, "print_properties_opt": 9, "unsur": 9, "exact": [9, 25], "word": [9, 25], "capit": 9, "chemicalformula": 9, "recommend": [9, 13, 16, 18, 25], "dict_item": 9, "scalar": [9, 25], "anonym": 9, "kwarg": [9, 13, 16, 18], "facil": 9, "invoc": 9, "authent": 9, "mdf_dr": 9, "ag": 9, "Be": 9, "source_nam": 9, "match_rang": 9, "blaiszik": 9, "pruyn": 9, "ananthakrishnan": 9, "tueck": 9, "jom": 9, "68": [9, 25], "2052": 9, "s11837": 9, "016": 9, "2001": 9, "login": 9, "globu": 9, "local_ep": 9, "squeri": 9, "unwind_arrai": [9, 25], "explicit": [9, 13], "unwind": 9, "coarsen": 9, "semisolid": 9, "cu": 9, "tag": [9, 18], "outcar": 9, "resource_typ": 9, "match_field": 9, "converg": 9, "exclude_field": 9, "oqdm": 9, "exclude_rang": 9, "brafman": 9, "program": 9, "transfer": [9, 25], "97": 9, "209": 9, "215": 9, "2014": 9, "037": 9, "config": 9, "mp_decod": 9, "index_mpid": 9, "mprester": 9, "1234": 9, "fe2o3": [9, 13], "2o3": 9, "materials_id": 9, "plu": 9, "bandstructure_uniform": 9, "phonon_bandstructur": 9, "phonon_ddb": 9, "phonon_do": 9, "long": [9, 11, 13, 14, 20], "material_id_list": 9, "get_prop_by_material_id": 9, "readili": 9, "get_bandstructure_by_material_id": 9, "get_": 9, "_by_material_id": 9, "line_mod": 9, "favor": [9, 16], "mpds_client": 9, "msg": 9, "usag": 9, "export": 9, "mpds_kei": 9, "srtio3": 9, "jsonobj": 9, "sg": 9, "99": 9, "cell_abc": 9, "sg_n": 9, "basis_noneq": 9, "els_noneq": 9, "villar": 9, "paul": [9, 16], "big": 9, "toward": 9, "andreoni": 9, "yip": 9, "cham": 9, "pp": 9, "978": [9, 25], "319": [9, 25], "42913": 9, "7_62": 9, "consum": 9, "envvar": 9, "gatewai": 9, "datarow": 9, "flavor": 9, "pmg": [9, 13], "attent": 9, "wrap": 9, "occup": [9, 18], "construct": [9, 16, 18], "facet": [9, 16], "categ_a": 9, "val_a": 9, "categ_b": 9, "val_b": 9, "iodid": 9, "capac": 9, "distinct": [9, 18], "concept": [9, 13], "interest": [9, 25], "nax": 9, "ariti": 9, "shape": [9, 16], "schemata": 9, "coll": 9, "idx_field": 9, "strict": 9, "dot": [9, 25], "notat": [9, 25], "auto": [9, 13], "disallow": 9, "inclus": [9, 18], "adher": 9, "sensibl": [9, 16], "mydataretriev": 9, "NOT": 9, "bg": 9, "suffici": 9, "sparingli": 9, "augment": 9, "nativ": 9, "overrid": [9, 13], "It": [9, 13, 16, 18], "web": 9, "googl": [9, 13], "styleguid": [9, 13], "pyguid": [9, 13], "methodnam": [10, 12, 15, 17, 19, 20, 22, 27], "runtest": [10, 12, 15, 17, 19, 20, 22, 27], "hook": [10, 12, 15, 17, 19, 20, 22, 27], "fixtur": [10, 12, 15, 17, 19, 20, 22, 27], "exercis": [10, 12, 15, 17, 19, 20, 22, 27], "pymatgentest": [10, 15, 17, 19, 20, 22, 27], "dataretrievaltest": [11, 12], "test_get_all_dataset_info": [11, 12], "test_get_dataset_attribut": [11, 12], "test_get_dataset_cit": [11, 12], "test_get_dataset_column_descript": [11, 12], "test_get_dataset_column": [11, 12], "test_get_dataset_descript": [11, 12], "test_get_dataset_num_entri": [11, 12], "test_get_dataset_refer": [11, 12], "test_load_dataset": [11, 12], "test_print_available_dataset": [11, 12], "datasetstest": [11, 12], "matbenchdatasetstest": [11, 12], "test_matbench_v0_1": [11, 12], "matminerdatasetstest": [11, 12], "test_boltztrap_mp": [11, 12], "test_brgoch_superhard_train": [11, 12], "test_castelli_perovskit": [11, 12], "test_citrine_thermal_conduct": [11, 12], "test_double_perovskites_gap": [11, 12], "test_double_perovskites_gap_lumo": [11, 12], "test_elastic_tensor_2015": [11, 12], "test_expt_formation_enthalpi": [11, 12], "test_expt_formation_enthalpy_kingsburi": [11, 12], "test_expt_gap": [11, 12], "test_expt_gap_kingsburi": [11, 12], "test_flla": [11, 12], "test_glass_binari": [11, 12], "test_glass_binary_v2": [11, 12], "test_glass_ternary_hipt": [11, 12], "test_glass_ternary_landolt": [11, 12], "test_heusler_magnet": [11, 12], "test_jarvis_dft_2d": [11, 12], "test_jarvis_dft_3d": [11, 12], "test_jarvis_ml_dft_train": [11, 12], "test_m2ax": [11, 12], "test_mp_all_20181018": [11, 12], "test_mp_nostruct_20181018": [11, 12], "test_phonon_dielectric_mp": [11, 12], "test_piezoelectric_tensor": [11, 12], "test_ricci_boltztrap_mp_tabular": [11, 12], "test_steel_strength": [11, 12], "test_superconductivity2018": [11, 12], "test_tholander_nitrides_e_form": [11, 12], "test_ucsb_thermoelectr": [11, 12], "test_wolverton_oxid": [11, 12], "utilstest": [11, 12], "test_fetch_external_dataset": [11, 12], "test_get_data_hom": [11, 12], "test_get_file_sha256_hash": [11, 12], "test_load_dataset_dict": [11, 12], "test_read_dataframe_from_fil": [11, 12], "test_validate_dataset": [11, 12], "boltztrap_mp": 11, "drop_suspect": 11, "expt_formation_enthalpi": 11, "engin": 11, "brgoch_featur": 11, "basic_descriptor": 11, "possibli": 11, "incorrect": 11, "verifi": 11, "castelli_perovskit": 11, "room_temperatur": 11, "return_lumo": 11, "expt_gap": 11, "me": 11, "glass_binari": 11, "explan": 11, "glass_ternary_hipt": 11, "unique_composit": 11, "glass_ternary_landolt": 11, "m2ax": 11, "include_structur": 11, "phonon_dielectric_mp": 11, "output_str": 11, "print_format": 11, "medium": 11, "sort_method": 11, "alphabet": [11, 18], "don": [11, 14, 16, 25], "anyth": 11, "num_entri": 11, "attrib_kei": 11, "dataset_column": 11, "pbar": [11, 13, 25], "otherwis": [11, 13, 14, 16, 18], "matminer_data": 11, "host": [12, 18], "test_alloi": [13, 14], "test_composit": [13, 14, 18], "test_el": [13, 14], "test_ion": [13, 14], "test_orbit": [13, 14], "test_pack": [13, 14], "test_thermo": [13, 14], "deltah_chem": [13, 14], "deltah_elast": [13, 14], "deltah_struct": [13, 14], "deltah_topo": [13, 14], "compute_atomic_fract": [13, 14], "compute_configuration_entropi": [13, 14], "compute_delta": [13, 14], "compute_enthalpi": [13, 14], "compute_gamma_radii": [13, 14], "compute_lambda": [13, 14], "compute_local_mismatch": [13, 14], "compute_magpie_summari": [13, 14], "compute_strength_local_mismatch_shear": [13, 14], "compute_weight_fract": [13, 14], "compute_omega": [13, 14], "from_preset": [13, 14, 16, 18], "cationproperti": [13, 14], "is_ion": [13, 14], "compute_nearest_cluster_dist": [13, 14], "compute_simultaneous_packing_effici": [13, 14], "create_cluster_lookup_tool": [13, 14], "find_ideal_cluster_s": [13, 14], "get_ideal_radius_ratio": [13, 14], "test_bond": [13, 16, 18], "test_chem": [13, 16], "test_extern": [13, 16], "test_fingerprint": [13, 16], "test_misc": [13, 16, 18], "test_rdf": [13, 16, 18], "get_wigner_coeff": [13, 16], "load_cn_motif_op_param": [13, 16], "load_cn_target_motif_op": [13, 16], "analyze_area_interstic": [13, 16], "analyze_dist_interstic": [13, 16], "analyze_vol_interstic": [13, 16], "cosine_cutoff": [13, 16], "g2": [13, 16], "g4": [13, 16], "test_matrix": [13, 18, 20], "test_ord": [13, 18], "test_sit": [13, 18], "test_symmetri": [13, 18], "enumerate_all_bond": [13, 18], "enumerate_bond": [13, 18], "calc_bv_sum": [13, 18], "calc_gii_iucr": [13, 18], "calc_gii_pymatgen": [13, 18], "compute_bv": [13, 18], "get_equiv_sit": [13, 18], "get_chem": [13, 18], "get_chg": [13, 18], "get_distribut": [13, 18], "get_atom_ofm": [13, 18], "get_mean_ofm": [13, 18], "get_ohv": [13, 18], "get_single_ofm": [13, 18], "get_structure_ofm": [13, 18], "compute_prdf": [13, 18], "get_rdf_bin_label": [13, 18], "partialssitestatsfingerprint": [13, 18], "compute_pssf": [13, 18], "all_featur": [13, 18], "crystal_idx": [13, 18], "bandstructurefeaturestest": [13, 20], "test_bandfeatur": [13, 20], "test_branchpointenergi": [13, 20], "fittablefeatur": [13, 20], "matrixfeatur": [13, 20], "multiargs2": [13, 20], "multitypefeatur": [13, 20], "multiplefeaturefeatur": [13, 20], "singlefeatur": [13, 20], "singlefeaturizermultiarg": [13, 20], "singlefeaturizermultiargswithprecheck": [13, 20], "singlefeaturizerwithprecheck": [13, 20], "testbaseclass": [13, 20], "make_test_data": [13, 20], "test_datafram": [13, 16, 17, 20], "test_featurize_mani": [13, 20], "test_fitt": [13, 20], "test_ignore_error": [13, 20], "test_indic": [13, 20], "test_inplac": [13, 20], "test_multifeature_no_zero_index": [13, 20], "test_multifeatures_multiarg": [13, 20], "test_multiindex_in_multifeatur": [13, 20], "test_multiindex_inplac": [13, 20], "test_multiindex_return": [13, 20], "test_multipl": [13, 20], "test_multiprocessing_df": [13, 20], "test_multitype_multifeat": [13, 20], "test_precheck": [13, 20], "test_stacked_featur": [13, 20], "testconvers": [13, 20], "test_ase_convers": [13, 20], "test_composition_to_oxidcomposit": [13, 20], "test_composition_to_structurefrommp": [13, 20], "test_conversion_multiindex": [13, 20], "test_conversion_multiindex_dynam": [13, 20], "test_conversion_overwrit": [13, 20], "test_dict_to_object": [13, 20], "test_json_to_object": [13, 20], "test_pymatgen_general_convert": [13, 20], "test_str_to_composit": [13, 20], "test_structure_to_composit": [13, 20], "test_structure_to_oxidstructur": [13, 20], "test_to_istructur": [13, 20], "dosfeaturestest": [13, 20], "test_dosfeatur": [13, 20], "test_dopingfermi": [13, 20], "test_dosasymmetri": [13, 20], "test_hybrid": [13, 20], "test_sitedo": [13, 20], "testfunctionfeatur": [13, 20], "test_featur": [13, 20], "test_featurize_label": [13, 20], "test_helper_funct": [13, 20], "test_multi_featur": [13, 20], "test_grdf": [13, 16, 17, 21], "test_oxid": [13, 21], "test_stat": [13, 21], "abstractpairwis": [13, 16, 21], "bessel": [13, 16, 21], "cosin": [13, 16, 21], "histogram": [13, 16, 21], "initialize_pairwise_funct": [13, 21], "has_oxidation_st": [13, 21], "avg_dev": [13, 18, 21], "calc_stat": [13, 21], "geom_std_dev": [13, 21], "inverse_mean": [13, 21], "quantil": [13, 21], "kpoint": 13, "find_method": 13, "nband": 13, "1x3": 13, "interpol": 13, "noth": 13, "scipi": [13, 18], "griddata": 13, "bandstructuresymmlin": 13, "float": [13, 14, 16, 18, 21, 25], "is_gap_direct": 13, "direct_gap": 13, "p_ex1_norm": 13, "n_ex1_norm": 13, "p_ex1_degen": 13, "n_ex1_degen": 13, "n_0": 13, "0_en": 13, "p_0": [13, 16], "extremum": 13, "is_cbm": 13, "get_cbm": 13, "email": [13, 14, 16, 18, 20], "ajain": [13, 14, 16, 18, 20], "lbl": [13, 14, 16, 18, 20], "lbnl": [13, 14, 16, 18, 20], "n_vb": 13, "n_cb": 13, "calculate_band_edg": 13, "atol": 13, "05": [13, 16, 18], "bpe": 13, "calc": 13, "equival": [13, 14, 16, 18], "irreduc": 13, "brillouin": 13, "zone": 13, "ibz": 13, "subtract": 13, "branch_point_energi": 13, "target_gap": 13, "uniform": [13, 18, 25], "symm": [13, 18, 21], "scissor": 13, "scope": 13, "scikitlearn": 13, "wrapper": [13, 18], "beyond": 13, "peopl": 13, "wrote": 13, "meaning": 13, "twice": 13, "affect": 13, "get_param": 13, "set_param": 13, "interoper": 13, "worthwhil": 13, "hard": [13, 14], "particularli": [13, 14, 16, 18], "literatur": [13, 25], "worth": 13, "parallelis": 13, "lightweight": 13, "overhead": 13, "pool": 13, "increas": [13, 18], "_chunksiz": 13, "magnitud": 13, "chunk": 13, "computation": 13, "thread": 13, "contrast": [13, 16], "trial": 13, "optimum": 13, "rule": [13, 18], "thumb": 13, "declar": 13, "overview": 13, "mention": 13, "reader": 13, "hyperlink": 13, "readthedoc": 13, "block": 13, "enough": 13, "explain": 13, "math": [13, 14], "behind": 13, "abl": 13, "idea": [13, 14], "col_id": 13, "return_error": 13, "multiindex": [13, 25], "thrown": 13, "encount": 13, "xfeatur": 13, "memori": 13, "overwrit": 13, "suppli": [13, 18], "traceback": 13, "fit_kwarg": [13, 16, 18, 20], "fit_arg": 13, "fit_transform": [13, 18], "guarante": [13, 14, 20, 25], "correctli": [13, 14, 18, 20], "ground": [13, 14, 20], "truth": [13, 14, 20], "unlik": [13, 14, 20], "obsolet": [13, 14, 20], "overridden": [13, 14, 16, 18, 20], "opportun": [13, 14, 20], "throw": [13, 14, 18, 20], "runtim": [13, 14, 20], "return_frac": 13, "union": [13, 25], "unless": [13, 18], "reason": 13, "unreli": 13, "iterate_over_entri": 13, "class_nam": 13, "regress": [13, 25], "probabl": [13, 18], "standalon": 13, "target_col_id": 13, "overwrite_data": 13, "even": [13, 18], "ase_atom": 13, "composition_oxid": 13, "coerce_mix": 13, "return_original_on_error": 13, "guess": 13, "alreadi": [13, 14, 16, 18], "begin": [13, 18, 21], "target_column": 13, "strip": 13, "cannot": [13, 18], "control": 13, "add_oxidation_state_by_guess": 13, "comp": [13, 14, 21], "decor": 13, "map_kei": 13, "docstr": 13, "accordingli": 13, "super": 13, "_object": 13, "dict_data": 13, "msonabl": 13, "as_dict": 13, "json_data": 13, "to_json": 13, "func": 13, "func_arg": 13, "func_kwarg": 13, "anonymized_formula": 13, "And": 13, "obj": 13, "string_composit": 13, "structure_oxid": 13, "decay_length": 13, "sampling_resolut": 13, "gaussian_smear": 13, "underlin": 13, "top": [13, 14], "cb": 13, "vb": 13, "exponenti": 13, "decai": 13, "cutoff": [13, 16, 18, 21], "five": [13, 18], "smear": [13, 18], "featurize_label": 13, "xbm_score_i": 13, "ith": 13, "xbm_location_i": 13, "xbm_character_i": 13, "xbm_specie_i": 13, "ex": 13, "xbm_hybrid": 13, "amount": [13, 16], "ln": [13, 14], "larger": [13, 16], "pdo": 13, "eref": 13, "midgap": 13, "return_eref": 13, "featurizar": 13, "fermido": 13, "treat": [13, 18], "align": 13, "equilibrium": 13, "dos_fermi": 13, "band_cent": 13, "fermi_c": 13, "20t300": 13, "1e20": 13, "fermi_c1": 13, "18t600": 13, "600k": 13, "quotient": 13, "directli": [13, 21], "meant": 13, "semi": [13, 14], "cbm_": 13, "energy_cutoff": 13, "vbm_sp": 13, "sp": [13, 18], "vbm_": 13, "vbm_p": 13, "cbm_si_p": 13, "extrema": 13, "pair": [13, 14, 16, 18, 25], "becaus": [13, 16, 18], "cbm_score_i": 13, "cbm_score_tot": 13, "vbm_score_i": 13, "vbm_score_tot": 13, "idx": [13, 16], "cbm_score": 13, "vbm_score": 13, "orbital_scor": 13, "locat": 13, "gather": [13, 14, 18], "accumul": 13, "express": 13, "multi_feature_depth": 13, "postprocess": 13, "combo_funct": 13, "latexify_label": 13, "elimin": 13, "redund": 13, "illeg": 13, "exp": [13, 16], "magpiedata_avg_dev_nfval": 13, "magpiedata_range_numb": 13, "nfvalenc": 13, "parseabl": 13, "pairwis": [13, 16, 18, 21], "cast": 13, "prod": 13, "cumul": 13, "combo": 13, "cleanli": 13, "render": 13, "latex": 13, "essenti": 13, "function_list": 13, "Not": [13, 18], "intend": 13, "invok": 13, "input_variable_nam": 13, "combo_depth": 13, "ones": [13, 16], "independ": 13, "trivial": 13, "compositionfeaturestest": [14, 15], "alloyfeaturizerstest": [14, 15], "test_wenalloi": [14, 15], "test_miedema_al": [14, 15], "test_miedema_ss": [14, 15], "test_yang": [14, 15], "compositefeaturestest": [14, 15], "test_elem": [14, 15], "test_elem_deml": [14, 15], "test_elem_matmin": [14, 15], "test_elem_matscholar_el": [14, 15], "test_elem_megnet_el": [14, 15], "test_fere_corr": [14, 15], "test_meredig": [14, 15], "elementfeaturestest": [14, 15], "test_band_cent": [14, 15], "test_fract": [14, 15], "test_stoich": [14, 15], "test_tm_fract": [14, 15], "ionfeaturestest": [14, 15], "test_cation_properti": [14, 15], "test_elec_affin": [14, 15], "test_en_diff": [14, 15], "test_is_ion": [14, 15], "test_oxidation_st": [14, 15], "orbitalfeaturestest": [14, 15], "test_atomic_orbit": [14, 15], "test_val": [14, 15], "packingfeaturestest": [14, 15], "test_ap": [14, 15], "thermofeaturestest": [14, 15], "test_cohesive_energi": [14, 15], "test_cohesive_energy_mp": [14, 15], "struct_typ": 14, "ss_type": 14, "min": [14, 18], "empir": [14, 25], "multicompon": 14, "formul": 14, "1980": 14, "sub": [14, 16, 18], "care": 14, "inter": [14, 18], "ss": 14, "amor": 14, "fcc": [14, 16], "hcp": [14, 16], "no_latt": 14, "73": 14, "molar_volum": 14, "electron_dens": 14, "valence_electron": 14, "a_const": 14, "r_const": 14, "h_tran": 14, "structural_st": 14, "miedema_deltah_int": 14, "miedema_deltah_ss": 14, "miedema_deltah_amor": 14, "frac": [14, 16, 18], "topolog": 14, "lattice_typ": 14, "qnd": [14, 18], "assist": 14, "wen": 14, "acta": [14, 18, 25], "materiala": 14, "170": 14, "109": 14, "117": 14, "battel": 14, "allianc": 14, "right": 14, "reserv": 14, "delta": [14, 18, 25], "vec": 14, "n_": [14, 16], "c_i": 14, "ga": 14, "left": 14, "v_i": [14, 16], "ass": 14, "h_mix": 14, "miracle_radius_stat": 14, "smallest": 14, "rac": 14, "r_": [14, 16], "miracleradiu": [14, 16], "yang_delta": 14, "eq": 14, "c_j": 14, "v_j": 14, "c_": 14, "v_": 14, "attribute_nam": 14, "mean_shear_modulu": 14, "g_i": 14, "ight": 14, "g_": [14, 16], "strengthen": 14, "linkinghub": 14, "elsevi": 14, "s0254058411009357": 14, "balanc": 14, "r_i": [14, 18], "radiu": [14, 16, 18], "miracl": 14, "tandfonlin": 14, "ref": 14, "1179": 14, "095066010x12646898728200": 14, "assess": [14, 21, 25], "t_m": 14, "s_": 14, "h_": 14, "nearli": 14, "unari": 14, "pymetgendata": 14, "deml": [14, 25], "all_attribut": 14, "preset_nam": 14, "matscholar_el": 14, "megnet_el": 14, "103": 14, "constitu": [14, 25], "rough": 14, "p_list": 14, "num_atom": 14, "p_norm": 14, "lp": 14, "frac_magn_atom": 14, "magn_moment": 14, "avg_anion_affin": 14, "cacoso": 14, "manner": 14, "en_diff_stat": 14, "oxidationstatemixin": 14, "dramat": 14, "heteroval": 14, "cpd_possibl": 14, "neutral": 14, "max_ionic_char": 14, "avg_ionic_char": 14, "estiat": 14, "pml": 14, "dilut": 14, "fec0": 14, "00001": 14, "truncat": [14, 16, 18], "situat": 14, "awar": 14, "homo_charact": 14, "homo_el": 14, "homo_energi": 14, "lumo_charact": 14, "lumo_el": 14, "lumo_energi": 14, "gap_ao": 14, "energei": 14, "avg": [14, 18], "valence_attribut": 14, "threshold": 14, "n_nearest": 14, "max_typ": 14, "sphere": [14, 16, 18], "doifind": 14, "ncomms9123": 14, "simultan": 14, "central": [14, 16], "too": 14, "dist": [14, 16, 18], "thr": 14, "closer": 14, "ferri": 14, "nat": [14, 16], "8123": 14, "veri": [14, 25], "l_2": 14, "unmatch": 14, "nearbi": 14, "radius_ratio": 14, "minim": [14, 18], "rp": 14, "n_neighbor": 14, "lord": 14, "ranganathan": 14, "nn": [14, 16, 18], "known": [14, 25], "yourself": 14, "eg": 14, "nacl": 14, "sitefeaturizertest": [16, 17], "teardown": [16, 17, 25, 27], "bondingtest": [16, 17], "test_averagebondangl": [16, 17], "test_averagebondlength": [16, 17], "test_bop": [16, 17], "chemicalsitetest": [16, 17], "test_chemicalsro": [16, 17], "test_ewald_sit": [16, 17], "test_local_prop_diff": [16, 17], "test_site_elem_prop": [16, 17], "externalsitetest": [16, 17], "test_soap": [16, 17], "fingerprinttest": [16, 17], "test_chemenv_site_fingerprint": [16, 17], "test_crystal_nn_fingerprint": [16, 17], "test_off_center_cscl": [16, 17], "test_op_site_fingerprint": [16, 17], "test_simple_cub": [16, 17], "test_voronoifingerprint": [16, 17], "miscsitetest": [16, 17], "test_cn": [16, 17], "test_interstice_distribution_of_cryst": [16, 17], "test_interstice_distribution_of_glass": [16, 17], "rdftest": [16, 17], "test_af": [16, 17], "test_gaussiansymmfunc": [16, 17], "adjac": 16, "strc": [16, 18], "proxim": 16, "max_l": 16, "compute_w": 16, "compute_w_hat": 16, "bop": 16, "invari": 16, "rotat": 16, "steinhardt": 16, "weigh": [16, 18], "mickel": 16, "scitat": 16, "4774084": 16, "vari": 16, "smoothli": 16, "propos": [16, 18], "_prb_": [16, 18], "1983": 16, "wigner": 16, "3j": 16, "triplet": 16, "sro": 16, "f_el": 16, "n_el": 16, "c_el": 16, "rais": 16, "csro__": 16, "csro": 16, "mendeleev": [16, 18], "intersect": [16, 18], "el_list_": 16, "besid": 16, "el_amt_dict_": 16, "choic": [16, 18], "voronoinn": [16, 18], "jmolnn": [16, 18], "miniumdistancenn": [16, 18], "minimumokeeffenn": [16, 18], "minimumvirenn": [16, 18], "loop": 16, "ewald_site_energi": 16, "decim": [16, 18], "sign": 16, "a_n": 16, "sum_n": [16, 18], "p_n": 16, "aspect": 16, "schmidt": 16, "_chem": 16, "mater_": 16, "rcut": 16, "nmax": 16, "lmax": 16, "rbf": 16, "gto": 16, "crossov": 16, "spectrum": 16, "real": 16, "tesser": 16, "basi": [16, 18], "orthonorm": 16, "altern": 16, "polynomi": 16, "On": 16, "albert": 16, "bart\u00f3k": 16, "risi": 16, "kondor": 16, "g\u00e1bor": 16, "cs\u00e1nyi": 16, "184115": 16, "alchem": 16, "sandip": 16, "michel": 16, "ceriotti": 16, "13754": 16, "c6cp00415f": 16, "singroup": 16, "himanen": 16, "ger": 16, "morooka": 16, "federici": 16, "canova": 16, "ranawat": 16, "gao": 16, "rink": 16, "106949": 16, "cpc": 16, "region": 16, "bigger": 16, "expand": 16, "nl": 16, "sum_": [16, 18], "mathrm": 16, "beta_": 16, "alpha_": 16, "cut": [16, 18], "disabl": 16, "definit": [16, 18], "sitecollect": 16, "choos": [16, 18], "eta": 16, "empirici": 16, "a_i": 16, "limits_": 16, "ij": 16, "pi": 16, "r_c": 16, "th": [16, 18], "bold": 16, "_i": 16, "_j": 16, "differenti": [16, 18], "mayb": 16, "cetyp": 16, "strategi": 16, "geom_find": 16, "max_csm": 16, "max_dist_fac": 16, "41": 16, "percentag": 16, "ce": 16, "chemenvstrategi": 16, "localgeometryfind": 16, "finder": 16, "continu": 16, "csm": 16, "constrain": 16, "multi_weight": 16, "op_typ": 16, "chem_info": 16, "wt": 16, "multipli": [16, 18], "crystalnn": [16, 18], "liter": 16, "octahedr": 16, "tetrahedr": 16, "target_motif": 16, "dr": [16, 18], "ddr": 16, "ndr": 16, "dop": 16, "001": 16, "dist_exp": 16, "zero_op": 16, "compli": 16, "next": 16, "largest": [16, 18], "variat": [16, 18], "wherea": [16, 18], "expon": 16, "penal": 16, "switch": 16, "off": [16, 18], "tetrahedron": 16, "opval": 16, "use_symm_weight": 16, "symm_weight": 16, "solid_angl": 16, "stats_vol": 16, "stats_area": 16, "stats_dist": 16, "n_i": 16, "denot": [16, 18], "icosahedra": 16, "stronger": 16, "use_weight": 16, "polyhedron": 16, "sub_polyhedra": 16, "face_dist": 16, "fpor": 16, "discontinu": 16, "96": 16, "cn_": 16, "w_n": [16, 18], "coordint": 16, "interstice_typ": 16, "radius_typ": 16, "categor": 16, "empti": 16, "triangul": 16, "surfac": 16, "portion": 16, "5537": 16, "anisotrop": 16, "inequ": 16, "grid": 16, "despit": 16, "systemat": 16, "vol": 16, "nn_coord": 16, "nn_r": 16, "convex_hull_simplic": 16, "analyz": [16, 18], "simplici": 16, "area_interstice_list": 16, "center_r": 16, "nn_dist": 16, "dist_interstice_list": 16, "center_coord": 16, "tetrahedra": 16, "volume_interstice_list": 16, "interstice_fp": 16, "g_n": 16, "squar": [16, 18], "trig": 16, "d_n": 16, "rectangular": [16, 21], "gn": 16, "g1": 16, "slowli": 16, "std": 16, "dev": 16, "etas_g2": 16, "etas_g4": 16, "zetas_g4": 16, "gammas_g4": 16, "074106": 16, "2011": 16, "fortran": 16, "amp": 16, "atomist": 16, "bitbucket": 16, "andrewpeterson": 16, "80": 16, "005": 16, "zeta": 16, "ndarrai": [16, 18, 21], "neigh_dist": 16, "neigh_coord": 16, "n_bin": 16, "omit": [16, 18], "n_site": 16, "translat": 16, "mutual": 16, "exclus": 16, "pairwise_grdf": 16, "site2": 16, "struc": 16, "deconstruct": [17, 27], "structurefeaturestest": [18, 19], "bondingstructuretest": [18, 19], "test_globalinstabilityindex": [18, 19], "test_bob": [18, 19], "test_bondfract": [18, 19], "test_min_relative_dist": [18, 19], "test_ward_prb_2017_strhet": [18, 19], "compositestructurefeaturestest": [18, 19], "test_jarviscfid": [18, 19], "matrixstructurefeaturestest": [18, 19], "test_coulomb_matrix": [18, 19], "test_orbital_field_matrix": [18, 19], "test_sine_coulomb_matrix": [18, 19], "miscstructurefeaturestest": [18, 19], "test_composition_featur": [18, 19], "test_ewald": [18, 19], "test_xrd_powderpattern": [18, 19], "orderstructurefeaturestest": [18, 19], "test_density_featur": [18, 19], "test_ordering_param": [18, 19], "test_packing_effici": [18, 19], "test_structural_complex": [18, 19], "structurerdftest": [18, 19], "test_get_rdf_bin_label": [18, 19], "test_prdf": [18, 19], "test_rdf_and_peak": [18, 19], "test_redf": [18, 19], "partialstructuresitesfeaturestest": [18, 19], "test_partialsitestatsfingerprint": [18, 19], "test_ward_prb_2017_efftcn": [18, 19], "test_ward_prb_2017_lpd": [18, 19], "structuresitesfeaturestest": [18, 19], "test_sitestatsfingerprint": [18, 19], "structuresymmetryfeaturestest": [18, 19], "test_dimension": [18, 19], "test_global_symmetri": [18, 19], "coulomb_matrix": 18, "token": 18, "coloumb": 18, "occur": [18, 21], "nonloc": 18, "pad": 18, "cl": 18, "return_baglen": 18, "concaten": 18, "val": 18, "local_env": 18, "bbv": 18, "no_oxi": 18, "approx_bond": 18, "allowed_bond": 18, "ie": 18, "bad": 18, "balip": 18, "batio3": 18, "agnost": 18, "ca2": 18, "o2": 18, "ca3": 18, "forbidden": 18, "euclidean": 18, "listlik": 18, "dure": [18, 25], "training_data": 18, "r_cut": 18, "disordered_pymatgen": 18, "iucr": [18, 25], "disord": 18, "prone": 18, "gii": 18, "r2bacuo5": 18, "lu": 18, "yb": 18, "tm": 18, "er": 18, "ho": 18, "dy": 18, "gd": 18, "eu": 18, "sm": 18, "neutron": 18, "salina": 18, "sanchez": 18, "garcia": 18, "mu\u00f1oz": 18, "carvaj": 18, "saez": 18, "puch": 18, "martinez": 18, "201": 18, "211": 18, "1992": 18, "0022": 18, "4596": 18, "92": 18, "90094": 18, "fall": 18, "back": [18, 25], "root": 18, "site_v": 18, "site_el": 18, "neighbor_list": 18, "tabul": [18, 25], "scale_factor": 18, "965": 18, "tunabl": 18, "ro": 18, "cat_val": [18, 25], "an_val": [18, 25], "iupac": [18, 25], "bond_val_list": [18, 25], "include_dist": 18, "include_speci": 18, "f_ij": 18, "r_ij": 18, "atom_i": 18, "atom_j": 18, "fact": 18, "regardless": 18, "flat": 18, "fewer": 18, "tent": 18, "dists_relative_min": 18, "mrd": 18, "use_cel": 18, "use_chem": 18, "use_chg": 18, "use_rdf": 18, "use_adf": 18, "use_ddf": 18, "use_nn": 18, "chemo": 18, "dihedr": 18, "557": 18, "usnistgov": 18, "prmateri": 18, "438": 18, "378": 18, "179": 18, "arr": 18, "c_size": 18, "max_cut": 18, "adfa": 18, "adfb": 18, "ddf": 18, "bondo": 18, "diag_elem": 18, "put": 18, "forward": 18, "rupp": 18, "058301": 18, "diagon": 18, "m_ij": 18, "z_i": 18, "z_j": 18, "r_j": 18, "period_tag": 18, "39": 18, "subshel": 18, "32x32": 18, "39x39": 18, "polyhedra": 18, "lanthanid": 18, "actinid": 18, "1024": 18, "pham": 18, "_sci": 18, "tech": 18, "adv": 18, "mat_": 18, "1080": 18, "14686996": 18, "1378060": 18, "themselv": 18, "mean_ofm": 18, "count": 18, "hot": 18, "whose": 18, "ohv": 18, "my_ohv": 18, "site_dict": 18, "atom_ofm": 18, "sin": [18, 21], "dimens": 18, "per_atom": 18, "_charg": 18, "structure_": 18, "ewald_energi": 18, "two_theta_rang": 18, "127": 18, "bw_method": 18, "pattern_length": 18, "gaussian_kd": 18, "two_theta": 18, "wavelength": 18, "xrd": 18, "xrdcalcul": 18, "radiat": 18, "warren": 18, "cowlei": 18, "t_n": 18, "x_t": 18, "t_p": 18, "randomli": 18, "surround": 18, "sup": 18, "desired_featur": 18, "touch": 18, "symprec": 18, "equat": 18, "p_i": 18, "log_2": 18, "m_i": 18, "inequival": 18, "bit": 18, "willighagen": 18, "cryst": [18, 25], "2005": [18, 25], "b61": 18, "36": 18, "valenceionicradiusevalu": 18, "bin_siz": 18, "include_elem": 18, "exclude_elem": 18, "broken": 18, "schutt": 18, "prb": 18, "89": 18, "205118": 18, "discret": 18, "00": 18, "dist_bin": 18, "pari": 18, "nx1": 18, "bin_dist": 18, "inner": 18, "site_featur": 18, "min_oxi": 18, "max_oxi": 18, "break": 18, "nth": 18, "_mode": 18, "2nd_mode": 18, "pssf": 18, "ssf": 18, "sitestatsfeatur": 18, "fittabl": 18, "nn_method": 18, "isol": 18, "connect": 18, "centrosymmetri": 18, "spacegroup_num": 18, "crystal_system": 18, "crystal_system_int": 18, "is_centrosymmetr": 18, "n_symmetry_op": 18, "monoclin": 18, "orthorhomb": 18, "triclin": 18, "trigon": 18, "refitt": 20, "dtype": [20, 25], "lack": 20, "grdftest": [21, 22], "test_bessel": [21, 22], "test_cosin": [21, 22], "test_gaussian": [21, 22], "test_histogram": [21, 22], "test_load_class": [21, 22], "test_sin": [21, 22], "oxidationtest": [21, 22], "test_has_oxidation_st": [21, 22], "testpropertystat": [21, 22], "test_avg_dev": [21, 22], "test_geom_std_dev": [21, 22], "test_holder_mean": [21, 22], "test_kurtosi": [21, 22], "test_maximum": [21, 22], "test_mean": [21, 22], "test_minimum": [21, 22], "test_mod": [21, 22], "test_quantil": [21, 22], "test_rang": [21, 22], "test_skew": [21, 22], "test_std_dev": [21, 22], "instanti": [21, 25], "commonli": 21, "holder": 21, "0th": 21, "cours": 21, "data_lst": 21, "arithmet": 21, "frequent": 21, "shew": 21, "test_plot": 23, "testcach": [25, 27], "testdemldata": [25, 27], "test_get_oxid": [25, 27], "test_get_properti": [25, 27], "testiucrbondvalencedata": [25, 27], "testmegnetdata": [25, 27], "testmagpiedata": [25, 27], "testmatscholardata": [25, 27], "testmixingenthalpi": [25, 27], "testpymatgendata": [25, 27], "flattendicttest": [25, 27], "test_flatten_nested_dict": [25, 27], "iotest": [25, 27], "test_load_dataframe_from_json": [25, 27], "test_store_dataframe_as_json": [25, 27], "generate_json_fil": [25, 27], "get_all_nn_info": 25, "site_idx": 25, "get_nn_info": 25, "elem": 25, "property_nam": 25, "knowledgedoor": 25, "onlin": 25, "elements_handbook": 25, "cohesive_energi": 25, "8th": 25, "charl": 25, "kittel": 25, "471": 25, "41526": 25, "hayr": 25, "stevanov": 25, "conden": 25, "93": 25, "interpolate_soft": 25, "crystallographi": 25, "notic": 25, "disclaim": 25, "fee": 25, "profit": 25, "anyon": 25, "owner": 25, "suitabl": 25, "_audit_upd": 25, "regard": 25, "brown": 25, "brockhous": 25, "mcmaster": 25, "hamilton": 25, "ontario": 25, "canada": 25, "idbrown": 25, "warrant": 25, "nor": 25, "advis": 25, "br": 25, "se": 25, "assumpt": 25, "brese": 25, "keeff": 25, "1991": 25, "b47": 25, "194": 25, "usual": 25, "soft": 25, "materialsvirtuallab": 25, "chi": 25, "weik": 25, "ye": 25, "yunx": 25, "zuo": 25, "zheng": 25, "3564": 25, "3572": 25, "chemmat": 25, "9b01294": 25, "smaller": 25, "though": 25, "quit": 25, "magpie_elementdata_feature_descript": 25, "nlp": 25, "million": 25, "tshitoyan": 25, "dagdelen": 25, "weston": 25, "unsupervis": 25, "captur": 25, "latent": 25, "571": 25, "95": 25, "s41586": 25, "019": 25, "1335": 25, "inou": 25, "Its": 25, "tran": 25, "46": 25, "2817": 25, "2829": 25, "valid_element_list": 25, "elema": 25, "elemb": 25, "use_common_oxi_st": 25, "kocher": 25, "314": 25, "nested_dict": 25, "lead_kei": 25, "recurs": 25, "walk": 25, "append": 25, "front": 25, "ascii": 25, "inconveni": 25, "suffix": 25, "to_dict": 25, "preserv": 25, "rate": 25, "arr0": 25, "arr1": 25, "krr": 25, "trick": 25, "unwant": 25, "featureunion": 25, "auto_exampl": 25, "hetero_feature_union": 25, "default_kei": 25, "coerc": 25, "homogen": 25, "parent": 25, "subpackag": 28}, "objects": {"": [[8, 0, 0, "-", "matminer"]], "matminer": [[9, 0, 0, "-", "data_retrieval"], [11, 0, 0, "-", "datasets"], [13, 0, 0, "-", "featurizers"], [25, 0, 0, "-", "utils"]], "matminer.data_retrieval": [[9, 0, 0, "-", "retrieve_AFLOW"], [9, 0, 0, "-", "retrieve_Citrine"], [9, 0, 0, "-", "retrieve_MDF"], [9, 0, 0, "-", "retrieve_MP"], [9, 0, 0, "-", "retrieve_MPDS"], [9, 0, 0, "-", "retrieve_MongoDB"], [9, 0, 0, "-", "retrieve_base"], [10, 0, 0, "-", "tests"]], "matminer.data_retrieval.retrieve_AFLOW": [[9, 1, 1, "", "AFLOWDataRetrieval"], [9, 1, 1, "", "RetrievalQuery"]], "matminer.data_retrieval.retrieve_AFLOW.AFLOWDataRetrieval": [[9, 2, 1, "", "api_link"], [9, 2, 1, "", "citations"], [9, 2, 1, "", "get_dataframe"], [9, 2, 1, "", "get_relaxed_structure"]], "matminer.data_retrieval.retrieve_AFLOW.RetrievalQuery": [[9, 2, 1, "", "from_pymongo"]], "matminer.data_retrieval.retrieve_Citrine": [[9, 1, 1, "", "CitrineDataRetrieval"], [9, 3, 1, "", "get_value"], [9, 3, 1, "", "parse_scalars"]], "matminer.data_retrieval.retrieve_Citrine.CitrineDataRetrieval": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "api_link"], [9, 2, 1, "", "citations"], [9, 2, 1, "", "get_data"], [9, 2, 1, "", "get_dataframe"]], "matminer.data_retrieval.retrieve_MDF": [[9, 1, 1, "", "MDFDataRetrieval"], [9, 3, 1, "", "make_dataframe"]], "matminer.data_retrieval.retrieve_MDF.MDFDataRetrieval": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "api_link"], [9, 2, 1, "", "citations"], [9, 2, 1, "", "get_data"], [9, 2, 1, "", "get_dataframe"]], "matminer.data_retrieval.retrieve_MP": [[9, 1, 1, "", "MPDataRetrieval"]], "matminer.data_retrieval.retrieve_MP.MPDataRetrieval": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "api_link"], [9, 2, 1, "", "citations"], [9, 2, 1, "", "get_data"], [9, 2, 1, "", "get_dataframe"], [9, 2, 1, "", "try_get_prop_by_material_id"]], "matminer.data_retrieval.retrieve_MPDS": [[9, 4, 1, "", "APIError"], [9, 1, 1, "", "MPDSDataRetrieval"]], "matminer.data_retrieval.retrieve_MPDS.APIError": [[9, 2, 1, "", "__init__"]], "matminer.data_retrieval.retrieve_MPDS.MPDSDataRetrieval": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "api_link"], [9, 5, 1, "", "chillouttime"], [9, 2, 1, "", "citations"], [9, 2, 1, "", "compile_crystal"], [9, 5, 1, "", "default_properties"], [9, 5, 1, "", "endpoint"], [9, 2, 1, "", "get_data"], [9, 2, 1, "", "get_dataframe"], [9, 5, 1, "", "maxnpages"], [9, 5, 1, "", "pagesize"]], "matminer.data_retrieval.retrieve_MongoDB": [[9, 1, 1, "", "MongoDataRetrieval"], [9, 3, 1, "", "clean_projection"], [9, 3, 1, "", "is_int"], [9, 3, 1, "", "remove_ints"]], "matminer.data_retrieval.retrieve_MongoDB.MongoDataRetrieval": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "api_link"], [9, 2, 1, "", "get_dataframe"]], "matminer.data_retrieval.retrieve_base": [[9, 1, 1, "", "BaseDataRetrieval"]], "matminer.data_retrieval.retrieve_base.BaseDataRetrieval": [[9, 2, 1, "", "api_link"], [9, 2, 1, "", "citations"], [9, 2, 1, "", "get_dataframe"]], "matminer.data_retrieval.tests": [[10, 0, 0, "-", "base"], [10, 0, 0, "-", "test_retrieve_AFLOW"], [10, 0, 0, "-", "test_retrieve_Citrine"], [10, 0, 0, "-", "test_retrieve_MDF"], [10, 0, 0, "-", "test_retrieve_MP"], [10, 0, 0, "-", "test_retrieve_MPDS"], [10, 0, 0, "-", "test_retrieve_MongoDB"]], "matminer.data_retrieval.tests.test_retrieve_AFLOW": [[10, 1, 1, "", "AFLOWDataRetrievalTest"]], "matminer.data_retrieval.tests.test_retrieve_AFLOW.AFLOWDataRetrievalTest": [[10, 2, 1, "", "setUp"], [10, 2, 1, "", "test_get_data"]], "matminer.data_retrieval.tests.test_retrieve_Citrine": [[10, 1, 1, "", "CitrineDataRetrievalTest"]], "matminer.data_retrieval.tests.test_retrieve_Citrine.CitrineDataRetrievalTest": [[10, 2, 1, "", "setUp"], [10, 2, 1, "", "test_get_data"], [10, 2, 1, "", "test_multiple_items_in_list"]], "matminer.data_retrieval.tests.test_retrieve_MDF": [[10, 1, 1, "", "MDFDataRetrievalTest"]], "matminer.data_retrieval.tests.test_retrieve_MDF.MDFDataRetrievalTest": [[10, 2, 1, "", "setUpClass"], [10, 2, 1, "", "test_get_dataframe"], [10, 2, 1, "", "test_get_dataframe_by_query"], [10, 2, 1, "", "test_make_dataframe"]], "matminer.data_retrieval.tests.test_retrieve_MP": [[10, 1, 1, "", "MPDataRetrievalTest"]], "matminer.data_retrieval.tests.test_retrieve_MP.MPDataRetrievalTest": [[10, 2, 1, "", "setUp"], [10, 2, 1, "", "test_get_data"]], "matminer.data_retrieval.tests.test_retrieve_MPDS": [[10, 1, 1, "", "MPDSDataRetrievalTest"]], "matminer.data_retrieval.tests.test_retrieve_MPDS.MPDSDataRetrievalTest": [[10, 2, 1, "", "setUp"], [10, 2, 1, "", "test_valid_answer"]], "matminer.data_retrieval.tests.test_retrieve_MongoDB": [[10, 1, 1, "", "MongoDataRetrievalTest"]], "matminer.data_retrieval.tests.test_retrieve_MongoDB.MongoDataRetrievalTest": [[10, 2, 1, "", "test_cleaned_projection"], [10, 2, 1, "", "test_get_dataframe"], [10, 2, 1, "", "test_remove_ints"]], "matminer.datasets": [[11, 0, 0, "-", "convenience_loaders"], [11, 0, 0, "-", "dataset_retrieval"], [12, 0, 0, "-", "tests"], [11, 0, 0, "-", "utils"]], "matminer.datasets.convenience_loaders": [[11, 3, 1, "", "load_boltztrap_mp"], [11, 3, 1, "", "load_brgoch_superhard_training"], [11, 3, 1, "", "load_castelli_perovskites"], [11, 3, 1, "", "load_citrine_thermal_conductivity"], [11, 3, 1, "", "load_dielectric_constant"], [11, 3, 1, "", "load_double_perovskites_gap"], [11, 3, 1, "", "load_double_perovskites_gap_lumo"], [11, 3, 1, "", "load_elastic_tensor"], [11, 3, 1, "", "load_expt_formation_enthalpy"], [11, 3, 1, "", "load_expt_gap"], [11, 3, 1, "", "load_flla"], [11, 3, 1, "", "load_glass_binary"], [11, 3, 1, "", "load_glass_ternary_hipt"], [11, 3, 1, "", "load_glass_ternary_landolt"], [11, 3, 1, "", "load_heusler_magnetic"], [11, 3, 1, "", "load_jarvis_dft_2d"], [11, 3, 1, "", "load_jarvis_dft_3d"], [11, 3, 1, "", "load_jarvis_ml_dft_training"], [11, 3, 1, "", "load_m2ax"], [11, 3, 1, "", "load_mp"], [11, 3, 1, "", "load_phonon_dielectric_mp"], [11, 3, 1, "", "load_piezoelectric_tensor"], [11, 3, 1, "", "load_steel_strength"], [11, 3, 1, "", "load_wolverton_oxides"]], "matminer.datasets.dataset_retrieval": [[11, 3, 1, "", "get_all_dataset_info"], [11, 3, 1, "", "get_available_datasets"], [11, 3, 1, "", "get_dataset_attribute"], [11, 3, 1, "", "get_dataset_citations"], [11, 3, 1, "", "get_dataset_column_description"], [11, 3, 1, "", "get_dataset_columns"], [11, 3, 1, "", "get_dataset_description"], [11, 3, 1, "", "get_dataset_num_entries"], [11, 3, 1, "", "get_dataset_reference"], [11, 3, 1, "", "load_dataset"]], "matminer.datasets.tests": [[12, 0, 0, "-", "base"], [12, 0, 0, "-", "test_convenience_loaders"], [12, 0, 0, "-", "test_dataset_retrieval"], [12, 0, 0, "-", "test_datasets"], [12, 0, 0, "-", "test_utils"]], "matminer.datasets.tests.base": [[12, 1, 1, "", "DatasetTest"]], "matminer.datasets.tests.base.DatasetTest": [[12, 2, 1, "", "setUp"]], "matminer.datasets.tests.test_dataset_retrieval": [[12, 1, 1, "", "DataRetrievalTest"]], "matminer.datasets.tests.test_dataset_retrieval.DataRetrievalTest": [[12, 2, 1, "", "test_get_all_dataset_info"], [12, 2, 1, "", "test_get_dataset_attribute"], [12, 2, 1, "", "test_get_dataset_citations"], [12, 2, 1, "", "test_get_dataset_column_descriptions"], [12, 2, 1, "", "test_get_dataset_columns"], [12, 2, 1, "", "test_get_dataset_description"], [12, 2, 1, "", "test_get_dataset_num_entries"], [12, 2, 1, "", "test_get_dataset_reference"], [12, 2, 1, "", "test_load_dataset"], [12, 2, 1, "", "test_print_available_datasets"]], "matminer.datasets.tests.test_datasets": [[12, 1, 1, "", "DataSetsTest"], [12, 1, 1, "", "MatbenchDatasetsTest"], [12, 1, 1, "", "MatminerDatasetsTest"]], "matminer.datasets.tests.test_datasets.DataSetsTest": [[12, 2, 1, "", "universal_dataset_check"]], "matminer.datasets.tests.test_datasets.MatbenchDatasetsTest": [[12, 2, 1, "", "test_matbench_v0_1"]], "matminer.datasets.tests.test_datasets.MatminerDatasetsTest": [[12, 2, 1, "", "test_boltztrap_mp"], [12, 2, 1, "", "test_brgoch_superhard_training"], [12, 2, 1, "", "test_castelli_perovskites"], [12, 2, 1, "", "test_citrine_thermal_conductivity"], [12, 2, 1, "", "test_dielectric_constant"], [12, 2, 1, "", "test_double_perovskites_gap"], [12, 2, 1, "", "test_double_perovskites_gap_lumo"], [12, 2, 1, "", "test_elastic_tensor_2015"], [12, 2, 1, "", "test_expt_formation_enthalpy"], [12, 2, 1, "", "test_expt_formation_enthalpy_kingsbury"], [12, 2, 1, "", "test_expt_gap"], [12, 2, 1, "", "test_expt_gap_kingsbury"], [12, 2, 1, "", "test_flla"], [12, 2, 1, "", "test_glass_binary"], [12, 2, 1, "", "test_glass_binary_v2"], [12, 2, 1, "", "test_glass_ternary_hipt"], [12, 2, 1, "", "test_glass_ternary_landolt"], [12, 2, 1, "", "test_heusler_magnetic"], [12, 2, 1, "", "test_jarvis_dft_2d"], [12, 2, 1, "", "test_jarvis_dft_3d"], [12, 2, 1, "", "test_jarvis_ml_dft_training"], [12, 2, 1, "", "test_m2ax"], [12, 2, 1, "", "test_mp_all_20181018"], [12, 2, 1, "", "test_mp_nostruct_20181018"], [12, 2, 1, "", "test_phonon_dielectric_mp"], [12, 2, 1, "", "test_piezoelectric_tensor"], [12, 2, 1, "", "test_ricci_boltztrap_mp_tabular"], [12, 2, 1, "", "test_steel_strength"], [12, 2, 1, "", "test_superconductivity2018"], [12, 2, 1, "", "test_tholander_nitrides_e_form"], [12, 2, 1, "", "test_ucsb_thermoelectrics"], [12, 2, 1, "", "test_wolverton_oxides"]], "matminer.datasets.tests.test_utils": [[12, 1, 1, "", "UtilsTest"]], "matminer.datasets.tests.test_utils.UtilsTest": [[12, 2, 1, "", "test_fetch_external_dataset"], [12, 2, 1, "", "test_get_data_home"], [12, 2, 1, "", "test_get_file_sha256_hash"], [12, 2, 1, "", "test_load_dataset_dict"], [12, 2, 1, "", "test_read_dataframe_from_file"], [12, 2, 1, "", "test_validate_dataset"]], "matminer.featurizers": [[13, 0, 0, "-", "bandstructure"], [13, 0, 0, "-", "base"], [14, 0, 0, "-", "composition"], [13, 0, 0, "-", "conversions"], [13, 0, 0, "-", "dos"], [13, 0, 0, "-", "function"], [16, 0, 0, "-", "site"], [18, 0, 0, "-", "structure"], [20, 0, 0, "-", "tests"], [21, 0, 0, "-", "utils"]], "matminer.featurizers.bandstructure": [[13, 1, 1, "", "BandFeaturizer"], [13, 1, 1, "", "BranchPointEnergy"]], "matminer.featurizers.bandstructure.BandFeaturizer": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "feature_labels"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "get_bindex_bspin"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.bandstructure.BranchPointEnergy": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "feature_labels"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.base": [[13, 1, 1, "", "BaseFeaturizer"], [13, 1, 1, "", "MultipleFeaturizer"], [13, 1, 1, "", "StackedFeaturizer"]], "matminer.featurizers.base.BaseFeaturizer": [[13, 6, 1, "", "chunksize"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "feature_labels"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "featurize_dataframe"], [13, 2, 1, "", "featurize_many"], [13, 2, 1, "", "featurize_wrapper"], [13, 2, 1, "", "fit"], [13, 2, 1, "", "fit_featurize_dataframe"], [13, 2, 1, "", "implementors"], [13, 6, 1, "", "n_jobs"], [13, 2, 1, "", "precheck"], [13, 2, 1, "", "precheck_dataframe"], [13, 2, 1, "", "set_chunksize"], [13, 2, 1, "", "set_n_jobs"], [13, 2, 1, "", "transform"]], "matminer.featurizers.base.MultipleFeaturizer": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "feature_labels"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "featurize_many"], [13, 2, 1, "", "featurize_wrapper"], [13, 2, 1, "", "fit"], [13, 2, 1, "", "implementors"], [13, 2, 1, "", "set_n_jobs"]], "matminer.featurizers.base.StackedFeaturizer": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "feature_labels"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.composition": [[14, 0, 0, "-", "alloy"], [14, 0, 0, "-", "composite"], [14, 0, 0, "-", "element"], [14, 0, 0, "-", "ion"], [14, 0, 0, "-", "orbital"], [14, 0, 0, "-", "packing"], [15, 0, 0, "-", "tests"], [14, 0, 0, "-", "thermo"]], "matminer.featurizers.composition.alloy": [[14, 1, 1, "", "Miedema"], [14, 1, 1, "", "WenAlloys"], [14, 1, 1, "", "YangSolidSolution"]], "matminer.featurizers.composition.alloy.Miedema": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "citations"], [14, 2, 1, "", "deltaH_chem"], [14, 2, 1, "", "deltaH_elast"], [14, 2, 1, "", "deltaH_struct"], [14, 2, 1, "", "deltaH_topo"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "implementors"], [14, 2, 1, "", "precheck"]], "matminer.featurizers.composition.alloy.WenAlloys": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "citations"], [14, 2, 1, "", "compute_atomic_fraction"], [14, 2, 1, "", "compute_configuration_entropy"], [14, 2, 1, "", "compute_delta"], [14, 2, 1, "", "compute_enthalpy"], [14, 2, 1, "", "compute_gamma_radii"], [14, 2, 1, "", "compute_lambda"], [14, 2, 1, "", "compute_local_mismatch"], [14, 2, 1, "", "compute_magpie_summary"], [14, 2, 1, "", "compute_strength_local_mismatch_shear"], [14, 2, 1, "", "compute_weight_fraction"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "implementors"], [14, 2, 1, "", "precheck"]], "matminer.featurizers.composition.alloy.YangSolidSolution": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "citations"], [14, 2, 1, "", "compute_delta"], [14, 2, 1, "", "compute_omega"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "implementors"], [14, 2, 1, "", "precheck"]], "matminer.featurizers.composition.composite": [[14, 1, 1, "", "ElementProperty"], [14, 1, 1, "", "Meredig"]], "matminer.featurizers.composition.composite.ElementProperty": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "citations"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "from_preset"], [14, 2, 1, "", "implementors"]], "matminer.featurizers.composition.composite.Meredig": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "citations"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "implementors"]], "matminer.featurizers.composition.element": [[14, 1, 1, "", "BandCenter"], [14, 1, 1, "", "ElementFraction"], [14, 1, 1, "", "Stoichiometry"], [14, 1, 1, "", "TMetalFraction"]], "matminer.featurizers.composition.element.BandCenter": [[14, 2, 1, "", "citations"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "implementors"]], "matminer.featurizers.composition.element.ElementFraction": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "citations"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "implementors"]], "matminer.featurizers.composition.element.Stoichiometry": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "citations"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "implementors"]], "matminer.featurizers.composition.element.TMetalFraction": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "citations"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "implementors"]], "matminer.featurizers.composition.ion": [[14, 1, 1, "", "CationProperty"], [14, 1, 1, "", "ElectronAffinity"], [14, 1, 1, "", "ElectronegativityDiff"], [14, 1, 1, "", "IonProperty"], [14, 1, 1, "", "OxidationStates"], [14, 3, 1, "", "is_ionic"]], "matminer.featurizers.composition.ion.CationProperty": [[14, 2, 1, "", "citations"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "from_preset"]], "matminer.featurizers.composition.ion.ElectronAffinity": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "citations"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "implementors"]], "matminer.featurizers.composition.ion.ElectronegativityDiff": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "citations"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "implementors"]], "matminer.featurizers.composition.ion.IonProperty": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "citations"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "implementors"]], "matminer.featurizers.composition.ion.OxidationStates": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "citations"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "from_preset"], [14, 2, 1, "", "implementors"]], "matminer.featurizers.composition.orbital": [[14, 1, 1, "", "AtomicOrbitals"], [14, 1, 1, "", "ValenceOrbital"]], "matminer.featurizers.composition.orbital.AtomicOrbitals": [[14, 2, 1, "", "citations"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "implementors"]], "matminer.featurizers.composition.orbital.ValenceOrbital": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "citations"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "implementors"]], "matminer.featurizers.composition.packing": [[14, 1, 1, "", "AtomicPackingEfficiency"]], "matminer.featurizers.composition.packing.AtomicPackingEfficiency": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "citations"], [14, 2, 1, "", "compute_nearest_cluster_distance"], [14, 2, 1, "", "compute_simultaneous_packing_efficiency"], [14, 2, 1, "", "create_cluster_lookup_tool"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "find_ideal_cluster_size"], [14, 2, 1, "", "get_ideal_radius_ratio"], [14, 2, 1, "", "implementors"]], "matminer.featurizers.composition.tests": [[15, 0, 0, "-", "base"], [15, 0, 0, "-", "test_alloy"], [15, 0, 0, "-", "test_composite"], [15, 0, 0, "-", "test_element"], [15, 0, 0, "-", "test_ion"], [15, 0, 0, "-", "test_orbital"], [15, 0, 0, "-", "test_packing"], [15, 0, 0, "-", "test_thermo"]], "matminer.featurizers.composition.tests.base": [[15, 1, 1, "", "CompositionFeaturesTest"]], "matminer.featurizers.composition.tests.base.CompositionFeaturesTest": [[15, 2, 1, "", "setUp"]], "matminer.featurizers.composition.tests.test_alloy": [[15, 1, 1, "", "AlloyFeaturizersTest"]], "matminer.featurizers.composition.tests.test_alloy.AlloyFeaturizersTest": [[15, 2, 1, "", "test_WenAlloys"], [15, 2, 1, "", "test_miedema_all"], [15, 2, 1, "", "test_miedema_ss"], [15, 2, 1, "", "test_yang"]], "matminer.featurizers.composition.tests.test_composite": [[15, 1, 1, "", "CompositeFeaturesTest"]], "matminer.featurizers.composition.tests.test_composite.CompositeFeaturesTest": [[15, 2, 1, "", "test_elem"], [15, 2, 1, "", "test_elem_deml"], [15, 2, 1, "", "test_elem_matminer"], [15, 2, 1, "", "test_elem_matscholar_el"], [15, 2, 1, "", "test_elem_megnet_el"], [15, 2, 1, "", "test_fere_corr"], [15, 2, 1, "", "test_meredig"]], "matminer.featurizers.composition.tests.test_element": [[15, 1, 1, "", "ElementFeaturesTest"]], "matminer.featurizers.composition.tests.test_element.ElementFeaturesTest": [[15, 2, 1, "", "test_band_center"], [15, 2, 1, "", "test_fraction"], [15, 2, 1, "", "test_stoich"], [15, 2, 1, "", "test_tm_fraction"]], "matminer.featurizers.composition.tests.test_ion": [[15, 1, 1, "", "IonFeaturesTest"]], "matminer.featurizers.composition.tests.test_ion.IonFeaturesTest": [[15, 2, 1, "", "test_cation_properties"], [15, 2, 1, "", "test_elec_affin"], [15, 2, 1, "", "test_en_diff"], [15, 2, 1, "", "test_ionic"], [15, 2, 1, "", "test_is_ionic"], [15, 2, 1, "", "test_oxidation_states"]], "matminer.featurizers.composition.tests.test_orbital": [[15, 1, 1, "", "OrbitalFeaturesTest"]], "matminer.featurizers.composition.tests.test_orbital.OrbitalFeaturesTest": [[15, 2, 1, "", "test_atomic_orbitals"], [15, 2, 1, "", "test_valence"]], "matminer.featurizers.composition.tests.test_packing": [[15, 1, 1, "", "PackingFeaturesTest"]], "matminer.featurizers.composition.tests.test_packing.PackingFeaturesTest": [[15, 2, 1, "", "test_ape"]], "matminer.featurizers.composition.tests.test_thermo": [[15, 1, 1, "", "ThermoFeaturesTest"]], "matminer.featurizers.composition.tests.test_thermo.ThermoFeaturesTest": [[15, 2, 1, "", "test_cohesive_energy"], [15, 2, 1, "", "test_cohesive_energy_mp"]], "matminer.featurizers.composition.thermo": [[14, 1, 1, "", "CohesiveEnergy"], [14, 1, 1, "", "CohesiveEnergyMP"]], "matminer.featurizers.composition.thermo.CohesiveEnergy": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "citations"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "implementors"]], "matminer.featurizers.composition.thermo.CohesiveEnergyMP": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "citations"], [14, 2, 1, "", "feature_labels"], [14, 2, 1, "", "featurize"], [14, 2, 1, "", "implementors"]], "matminer.featurizers.conversions": [[13, 1, 1, "", "ASEAtomstoStructure"], [13, 1, 1, "", "CompositionToOxidComposition"], [13, 1, 1, "", "CompositionToStructureFromMP"], [13, 1, 1, "", "ConversionFeaturizer"], [13, 1, 1, "", "DictToObject"], [13, 1, 1, "", "JsonToObject"], [13, 1, 1, "", "PymatgenFunctionApplicator"], [13, 1, 1, "", "StrToComposition"], [13, 1, 1, "", "StructureToComposition"], [13, 1, 1, "", "StructureToIStructure"], [13, 1, 1, "", "StructureToOxidStructure"]], "matminer.featurizers.conversions.ASEAtomstoStructure": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.conversions.CompositionToOxidComposition": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.conversions.CompositionToStructureFromMP": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.conversions.ConversionFeaturizer": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "feature_labels"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "featurize_dataframe"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.conversions.DictToObject": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.conversions.JsonToObject": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.conversions.PymatgenFunctionApplicator": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.conversions.StrToComposition": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.conversions.StructureToComposition": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.conversions.StructureToIStructure": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.conversions.StructureToOxidStructure": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.dos": [[13, 1, 1, "", "DOSFeaturizer"], [13, 1, 1, "", "DopingFermi"], [13, 1, 1, "", "DosAsymmetry"], [13, 1, 1, "", "Hybridization"], [13, 1, 1, "", "SiteDOS"], [13, 3, 1, "", "get_cbm_vbm_scores"], [13, 3, 1, "", "get_site_dos_scores"]], "matminer.featurizers.dos.DOSFeaturizer": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "feature_labels"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.dos.DopingFermi": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "feature_labels"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.dos.DosAsymmetry": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "feature_labels"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.dos.Hybridization": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "feature_labels"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.dos.SiteDOS": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 2, 1, "", "feature_labels"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.function": [[13, 1, 1, "", "FunctionFeaturizer"], [13, 3, 1, "", "generate_expressions_combinations"]], "matminer.featurizers.function.FunctionFeaturizer": [[13, 5, 1, "", "ILLEGAL_CHARACTERS"], [13, 2, 1, "", "__init__"], [13, 2, 1, "", "citations"], [13, 6, 1, "", "exp_dict"], [13, 2, 1, "", "feature_labels"], [13, 2, 1, "", "featurize"], [13, 2, 1, "", "fit"], [13, 2, 1, "", "generate_string_expressions"], [13, 2, 1, "", "implementors"]], "matminer.featurizers.site": [[16, 0, 0, "-", "bonding"], [16, 0, 0, "-", "chemical"], [16, 0, 0, "-", "external"], [16, 0, 0, "-", "fingerprint"], [16, 0, 0, "-", "misc"], [16, 0, 0, "-", "rdf"], [17, 0, 0, "-", "tests"]], "matminer.featurizers.site.bonding": [[16, 1, 1, "", "AverageBondAngle"], [16, 1, 1, "", "AverageBondLength"], [16, 1, 1, "", "BondOrientationalParameter"], [16, 3, 1, "", "get_wigner_coeffs"]], "matminer.featurizers.site.bonding.AverageBondAngle": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "citations"], [16, 2, 1, "", "feature_labels"], [16, 2, 1, "", "featurize"], [16, 2, 1, "", "implementors"]], "matminer.featurizers.site.bonding.AverageBondLength": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "citations"], [16, 2, 1, "", "feature_labels"], [16, 2, 1, "", "featurize"], [16, 2, 1, "", "implementors"]], "matminer.featurizers.site.bonding.BondOrientationalParameter": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "citations"], [16, 2, 1, "", "feature_labels"], [16, 2, 1, "", "featurize"], [16, 2, 1, "", "implementors"]], "matminer.featurizers.site.chemical": [[16, 1, 1, "", "ChemicalSRO"], [16, 1, 1, "", "EwaldSiteEnergy"], [16, 1, 1, "", "LocalPropertyDifference"], [16, 1, 1, "", "SiteElementalProperty"]], "matminer.featurizers.site.chemical.ChemicalSRO": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "citations"], [16, 2, 1, "", "feature_labels"], [16, 2, 1, "", "featurize"], [16, 2, 1, "", "fit"], [16, 2, 1, "", "from_preset"], [16, 2, 1, "", "implementors"]], "matminer.featurizers.site.chemical.EwaldSiteEnergy": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "citations"], [16, 2, 1, "", "feature_labels"], [16, 2, 1, "", "featurize"], [16, 2, 1, "", "implementors"]], "matminer.featurizers.site.chemical.LocalPropertyDifference": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "citations"], [16, 2, 1, "", "feature_labels"], [16, 2, 1, "", "featurize"], [16, 2, 1, "", "from_preset"], [16, 2, 1, "", "implementors"]], "matminer.featurizers.site.chemical.SiteElementalProperty": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "citations"], [16, 2, 1, "", "feature_labels"], [16, 2, 1, "", "featurize"], [16, 2, 1, "", "from_preset"], [16, 2, 1, "", "implementors"]], "matminer.featurizers.site.external": [[16, 1, 1, "", "SOAP"]], "matminer.featurizers.site.external.SOAP": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "citations"], [16, 2, 1, "", "feature_labels"], [16, 2, 1, "", "featurize"], [16, 2, 1, "", "fit"], [16, 2, 1, "", "from_preset"], [16, 2, 1, "", "implementors"]], "matminer.featurizers.site.fingerprint": [[16, 1, 1, "", "AGNIFingerprints"], [16, 1, 1, "", "ChemEnvSiteFingerprint"], [16, 1, 1, "", "CrystalNNFingerprint"], [16, 1, 1, "", "OPSiteFingerprint"], [16, 1, 1, "", "VoronoiFingerprint"], [16, 3, 1, "", "load_cn_motif_op_params"], [16, 3, 1, "", "load_cn_target_motif_op"]], "matminer.featurizers.site.fingerprint.AGNIFingerprints": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "citations"], [16, 2, 1, "", "feature_labels"], [16, 2, 1, "", "featurize"], [16, 2, 1, "", "implementors"]], "matminer.featurizers.site.fingerprint.ChemEnvSiteFingerprint": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "citations"], [16, 2, 1, "", "feature_labels"], [16, 2, 1, "", "featurize"], [16, 2, 1, "", "from_preset"], [16, 2, 1, "", "implementors"]], "matminer.featurizers.site.fingerprint.CrystalNNFingerprint": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "citations"], [16, 2, 1, "", "feature_labels"], [16, 2, 1, "", "featurize"], [16, 2, 1, "", "from_preset"], [16, 2, 1, "", "implementors"]], "matminer.featurizers.site.fingerprint.OPSiteFingerprint": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "citations"], [16, 2, 1, "", "feature_labels"], [16, 2, 1, "", "featurize"], [16, 2, 1, "", "implementors"]], "matminer.featurizers.site.fingerprint.VoronoiFingerprint": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "citations"], [16, 2, 1, "", "feature_labels"], [16, 2, 1, "", "featurize"], [16, 2, 1, "", "implementors"]], "matminer.featurizers.site.misc": [[16, 1, 1, "", "CoordinationNumber"], [16, 1, 1, "", "IntersticeDistribution"]], "matminer.featurizers.site.misc.CoordinationNumber": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "citations"], [16, 2, 1, "", "feature_labels"], [16, 2, 1, "", "featurize"], [16, 2, 1, "", "from_preset"], [16, 2, 1, "", "implementors"]], "matminer.featurizers.site.misc.IntersticeDistribution": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "analyze_area_interstice"], [16, 2, 1, "", "analyze_dist_interstices"], [16, 2, 1, "", "analyze_vol_interstice"], [16, 2, 1, "", "citations"], [16, 2, 1, "", "feature_labels"], [16, 2, 1, "", "featurize"], [16, 2, 1, "", "implementors"]], "matminer.featurizers.site.rdf": [[16, 1, 1, "", "AngularFourierSeries"], [16, 1, 1, "", "GaussianSymmFunc"], [16, 1, 1, "", "GeneralizedRadialDistributionFunction"]], "matminer.featurizers.site.rdf.AngularFourierSeries": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "citations"], [16, 2, 1, "", "feature_labels"], [16, 2, 1, "", "featurize"], [16, 2, 1, "", "from_preset"], [16, 2, 1, "", "implementors"]], "matminer.featurizers.site.rdf.GaussianSymmFunc": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "citations"], [16, 2, 1, "", "cosine_cutoff"], [16, 2, 1, "", "feature_labels"], [16, 2, 1, "", "featurize"], [16, 2, 1, "", "g2"], [16, 2, 1, "", "g4"], [16, 2, 1, "", "implementors"]], "matminer.featurizers.site.rdf.GeneralizedRadialDistributionFunction": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "citations"], [16, 2, 1, "", "feature_labels"], [16, 2, 1, "", "featurize"], [16, 2, 1, "", "fit"], [16, 2, 1, "", "from_preset"], [16, 2, 1, "", "implementors"]], "matminer.featurizers.site.tests": [[17, 0, 0, "-", "base"], [17, 0, 0, "-", "test_bonding"], [17, 0, 0, "-", "test_chemical"], [17, 0, 0, "-", "test_external"], [17, 0, 0, "-", "test_fingerprint"], [17, 0, 0, "-", "test_misc"], [17, 0, 0, "-", "test_rdf"]], "matminer.featurizers.site.tests.base": [[17, 1, 1, "", "SiteFeaturizerTest"]], "matminer.featurizers.site.tests.base.SiteFeaturizerTest": [[17, 2, 1, "", "setUp"], [17, 2, 1, "", "tearDown"]], "matminer.featurizers.site.tests.test_bonding": [[17, 1, 1, "", "BondingTest"]], "matminer.featurizers.site.tests.test_bonding.BondingTest": [[17, 2, 1, "", "test_AverageBondAngle"], [17, 2, 1, "", "test_AverageBondLength"], [17, 2, 1, "", "test_bop"]], "matminer.featurizers.site.tests.test_chemical": [[17, 1, 1, "", "ChemicalSiteTests"]], "matminer.featurizers.site.tests.test_chemical.ChemicalSiteTests": [[17, 2, 1, "", "test_chemicalSRO"], [17, 2, 1, "", "test_ewald_site"], [17, 2, 1, "", "test_local_prop_diff"], [17, 2, 1, "", "test_site_elem_prop"]], "matminer.featurizers.site.tests.test_external": [[17, 1, 1, "", "ExternalSiteTests"]], "matminer.featurizers.site.tests.test_external.ExternalSiteTests": [[17, 2, 1, "", "test_SOAP"]], "matminer.featurizers.site.tests.test_fingerprint": [[17, 1, 1, "", "FingerprintTests"]], "matminer.featurizers.site.tests.test_fingerprint.FingerprintTests": [[17, 2, 1, "", "test_chemenv_site_fingerprint"], [17, 2, 1, "", "test_crystal_nn_fingerprint"], [17, 2, 1, "", "test_dataframe"], [17, 2, 1, "", "test_off_center_cscl"], [17, 2, 1, "", "test_op_site_fingerprint"], [17, 2, 1, "", "test_simple_cubic"], [17, 2, 1, "", "test_voronoifingerprint"]], "matminer.featurizers.site.tests.test_misc": [[17, 1, 1, "", "MiscSiteTests"]], "matminer.featurizers.site.tests.test_misc.MiscSiteTests": [[17, 2, 1, "", "test_cns"], [17, 2, 1, "", "test_interstice_distribution_of_crystal"], [17, 2, 1, "", "test_interstice_distribution_of_glass"]], "matminer.featurizers.site.tests.test_rdf": [[17, 1, 1, "", "RDFTests"]], "matminer.featurizers.site.tests.test_rdf.RDFTests": [[17, 2, 1, "", "test_afs"], [17, 2, 1, "", "test_gaussiansymmfunc"], [17, 2, 1, "", "test_grdf"]], "matminer.featurizers.structure": [[18, 0, 0, "-", "bonding"], [18, 0, 0, "-", "composite"], [18, 0, 0, "-", "matrix"], [18, 0, 0, "-", "misc"], [18, 0, 0, "-", "order"], [18, 0, 0, "-", "rdf"], [18, 0, 0, "-", "sites"], [18, 0, 0, "-", "symmetry"], [19, 0, 0, "-", "tests"]], "matminer.featurizers.structure.bonding": [[18, 1, 1, "", "BagofBonds"], [18, 1, 1, "", "BondFractions"], [18, 1, 1, "", "GlobalInstabilityIndex"], [18, 1, 1, "", "MinimumRelativeDistances"], [18, 1, 1, "", "StructuralHeterogeneity"]], "matminer.featurizers.structure.bonding.BagofBonds": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "bag"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "fit"], [18, 2, 1, "", "implementors"]], "matminer.featurizers.structure.bonding.BondFractions": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "enumerate_all_bonds"], [18, 2, 1, "", "enumerate_bonds"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "fit"], [18, 2, 1, "", "from_preset"], [18, 2, 1, "", "implementors"]], "matminer.featurizers.structure.bonding.GlobalInstabilityIndex": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "calc_bv_sum"], [18, 2, 1, "", "calc_gii_iucr"], [18, 2, 1, "", "calc_gii_pymatgen"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "compute_bv"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "get_bv_params"], [18, 2, 1, "", "get_equiv_sites"], [18, 2, 1, "", "implementors"], [18, 2, 1, "", "precheck"]], "matminer.featurizers.structure.bonding.MinimumRelativeDistances": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "fit"], [18, 2, 1, "", "implementors"]], "matminer.featurizers.structure.bonding.StructuralHeterogeneity": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "implementors"]], "matminer.featurizers.structure.composite": [[18, 1, 1, "", "JarvisCFID"]], "matminer.featurizers.structure.composite.JarvisCFID": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "get_chem"], [18, 2, 1, "", "get_chg"], [18, 2, 1, "", "get_distributions"], [18, 2, 1, "", "implementors"]], "matminer.featurizers.structure.matrix": [[18, 1, 1, "", "CoulombMatrix"], [18, 1, 1, "", "OrbitalFieldMatrix"], [18, 1, 1, "", "SineCoulombMatrix"]], "matminer.featurizers.structure.matrix.CoulombMatrix": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "fit"], [18, 2, 1, "", "implementors"]], "matminer.featurizers.structure.matrix.OrbitalFieldMatrix": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "get_atom_ofms"], [18, 2, 1, "", "get_mean_ofm"], [18, 2, 1, "", "get_ohv"], [18, 2, 1, "", "get_single_ofm"], [18, 2, 1, "", "get_structure_ofm"], [18, 2, 1, "", "implementors"]], "matminer.featurizers.structure.matrix.SineCoulombMatrix": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "fit"], [18, 2, 1, "", "implementors"]], "matminer.featurizers.structure.misc": [[18, 1, 1, "", "EwaldEnergy"], [18, 1, 1, "", "StructureComposition"], [18, 1, 1, "", "XRDPowderPattern"]], "matminer.featurizers.structure.misc.EwaldEnergy": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "implementors"]], "matminer.featurizers.structure.misc.StructureComposition": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "fit"], [18, 2, 1, "", "implementors"]], "matminer.featurizers.structure.misc.XRDPowderPattern": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "implementors"]], "matminer.featurizers.structure.order": [[18, 1, 1, "", "ChemicalOrdering"], [18, 1, 1, "", "DensityFeatures"], [18, 1, 1, "", "MaximumPackingEfficiency"], [18, 1, 1, "", "StructuralComplexity"]], "matminer.featurizers.structure.order.ChemicalOrdering": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "implementors"]], "matminer.featurizers.structure.order.DensityFeatures": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "implementors"], [18, 2, 1, "", "precheck"]], "matminer.featurizers.structure.order.MaximumPackingEfficiency": [[18, 2, 1, "", "citations"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "implementors"]], "matminer.featurizers.structure.order.StructuralComplexity": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "implementors"]], "matminer.featurizers.structure.rdf": [[18, 1, 1, "", "ElectronicRadialDistributionFunction"], [18, 1, 1, "", "PartialRadialDistributionFunction"], [18, 1, 1, "", "RadialDistributionFunction"], [18, 3, 1, "", "get_rdf_bin_labels"]], "matminer.featurizers.structure.rdf.ElectronicRadialDistributionFunction": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "implementors"], [18, 2, 1, "", "precheck"]], "matminer.featurizers.structure.rdf.PartialRadialDistributionFunction": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "compute_prdf"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "fit"], [18, 2, 1, "", "implementors"], [18, 2, 1, "", "precheck"]], "matminer.featurizers.structure.rdf.RadialDistributionFunction": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "implementors"], [18, 2, 1, "", "precheck"]], "matminer.featurizers.structure.sites": [[18, 1, 1, "", "PartialsSiteStatsFingerprint"], [18, 1, 1, "", "SiteStatsFingerprint"]], "matminer.featurizers.structure.sites.PartialsSiteStatsFingerprint": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "compute_pssf"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "fit"], [18, 2, 1, "", "implementors"]], "matminer.featurizers.structure.sites.SiteStatsFingerprint": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "fit"], [18, 2, 1, "", "from_preset"], [18, 2, 1, "", "implementors"]], "matminer.featurizers.structure.symmetry": [[18, 1, 1, "", "Dimensionality"], [18, 1, 1, "", "GlobalSymmetryFeatures"]], "matminer.featurizers.structure.symmetry.Dimensionality": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "citations"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "implementors"]], "matminer.featurizers.structure.symmetry.GlobalSymmetryFeatures": [[18, 2, 1, "", "__init__"], [18, 5, 1, "", "all_features"], [18, 2, 1, "", "citations"], [18, 5, 1, "", "crystal_idx"], [18, 2, 1, "", "feature_labels"], [18, 2, 1, "", "featurize"], [18, 2, 1, "", "implementors"]], "matminer.featurizers.structure.tests": [[19, 0, 0, "-", "base"], [19, 0, 0, "-", "test_bonding"], [19, 0, 0, "-", "test_composite"], [19, 0, 0, "-", "test_matrix"], [19, 0, 0, "-", "test_misc"], [19, 0, 0, "-", "test_order"], [19, 0, 0, "-", "test_rdf"], [19, 0, 0, "-", "test_sites"], [19, 0, 0, "-", "test_symmetry"]], "matminer.featurizers.structure.tests.base": [[19, 1, 1, "", "StructureFeaturesTest"]], "matminer.featurizers.structure.tests.base.StructureFeaturesTest": [[19, 2, 1, "", "setUp"]], "matminer.featurizers.structure.tests.test_bonding": [[19, 1, 1, "", "BondingStructureTest"]], "matminer.featurizers.structure.tests.test_bonding.BondingStructureTest": [[19, 2, 1, "", "test_GlobalInstabilityIndex"], [19, 2, 1, "", "test_bob"], [19, 2, 1, "", "test_bondfractions"], [19, 2, 1, "", "test_min_relative_distances"], [19, 2, 1, "", "test_ward_prb_2017_strhet"]], "matminer.featurizers.structure.tests.test_composite": [[19, 1, 1, "", "CompositeStructureFeaturesTest"]], "matminer.featurizers.structure.tests.test_composite.CompositeStructureFeaturesTest": [[19, 2, 1, "", "test_jarvisCFID"]], "matminer.featurizers.structure.tests.test_matrix": [[19, 1, 1, "", "MatrixStructureFeaturesTest"]], "matminer.featurizers.structure.tests.test_matrix.MatrixStructureFeaturesTest": [[19, 2, 1, "", "test_coulomb_matrix"], [19, 2, 1, "", "test_orbital_field_matrix"], [19, 2, 1, "", "test_sine_coulomb_matrix"]], "matminer.featurizers.structure.tests.test_misc": [[19, 1, 1, "", "MiscStructureFeaturesTest"]], "matminer.featurizers.structure.tests.test_misc.MiscStructureFeaturesTest": [[19, 2, 1, "", "test_composition_features"], [19, 2, 1, "", "test_ewald"], [19, 2, 1, "", "test_xrd_powderPattern"]], "matminer.featurizers.structure.tests.test_order": [[19, 1, 1, "", "OrderStructureFeaturesTest"]], "matminer.featurizers.structure.tests.test_order.OrderStructureFeaturesTest": [[19, 2, 1, "", "test_density_features"], [19, 2, 1, "", "test_ordering_param"], [19, 2, 1, "", "test_packing_efficiency"], [19, 2, 1, "", "test_structural_complexity"]], "matminer.featurizers.structure.tests.test_rdf": [[19, 1, 1, "", "StructureRDFTest"]], "matminer.featurizers.structure.tests.test_rdf.StructureRDFTest": [[19, 2, 1, "", "test_get_rdf_bin_labels"], [19, 2, 1, "", "test_prdf"], [19, 2, 1, "", "test_rdf_and_peaks"], [19, 2, 1, "", "test_redf"]], "matminer.featurizers.structure.tests.test_sites": [[19, 1, 1, "", "PartialStructureSitesFeaturesTest"], [19, 1, 1, "", "StructureSitesFeaturesTest"]], "matminer.featurizers.structure.tests.test_sites.PartialStructureSitesFeaturesTest": [[19, 2, 1, "", "test_partialsitestatsfingerprint"], [19, 2, 1, "", "test_ward_prb_2017_efftcn"], [19, 2, 1, "", "test_ward_prb_2017_lpd"]], "matminer.featurizers.structure.tests.test_sites.StructureSitesFeaturesTest": [[19, 2, 1, "", "test_sitestatsfingerprint"], [19, 2, 1, "", "test_ward_prb_2017_efftcn"], [19, 2, 1, "", "test_ward_prb_2017_lpd"]], "matminer.featurizers.structure.tests.test_symmetry": [[19, 1, 1, "", "StructureSymmetryFeaturesTest"]], "matminer.featurizers.structure.tests.test_symmetry.StructureSymmetryFeaturesTest": [[19, 2, 1, "", "test_dimensionality"], [19, 2, 1, "", "test_global_symmetry"]], "matminer.featurizers.tests": [[20, 0, 0, "-", "test_bandstructure"], [20, 0, 0, "-", "test_base"], [20, 0, 0, "-", "test_conversions"], [20, 0, 0, "-", "test_dos"], [20, 0, 0, "-", "test_function"]], "matminer.featurizers.tests.test_bandstructure": [[20, 1, 1, "", "BandstructureFeaturesTest"]], "matminer.featurizers.tests.test_bandstructure.BandstructureFeaturesTest": [[20, 2, 1, "", "setUp"], [20, 2, 1, "", "test_BandFeaturizer"], [20, 2, 1, "", "test_BranchPointEnergy"]], "matminer.featurizers.tests.test_base": [[20, 1, 1, "", "FittableFeaturizer"], [20, 1, 1, "", "MatrixFeaturizer"], [20, 1, 1, "", "MultiArgs2"], [20, 1, 1, "", "MultiTypeFeaturizer"], [20, 1, 1, "", "MultipleFeatureFeaturizer"], [20, 1, 1, "", "SingleFeaturizer"], [20, 1, 1, "", "SingleFeaturizerMultiArgs"], [20, 1, 1, "", "SingleFeaturizerMultiArgsWithPrecheck"], [20, 1, 1, "", "SingleFeaturizerWithPrecheck"], [20, 1, 1, "", "TestBaseClass"]], "matminer.featurizers.tests.test_base.FittableFeaturizer": [[20, 2, 1, "", "citations"], [20, 2, 1, "", "feature_labels"], [20, 2, 1, "", "featurize"], [20, 2, 1, "", "fit"], [20, 2, 1, "", "implementors"]], "matminer.featurizers.tests.test_base.MatrixFeaturizer": [[20, 2, 1, "", "citations"], [20, 2, 1, "", "feature_labels"], [20, 2, 1, "", "featurize"], [20, 2, 1, "", "implementors"]], "matminer.featurizers.tests.test_base.MultiArgs2": [[20, 2, 1, "", "__init__"], [20, 2, 1, "", "citations"], [20, 2, 1, "", "feature_labels"], [20, 2, 1, "", "featurize"], [20, 2, 1, "", "implementors"]], "matminer.featurizers.tests.test_base.MultiTypeFeaturizer": [[20, 2, 1, "", "citations"], [20, 2, 1, "", "feature_labels"], [20, 2, 1, "", "featurize"], [20, 2, 1, "", "implementors"]], "matminer.featurizers.tests.test_base.MultipleFeatureFeaturizer": [[20, 2, 1, "", "citations"], [20, 2, 1, "", "feature_labels"], [20, 2, 1, "", "featurize"], [20, 2, 1, "", "implementors"]], "matminer.featurizers.tests.test_base.SingleFeaturizer": [[20, 2, 1, "", "citations"], [20, 2, 1, "", "feature_labels"], [20, 2, 1, "", "featurize"], [20, 2, 1, "", "implementors"]], "matminer.featurizers.tests.test_base.SingleFeaturizerMultiArgs": [[20, 2, 1, "", "featurize"]], "matminer.featurizers.tests.test_base.SingleFeaturizerMultiArgsWithPrecheck": [[20, 2, 1, "", "precheck"]], "matminer.featurizers.tests.test_base.SingleFeaturizerWithPrecheck": [[20, 2, 1, "", "precheck"]], "matminer.featurizers.tests.test_base.TestBaseClass": [[20, 2, 1, "", "make_test_data"], [20, 2, 1, "", "setUp"], [20, 2, 1, "", "test_caching"], [20, 2, 1, "", "test_dataframe"], [20, 2, 1, "", "test_featurize_many"], [20, 2, 1, "", "test_fittable"], [20, 2, 1, "", "test_ignore_errors"], [20, 2, 1, "", "test_indices"], [20, 2, 1, "", "test_inplace"], [20, 2, 1, "", "test_matrix"], [20, 2, 1, "", "test_multifeature_no_zero_index"], [20, 2, 1, "", "test_multifeatures_multiargs"], [20, 2, 1, "", "test_multiindex_in_multifeaturizer"], [20, 2, 1, "", "test_multiindex_inplace"], [20, 2, 1, "", "test_multiindex_return"], [20, 2, 1, "", "test_multiple"], [20, 2, 1, "", "test_multiprocessing_df"], [20, 2, 1, "", "test_multitype_multifeat"], [20, 2, 1, "", "test_precheck"], [20, 2, 1, "", "test_stacked_featurizer"]], "matminer.featurizers.tests.test_conversions": [[20, 1, 1, "", "TestConversions"]], "matminer.featurizers.tests.test_conversions.TestConversions": [[20, 2, 1, "", "test_ase_conversion"], [20, 2, 1, "", "test_composition_to_oxidcomposition"], [20, 2, 1, "", "test_composition_to_structurefromMP"], [20, 2, 1, "", "test_conversion_multiindex"], [20, 2, 1, "", "test_conversion_multiindex_dynamic"], [20, 2, 1, "", "test_conversion_overwrite"], [20, 2, 1, "", "test_dict_to_object"], [20, 2, 1, "", "test_json_to_object"], [20, 2, 1, "", "test_pymatgen_general_converter"], [20, 2, 1, "", "test_str_to_composition"], [20, 2, 1, "", "test_structure_to_composition"], [20, 2, 1, "", "test_structure_to_oxidstructure"], [20, 2, 1, "", "test_to_istructure"]], "matminer.featurizers.tests.test_dos": [[20, 1, 1, "", "DOSFeaturesTest"]], "matminer.featurizers.tests.test_dos.DOSFeaturesTest": [[20, 2, 1, "", "setUp"], [20, 2, 1, "", "test_DOSFeaturizer"], [20, 2, 1, "", "test_DopingFermi"], [20, 2, 1, "", "test_DosAsymmetry"], [20, 2, 1, "", "test_Hybridization"], [20, 2, 1, "", "test_SiteDOS"]], "matminer.featurizers.tests.test_function": [[20, 1, 1, "", "TestFunctionFeaturizer"]], "matminer.featurizers.tests.test_function.TestFunctionFeaturizer": [[20, 2, 1, "", "setUp"], [20, 2, 1, "", "test_featurize"], [20, 2, 1, "", "test_featurize_labels"], [20, 2, 1, "", "test_helper_functions"], [20, 2, 1, "", "test_multi_featurizer"]], "matminer.featurizers.utils": [[21, 0, 0, "-", "grdf"], [21, 0, 0, "-", "oxidation"], [21, 0, 0, "-", "stats"], [22, 0, 0, "-", "tests"]], "matminer.featurizers.utils.grdf": [[21, 1, 1, "", "AbstractPairwise"], [21, 1, 1, "", "Bessel"], [21, 1, 1, "", "Cosine"], [21, 1, 1, "", "Gaussian"], [21, 1, 1, "", "Histogram"], [21, 1, 1, "", "Sine"], [21, 3, 1, "", "initialize_pairwise_function"]], "matminer.featurizers.utils.grdf.AbstractPairwise": [[21, 2, 1, "", "name"], [21, 2, 1, "", "volume"]], "matminer.featurizers.utils.grdf.Bessel": [[21, 2, 1, "", "__init__"]], "matminer.featurizers.utils.grdf.Cosine": [[21, 2, 1, "", "__init__"], [21, 2, 1, "", "volume"]], "matminer.featurizers.utils.grdf.Gaussian": [[21, 2, 1, "", "__init__"], [21, 2, 1, "", "volume"]], "matminer.featurizers.utils.grdf.Histogram": [[21, 2, 1, "", "__init__"], [21, 2, 1, "", "volume"]], "matminer.featurizers.utils.grdf.Sine": [[21, 2, 1, "", "__init__"], [21, 2, 1, "", "volume"]], "matminer.featurizers.utils.oxidation": [[21, 3, 1, "", "has_oxidation_states"]], "matminer.featurizers.utils.stats": [[21, 1, 1, "", "PropertyStats"]], "matminer.featurizers.utils.stats.PropertyStats": [[21, 2, 1, "", "avg_dev"], [21, 2, 1, "", "calc_stat"], [21, 2, 1, "", "eigenvalues"], [21, 2, 1, "", "flatten"], [21, 2, 1, "", "geom_std_dev"], [21, 2, 1, "", "holder_mean"], [21, 2, 1, "", "inverse_mean"], [21, 2, 1, "", "kurtosis"], [21, 2, 1, "", "maximum"], [21, 2, 1, "", "mean"], [21, 2, 1, "", "minimum"], [21, 2, 1, "", "mode"], [21, 2, 1, "", "quantile"], [21, 2, 1, "", "range"], [21, 2, 1, "", "skewness"], [21, 2, 1, "", "sorted"], [21, 2, 1, "", "std_dev"]], "matminer.featurizers.utils.tests": [[22, 0, 0, "-", "test_grdf"], [22, 0, 0, "-", "test_oxidation"], [22, 0, 0, "-", "test_stats"]], "matminer.featurizers.utils.tests.test_grdf": [[22, 1, 1, "", "GRDFTests"]], "matminer.featurizers.utils.tests.test_grdf.GRDFTests": [[22, 2, 1, "", "test_bessel"], [22, 2, 1, "", "test_cosine"], [22, 2, 1, "", "test_gaussian"], [22, 2, 1, "", "test_histogram"], [22, 2, 1, "", "test_load_class"], [22, 2, 1, "", "test_sin"]], "matminer.featurizers.utils.tests.test_oxidation": [[22, 1, 1, "", "OxidationTest"]], "matminer.featurizers.utils.tests.test_oxidation.OxidationTest": [[22, 2, 1, "", "test_has_oxidation_states"]], "matminer.featurizers.utils.tests.test_stats": [[22, 1, 1, "", "TestPropertyStats"]], "matminer.featurizers.utils.tests.test_stats.TestPropertyStats": [[22, 2, 1, "", "setUp"], [22, 2, 1, "", "test_avg_dev"], [22, 2, 1, "", "test_geom_std_dev"], [22, 2, 1, "", "test_holder_mean"], [22, 2, 1, "", "test_kurtosis"], [22, 2, 1, "", "test_maximum"], [22, 2, 1, "", "test_mean"], [22, 2, 1, "", "test_minimum"], [22, 2, 1, "", "test_mode"], [22, 2, 1, "", "test_quantile"], [22, 2, 1, "", "test_range"], [22, 2, 1, "", "test_skewness"], [22, 2, 1, "", "test_std_dev"]], "matminer.utils": [[25, 0, 0, "-", "caching"], [25, 0, 0, "-", "data"], [26, 0, 0, "-", "data_files"], [25, 0, 0, "-", "flatten_dict"], [25, 0, 0, "-", "io"], [25, 0, 0, "-", "kernels"], [25, 0, 0, "-", "pipeline"], [27, 0, 0, "-", "tests"], [25, 0, 0, "-", "utils"]], "matminer.utils.caching": [[25, 3, 1, "", "get_all_nearest_neighbors"], [25, 3, 1, "", "get_nearest_neighbors"]], "matminer.utils.data": [[25, 1, 1, "", "AbstractData"], [25, 1, 1, "", "CohesiveEnergyData"], [25, 1, 1, "", "DemlData"], [25, 1, 1, "", "IUCrBondValenceData"], [25, 1, 1, "", "MEGNetElementData"], [25, 1, 1, "", "MagpieData"], [25, 1, 1, "", "MatscholarElementData"], [25, 1, 1, "", "MixingEnthalpy"], [25, 1, 1, "", "OxidationStateDependentData"], [25, 1, 1, "", "OxidationStatesMixin"], [25, 1, 1, "", "PymatgenData"]], "matminer.utils.data.AbstractData": [[25, 2, 1, "", "get_elemental_properties"], [25, 2, 1, "", "get_elemental_property"]], "matminer.utils.data.CohesiveEnergyData": [[25, 2, 1, "", "__init__"], [25, 2, 1, "", "get_elemental_property"]], "matminer.utils.data.DemlData": [[25, 2, 1, "", "__init__"], [25, 2, 1, "", "get_charge_dependent_property"], [25, 2, 1, "", "get_elemental_property"], [25, 2, 1, "", "get_oxidation_states"]], "matminer.utils.data.IUCrBondValenceData": [[25, 2, 1, "", "__init__"], [25, 2, 1, "", "get_bv_params"], [25, 2, 1, "", "interpolate_soft_anions"]], "matminer.utils.data.MEGNetElementData": [[25, 2, 1, "", "__init__"], [25, 2, 1, "", "get_elemental_property"]], "matminer.utils.data.MagpieData": [[25, 2, 1, "", "__init__"], [25, 2, 1, "", "get_elemental_property"], [25, 2, 1, "", "get_oxidation_states"]], "matminer.utils.data.MatscholarElementData": [[25, 2, 1, "", "__init__"], [25, 2, 1, "", "get_elemental_property"]], "matminer.utils.data.MixingEnthalpy": [[25, 2, 1, "", "__init__"], [25, 2, 1, "", "get_mixing_enthalpy"]], "matminer.utils.data.OxidationStateDependentData": [[25, 2, 1, "", "get_charge_dependent_property"], [25, 2, 1, "", "get_charge_dependent_property_from_specie"]], "matminer.utils.data.OxidationStatesMixin": [[25, 2, 1, "", "get_oxidation_states"]], "matminer.utils.data.PymatgenData": [[25, 2, 1, "", "__init__"], [25, 2, 1, "", "get_charge_dependent_property"], [25, 2, 1, "", "get_elemental_property"], [25, 2, 1, "", "get_oxidation_states"]], "matminer.utils.data_files": [[26, 0, 0, "-", "deml_elementdata"]], "matminer.utils.flatten_dict": [[25, 3, 1, "", "flatten_dict"]], "matminer.utils.io": [[25, 3, 1, "", "load_dataframe_from_json"], [25, 3, 1, "", "store_dataframe_as_json"]], "matminer.utils.kernels": [[25, 3, 1, "", "gaussian_kernel"], [25, 3, 1, "", "laplacian_kernel"]], "matminer.utils.pipeline": [[25, 1, 1, "", "DropExcluded"], [25, 1, 1, "", "ItemSelector"]], "matminer.utils.pipeline.DropExcluded": [[25, 2, 1, "", "__init__"], [25, 2, 1, "", "fit"], [25, 2, 1, "", "transform"]], "matminer.utils.pipeline.ItemSelector": [[25, 2, 1, "", "__init__"], [25, 2, 1, "", "fit"], [25, 2, 1, "", "transform"]], "matminer.utils.tests": [[27, 0, 0, "-", "test_caching"], [27, 0, 0, "-", "test_data"], [27, 0, 0, "-", "test_flatten_dict"], [27, 0, 0, "-", "test_io"]], "matminer.utils.tests.test_caching": [[27, 1, 1, "", "TestCaching"]], "matminer.utils.tests.test_caching.TestCaching": [[27, 2, 1, "", "test_cache"]], "matminer.utils.tests.test_data": [[27, 1, 1, "", "TestDemlData"], [27, 1, 1, "", "TestIUCrBondValenceData"], [27, 1, 1, "", "TestMEGNetData"], [27, 1, 1, "", "TestMagpieData"], [27, 1, 1, "", "TestMatScholarData"], [27, 1, 1, "", "TestMixingEnthalpy"], [27, 1, 1, "", "TestPymatgenData"]], "matminer.utils.tests.test_data.TestDemlData": [[27, 2, 1, "", "setUp"], [27, 2, 1, "", "test_get_oxidation"], [27, 2, 1, "", "test_get_property"]], "matminer.utils.tests.test_data.TestIUCrBondValenceData": [[27, 2, 1, "", "setUp"], [27, 2, 1, "", "test_get_data"]], "matminer.utils.tests.test_data.TestMEGNetData": [[27, 2, 1, "", "setUp"], [27, 2, 1, "", "test_get_property"]], "matminer.utils.tests.test_data.TestMagpieData": [[27, 2, 1, "", "setUp"], [27, 2, 1, "", "test_get_oxidation"], [27, 2, 1, "", "test_get_property"]], "matminer.utils.tests.test_data.TestMatScholarData": [[27, 2, 1, "", "setUp"], [27, 2, 1, "", "test_get_property"]], "matminer.utils.tests.test_data.TestMixingEnthalpy": [[27, 2, 1, "", "setUp"], [27, 2, 1, "", "test_get_data"]], "matminer.utils.tests.test_data.TestPymatgenData": [[27, 2, 1, "", "setUp"], [27, 2, 1, "", "test_get_oxidation"], [27, 2, 1, "", "test_get_property"]], "matminer.utils.tests.test_flatten_dict": [[27, 1, 1, "", "FlattenDictTest"]], "matminer.utils.tests.test_flatten_dict.FlattenDictTest": [[27, 2, 1, "", "test_flatten_nested_dict"]], "matminer.utils.tests.test_io": [[27, 1, 1, "", "IOTest"], [27, 3, 1, "", "generate_json_files"]], "matminer.utils.tests.test_io.IOTest": [[27, 2, 1, "", "setUp"], [27, 2, 1, "", "tearDown"], [27, 2, 1, "", "test_load_dataframe_from_json"], [27, 2, 1, "", "test_store_dataframe_as_json"]], "matminer.utils.utils": [[25, 3, 1, "", "homogenize_multiindex"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function", "4": "py:exception", "5": "py:attribute", "6": "py:property"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"], "4": ["py", "exception", "Python exception"], "5": ["py", "attribute", "Python attribute"], "6": ["py", "property", "Python property"]}, "titleterms": {"matmin": [0, 1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "changelog": [0, 6], "contributor": 1, "lbnl": 1, "hack": 1, "materi": [1, 4, 5, 6], "univers": 1, "chicago": 1, "persson": 1, "group": 1, "other": [1, 5], "guid": 2, "ad": 2, "dataset": [2, 3, 6, 11, 12], "1": [2, 4], "fork": 2, "repositori": 2, "github": 2, "2": [2, 4], "prepar": 2, "long": 2, "term": 2, "host": 2, "To": 2, "updat": [2, 7], "script": 2, "preprocess": 2, "your": 2, "3": [2, 4], "upload": 2, "4": [2, 4], "metadata": 2, "file": 2, "5": [2, 4], "test": [2, 10, 12, 15, 17, 19, 20, 22, 24, 27], "load": 2, "code": 2, "6": [2, 4], "make": 2, "pull": 2, "request": 2, "tabl": 3, "info": 3, "boltztrap_mp": 3, "brgoch_superhard_train": 3, "castelli_perovskit": 3, "citrine_thermal_conduct": 3, "dielectric_const": 3, "double_perovskites_gap": 3, "double_perovskites_gap_lumo": 3, "elastic_tensor_2015": 3, "expt_formation_enthalpi": 3, "expt_formation_enthalpy_kingsburi": 3, "expt_gap": 3, "expt_gap_kingsburi": 3, "flla": 3, "glass_binari": 3, "glass_binary_v2": 3, "glass_ternary_hipt": 3, "glass_ternary_landolt": 3, "heusler_magnet": 3, "jarvis_dft_2d": 3, "jarvis_dft_3d": 3, "jarvis_ml_dft_train": 3, "m2ax": 3, "matbench_dielectr": 3, "matbench_expt_gap": 3, "matbench_expt_is_met": 3, "matbench_glass": 3, "matbench_jdft2d": 3, "matbench_log_gvrh": 3, "matbench_log_kvrh": 3, "matbench_mp_e_form": 3, "matbench_mp_gap": 3, "matbench_mp_is_met": 3, "matbench_perovskit": 3, "matbench_phonon": 3, "matbench_steel": 3, "mp_all_20181018": 3, "mp_nostruct_20181018": 3, "phonon_dielectric_mp": 3, "piezoelectric_tensor": 3, "ricci_boltztrap_mp_tabular": 3, "steel_strength": 3, "superconductivity2018": 3, "tholander_nitrid": 3, "ucsb_thermoelectr": 3, "wolverton_oxid": 3, "predict": 4, "bulk": 4, "moduli": 4, "fit": 4, "data": [4, 6, 25], "mine": 4, "model": 4, "6000": 4, "calcul": [4, 5], "from": [4, 5], "project": 4, "preambl": 4, "step": 4, "us": 4, "obtain": 4, "mp": 4, "automat": 4, "panda": 4, "datafram": [4, 6], "add": 4, "descriptor": [4, 6], "featur": [4, 5, 6, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "linear": 4, "regress": 4, "get": 4, "r2": 4, "rmse": 4, "plot": [4, 23], "result": 4, "figrecip": [4, 23, 24], "follow": 4, "similar": 4, "random": 4, "forest": 4, "our": 4, "determin": 4, "what": 4, "ar": 4, "most": 4, "import": 4, "bandstructur": [5, 13], "deriv": 5, "": 5, "electron": 5, "base": [5, 10, 12, 13, 15, 17, 19], "parent": 5, "class": 5, "meta": 5, "composit": [5, 14, 15, 18], "alloi": [5, 14], "element": [5, 14], "ion": [5, 14], "orbit": [5, 14], "pack": [5, 14], "thermo": [5, 14], "convers": [5, 6, 13], "util": [5, 11, 21, 22, 25, 26, 27], "do": [5, 13], "densiti": 5, "state": 5, "function": [5, 13], "expand": 5, "set": 5, "site": [5, 16, 17, 18], "individu": 5, "crystal": 5, "structur": [5, 18, 19], "bond": [5, 16, 18], "chemic": [5, 16], "extern": [5, 16], "fingerprint": [5, 16], "misc": [5, 16, 18], "rdf": [5, 16, 18], "gener": [5, 6], "matrix": [5, 18], "order": [5, 18], "symmetri": [5, 18], "relat": 6, "softwar": 6, "quick": 6, "link": 6, "instal": [6, 7], "overview": 6, "retriev": 6, "easili": 6, "put": 6, "complex": 6, "onlin": 6, "access": 6, "readi": 6, "made": 6, "one": 6, "line": 6, "mung": 6, "exampl": 6, "citat": 6, "cite": 6, "contribut": 6, "support": 6, "via": 7, "pip": 7, "develop": 7, "mode": 7, "tip": 7, "packag": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27], "subpackag": [8, 9, 11, 13, 14, 16, 18, 21, 23, 25], "modul": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27], "content": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27], "data_retriev": [9, 10], "submodul": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27], "retrieve_aflow": 9, "retrieve_citrin": 9, "retrieve_mdf": 9, "retrieve_mp": 9, "retrieve_mpd": 9, "retrieve_mongodb": 9, "retrieve_bas": 9, "test_retrieve_aflow": 10, "test_retrieve_citrin": 10, "test_retrieve_mdf": 10, "test_retrieve_mp": 10, "test_retrieve_mpd": 10, "test_retrieve_mongodb": 10, "convenience_load": 11, "dataset_retriev": 11, "test_convenience_load": 12, "test_dataset_retriev": 12, "test_dataset": 12, "test_util": 12, "test_alloi": 15, "test_composit": [15, 19], "test_el": 15, "test_ion": 15, "test_orbit": 15, "test_pack": 15, "test_thermo": 15, "test_bond": [17, 19], "test_chem": 17, "test_extern": 17, "test_fingerprint": 17, "test_misc": [17, 19], "test_rdf": [17, 19], "test_matrix": 19, "test_ord": 19, "test_sit": 19, "test_symmetri": 19, "test_bandstructur": 20, "test_bas": 20, "test_convers": 20, "test_do": 20, "test_funct": 20, "grdf": 21, "oxid": 21, "stat": 21, "test_grdf": 22, "test_oxid": 22, "test_stat": 22, "test_plot": 24, "cach": 25, "flatten_dict": 25, "io": 25, "kernel": 25, "pipelin": 25, "data_fil": 26, "deml_elementdata": 26, "test_cach": 27, "test_data": 27, "test_flatten_dict": 27, "test_io": 27}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"matminer Changelog": [[0, "matminer-changelog"]], "matminer Contributors": [[1, "matminer-contributors"]], "LBNL - Hacking Materials": [[1, "id1"]], "University of Chicago": [[1, "university-of-chicago"]], "LBNL - Persson Group": [[1, "id2"]], "Other": [[1, "other"]], "Guide to adding datasets to matminer": [[2, "guide-to-adding-datasets-to-matminer"]], "1. Fork the matminer repository on GitHub": [[2, "fork-the-matminer-repository-on-github"]], "2. Prepare the dataset for long term hosting": [[2, "prepare-the-dataset-for-long-term-hosting"]], "To update the script to preprocess your dataset:": [[2, "to-update-the-script-to-preprocess-your-dataset"]], "3. Upload the dataset to long term hosting": [[2, "upload-the-dataset-to-long-term-hosting"]], "4. Update the matminer dataset metadata file": [[2, "update-the-matminer-dataset-metadata-file"]], "5. Update the dataset tests and loading code": [[2, "update-the-dataset-tests-and-loading-code"]], "6. Make a Pull Request to the matminer GitHub repository": [[2, "make-a-pull-request-to-the-matminer-github-repository"]], "Table of Datasets": [[3, "table-of-datasets"]], "Dataset info": [[3, "dataset-info"]], "boltztrap_mp": [[3, "boltztrap-mp"]], "brgoch_superhard_training": [[3, "brgoch-superhard-training"]], "castelli_perovskites": [[3, "castelli-perovskites"]], "citrine_thermal_conductivity": [[3, "citrine-thermal-conductivity"]], "dielectric_constant": [[3, "dielectric-constant"]], "double_perovskites_gap": [[3, "double-perovskites-gap"]], "double_perovskites_gap_lumo": [[3, "double-perovskites-gap-lumo"]], "elastic_tensor_2015": [[3, "elastic-tensor-2015"]], "expt_formation_enthalpy": [[3, "expt-formation-enthalpy"]], "expt_formation_enthalpy_kingsbury": [[3, "expt-formation-enthalpy-kingsbury"]], "expt_gap": [[3, "expt-gap"]], "expt_gap_kingsbury": [[3, "expt-gap-kingsbury"]], "flla": [[3, "flla"]], "glass_binary": [[3, "glass-binary"]], "glass_binary_v2": [[3, "glass-binary-v2"]], "glass_ternary_hipt": [[3, "glass-ternary-hipt"]], "glass_ternary_landolt": [[3, "glass-ternary-landolt"]], "heusler_magnetic": [[3, "heusler-magnetic"]], "jarvis_dft_2d": [[3, "jarvis-dft-2d"]], "jarvis_dft_3d": [[3, "jarvis-dft-3d"]], "jarvis_ml_dft_training": [[3, "jarvis-ml-dft-training"]], "m2ax": [[3, "m2ax"]], "matbench_dielectric": [[3, "matbench-dielectric"]], "matbench_expt_gap": [[3, "matbench-expt-gap"]], "matbench_expt_is_metal": [[3, "matbench-expt-is-metal"]], "matbench_glass": [[3, "matbench-glass"]], "matbench_jdft2d": [[3, "matbench-jdft2d"]], "matbench_log_gvrh": [[3, "matbench-log-gvrh"]], "matbench_log_kvrh": [[3, "matbench-log-kvrh"]], "matbench_mp_e_form": [[3, "matbench-mp-e-form"]], "matbench_mp_gap": [[3, "matbench-mp-gap"]], "matbench_mp_is_metal": [[3, "matbench-mp-is-metal"]], "matbench_perovskites": [[3, "matbench-perovskites"]], "matbench_phonons": [[3, "matbench-phonons"]], "matbench_steels": [[3, "matbench-steels"]], "mp_all_20181018": [[3, "mp-all-20181018"]], "mp_nostruct_20181018": [[3, "mp-nostruct-20181018"]], "phonon_dielectric_mp": [[3, "phonon-dielectric-mp"]], "piezoelectric_tensor": [[3, "piezoelectric-tensor"]], "ricci_boltztrap_mp_tabular": [[3, "ricci-boltztrap-mp-tabular"]], "steel_strength": [[3, "steel-strength"]], "superconductivity2018": [[3, "superconductivity2018"]], "tholander_nitrides": [[3, "tholander-nitrides"]], "ucsb_thermoelectrics": [[3, "ucsb-thermoelectrics"]], "wolverton_oxides": [[3, "wolverton-oxides"]], "Predicting bulk moduli with matminer": [[4, "predicting-bulk-moduli-with-matminer"]], "Fit data mining models to ~6000 calculated bulk moduli from Materials Project": [[4, "fit-data-mining-models-to-6000-calculated-bulk-moduli-from-materials-project"]], "Preamble": [[4, "preamble"]], "Step 1: Use matminer to obtain data from MP (automatically) in a \u201cpandas\u201d dataframe": [[4, "step-1-use-matminer-to-obtain-data-from-mp-automatically-in-a-pandas-dataframe"]], "Step 2: Add descriptors/features": [[4, "step-2-add-descriptors-features"]], "Step 3: Fit a Linear Regression model, get R2 and RMSE": [[4, "step-3-fit-a-linear-regression-model-get-r2-and-rmse"]], "Step 4: Plot the results with FigRecipes": [[4, "step-4-plot-the-results-with-figrecipes"]], "Step 5: Follow similar steps for a Random Forest model": [[4, "step-5-follow-similar-steps-for-a-random-forest-model"]], "Step 6: Plot our results and determine what features are the most important": [[4, "step-6-plot-our-results-and-determine-what-features-are-the-most-important"]], "bandstructure": [[5, "bandstructure"]], "Features derived from a material\u2019s electronic bandstructure.": [[5, "features-derived-from-a-material-s-electronic-bandstructure"]], "base": [[5, "base"]], "Parent classes and meta-featurizers.": [[5, "parent-classes-and-meta-featurizers"]], "composition": [[5, "composition"]], "Features based on a material\u2019s composition.": [[5, "features-based-on-a-material-s-composition"]], "alloy": [[5, "alloy"]], "composite": [[5, "composite"], [5, "id2"]], "element": [[5, "element"]], "ion": [[5, "ion"]], "orbital": [[5, "orbital"]], "packing": [[5, "packing"]], "thermo": [[5, "thermo"]], "conversions": [[5, "conversions"]], "Conversion utilities.": [[5, "conversion-utilities"]], "dos": [[5, "dos"]], "Features based on a material\u2019s electronic density of states.": [[5, "features-based-on-a-material-s-electronic-density-of-states"]], "function": [[5, "function"]], "Classes for expanding sets of features calculated with other featurizers.": [[5, "classes-for-expanding-sets-of-features-calculated-with-other-featurizers"]], "site": [[5, "site"]], "Features from individual sites in a material\u2019s crystal structure.": [[5, "features-from-individual-sites-in-a-material-s-crystal-structure"]], "bonding": [[5, "bonding"], [5, "id1"]], "chemical": [[5, "chemical"]], "external": [[5, "external"]], "fingerprint": [[5, "fingerprint"]], "misc": [[5, "misc"], [5, "id3"]], "rdf": [[5, "rdf"], [5, "id4"]], "structure": [[5, "structure"]], "Generating features based on a material\u2019s crystal structure.": [[5, "generating-features-based-on-a-material-s-crystal-structure"]], "matrix": [[5, "matrix"]], "order": [[5, "order"]], "sites": [[5, "sites"]], "symmetry": [[5, "symmetry"]], "matminer": [[6, "matminer"], [28, "matminer"]], "Related software": [[6, "related-software"]], "Quick Links": [[6, "quick-links"]], "Installation": [[6, "installation"]], "Overview": [[6, "overview"]], "Featurizers generate descriptors for materials": [[6, "featurizers-generate-descriptors-for-materials"]], "Data retrieval easily puts complex online data into dataframes": [[6, "data-retrieval-easily-puts-complex-online-data-into-dataframes"]], "Access ready-made datasets in one line": [[6, "access-ready-made-datasets-in-one-line"]], "Data munging with Conversion Featurizers": [[6, "data-munging-with-conversion-featurizers"]], "Examples": [[6, "examples"]], "Citations and Changelog": [[6, "citations-and-changelog"]], "Citing matminer": [[6, "citing-matminer"]], "Changelog": [[6, "changelog"]], "Contributions and Support": [[6, "contributions-and-support"]], "Installing matminer": [[7, "installing-matminer"]], "Install and update via pip": [[7, "install-and-update-via-pip"]], "Install in development mode": [[7, "install-in-development-mode"]], "Tips": [[7, "tips"]], "matminer package": [[8, "matminer-package"]], "Subpackages": [[8, "subpackages"], [9, "subpackages"], [11, "subpackages"], [13, "subpackages"], [14, "subpackages"], [16, "subpackages"], [18, "subpackages"], [21, "subpackages"], [23, "subpackages"], [25, "subpackages"]], "Module contents": [[8, "module-matminer"], [9, "module-matminer.data_retrieval"], [10, "module-matminer.data_retrieval.tests"], [11, "module-matminer.datasets"], [12, "module-matminer.datasets.tests"], [13, "module-matminer.featurizers"], [14, "module-matminer.featurizers.composition"], [15, "module-matminer.featurizers.composition.tests"], [16, "module-matminer.featurizers.site"], [17, "module-matminer.featurizers.site.tests"], [18, "module-matminer.featurizers.structure"], [19, "module-matminer.featurizers.structure.tests"], [20, "module-matminer.featurizers.tests"], [21, "module-matminer.featurizers.utils"], [22, "module-matminer.featurizers.utils.tests"], [23, "module-contents"], [24, "module-contents"], [25, "module-matminer.utils"], [26, "module-matminer.utils.data_files"], [27, "module-matminer.utils.tests"]], "matminer.data_retrieval package": [[9, "matminer-data-retrieval-package"]], "Submodules": [[9, "submodules"], [10, "submodules"], [11, "submodules"], [12, "submodules"], [13, "submodules"], [14, "submodules"], [15, "submodules"], [16, "submodules"], [17, "submodules"], [18, "submodules"], [19, "submodules"], [20, "submodules"], [21, "submodules"], [22, "submodules"], [23, "submodules"], [24, "submodules"], [25, "submodules"], [26, "submodules"], [27, "submodules"]], "matminer.data_retrieval.retrieve_AFLOW module": [[9, "module-matminer.data_retrieval.retrieve_AFLOW"]], "matminer.data_retrieval.retrieve_Citrine module": [[9, "module-matminer.data_retrieval.retrieve_Citrine"]], "matminer.data_retrieval.retrieve_MDF module": [[9, "module-matminer.data_retrieval.retrieve_MDF"]], "matminer.data_retrieval.retrieve_MP module": [[9, "module-matminer.data_retrieval.retrieve_MP"]], "matminer.data_retrieval.retrieve_MPDS module": [[9, "module-matminer.data_retrieval.retrieve_MPDS"]], "matminer.data_retrieval.retrieve_MongoDB module": [[9, "module-matminer.data_retrieval.retrieve_MongoDB"]], "matminer.data_retrieval.retrieve_base module": [[9, "module-matminer.data_retrieval.retrieve_base"]], "matminer.data_retrieval.tests package": [[10, "matminer-data-retrieval-tests-package"]], "matminer.data_retrieval.tests.base module": [[10, "module-matminer.data_retrieval.tests.base"]], "matminer.data_retrieval.tests.test_retrieve_AFLOW module": [[10, "module-matminer.data_retrieval.tests.test_retrieve_AFLOW"]], "matminer.data_retrieval.tests.test_retrieve_Citrine module": [[10, "module-matminer.data_retrieval.tests.test_retrieve_Citrine"]], "matminer.data_retrieval.tests.test_retrieve_MDF module": [[10, "module-matminer.data_retrieval.tests.test_retrieve_MDF"]], "matminer.data_retrieval.tests.test_retrieve_MP module": [[10, "module-matminer.data_retrieval.tests.test_retrieve_MP"]], "matminer.data_retrieval.tests.test_retrieve_MPDS module": [[10, "module-matminer.data_retrieval.tests.test_retrieve_MPDS"]], "matminer.data_retrieval.tests.test_retrieve_MongoDB module": [[10, "module-matminer.data_retrieval.tests.test_retrieve_MongoDB"]], "matminer.datasets package": [[11, "matminer-datasets-package"]], "matminer.datasets.convenience_loaders module": [[11, "module-matminer.datasets.convenience_loaders"]], "matminer.datasets.dataset_retrieval module": [[11, "module-matminer.datasets.dataset_retrieval"]], "matminer.datasets.utils module": [[11, "module-matminer.datasets.utils"]], "matminer.datasets.tests package": [[12, "matminer-datasets-tests-package"]], "matminer.datasets.tests.base module": [[12, "module-matminer.datasets.tests.base"]], "matminer.datasets.tests.test_convenience_loaders module": [[12, "module-matminer.datasets.tests.test_convenience_loaders"]], "matminer.datasets.tests.test_dataset_retrieval module": [[12, "module-matminer.datasets.tests.test_dataset_retrieval"]], "matminer.datasets.tests.test_datasets module": [[12, "module-matminer.datasets.tests.test_datasets"]], "matminer.datasets.tests.test_utils module": [[12, "module-matminer.datasets.tests.test_utils"]], "matminer.featurizers package": [[13, "matminer-featurizers-package"]], "matminer.featurizers.bandstructure module": [[13, "module-matminer.featurizers.bandstructure"]], "matminer.featurizers.base module": [[13, "module-matminer.featurizers.base"]], "matminer.featurizers.conversions module": [[13, "module-matminer.featurizers.conversions"]], "matminer.featurizers.dos module": [[13, "module-matminer.featurizers.dos"]], "matminer.featurizers.function module": [[13, "module-matminer.featurizers.function"]], "matminer.featurizers.composition package": [[14, "matminer-featurizers-composition-package"]], "matminer.featurizers.composition.alloy module": [[14, "module-matminer.featurizers.composition.alloy"]], "matminer.featurizers.composition.composite module": [[14, "module-matminer.featurizers.composition.composite"]], "matminer.featurizers.composition.element module": [[14, "module-matminer.featurizers.composition.element"]], "matminer.featurizers.composition.ion module": [[14, "module-matminer.featurizers.composition.ion"]], "matminer.featurizers.composition.orbital module": [[14, "module-matminer.featurizers.composition.orbital"]], "matminer.featurizers.composition.packing module": [[14, "module-matminer.featurizers.composition.packing"]], "matminer.featurizers.composition.thermo module": [[14, "module-matminer.featurizers.composition.thermo"]], "matminer.featurizers.composition.tests package": [[15, "matminer-featurizers-composition-tests-package"]], "matminer.featurizers.composition.tests.base module": [[15, "module-matminer.featurizers.composition.tests.base"]], "matminer.featurizers.composition.tests.test_alloy module": [[15, "module-matminer.featurizers.composition.tests.test_alloy"]], "matminer.featurizers.composition.tests.test_composite module": [[15, "module-matminer.featurizers.composition.tests.test_composite"]], "matminer.featurizers.composition.tests.test_element module": [[15, "module-matminer.featurizers.composition.tests.test_element"]], "matminer.featurizers.composition.tests.test_ion module": [[15, "module-matminer.featurizers.composition.tests.test_ion"]], "matminer.featurizers.composition.tests.test_orbital module": [[15, "module-matminer.featurizers.composition.tests.test_orbital"]], "matminer.featurizers.composition.tests.test_packing module": [[15, "module-matminer.featurizers.composition.tests.test_packing"]], "matminer.featurizers.composition.tests.test_thermo module": [[15, "module-matminer.featurizers.composition.tests.test_thermo"]], "matminer.featurizers.site package": [[16, "matminer-featurizers-site-package"]], "matminer.featurizers.site.bonding module": [[16, "module-matminer.featurizers.site.bonding"]], "matminer.featurizers.site.chemical module": [[16, "module-matminer.featurizers.site.chemical"]], "matminer.featurizers.site.external module": [[16, "module-matminer.featurizers.site.external"]], "matminer.featurizers.site.fingerprint module": [[16, "module-matminer.featurizers.site.fingerprint"]], "matminer.featurizers.site.misc module": [[16, "module-matminer.featurizers.site.misc"]], "matminer.featurizers.site.rdf module": [[16, "module-matminer.featurizers.site.rdf"]], "matminer.featurizers.site.tests package": [[17, "matminer-featurizers-site-tests-package"]], "matminer.featurizers.site.tests.base module": [[17, "module-matminer.featurizers.site.tests.base"]], "matminer.featurizers.site.tests.test_bonding module": [[17, "module-matminer.featurizers.site.tests.test_bonding"]], "matminer.featurizers.site.tests.test_chemical module": [[17, "module-matminer.featurizers.site.tests.test_chemical"]], "matminer.featurizers.site.tests.test_external module": [[17, "module-matminer.featurizers.site.tests.test_external"]], "matminer.featurizers.site.tests.test_fingerprint module": [[17, "module-matminer.featurizers.site.tests.test_fingerprint"]], "matminer.featurizers.site.tests.test_misc module": [[17, "module-matminer.featurizers.site.tests.test_misc"]], "matminer.featurizers.site.tests.test_rdf module": [[17, "module-matminer.featurizers.site.tests.test_rdf"]], "matminer.featurizers.structure package": [[18, "matminer-featurizers-structure-package"]], "matminer.featurizers.structure.bonding module": [[18, "module-matminer.featurizers.structure.bonding"]], "matminer.featurizers.structure.composite module": [[18, "module-matminer.featurizers.structure.composite"]], "matminer.featurizers.structure.matrix module": [[18, "module-matminer.featurizers.structure.matrix"]], "matminer.featurizers.structure.misc module": [[18, "module-matminer.featurizers.structure.misc"]], "matminer.featurizers.structure.order module": [[18, "module-matminer.featurizers.structure.order"]], "matminer.featurizers.structure.rdf module": [[18, "module-matminer.featurizers.structure.rdf"]], "matminer.featurizers.structure.sites module": [[18, "module-matminer.featurizers.structure.sites"]], "matminer.featurizers.structure.symmetry module": [[18, "module-matminer.featurizers.structure.symmetry"]], "matminer.featurizers.structure.tests package": [[19, "matminer-featurizers-structure-tests-package"]], "matminer.featurizers.structure.tests.base module": [[19, "module-matminer.featurizers.structure.tests.base"]], "matminer.featurizers.structure.tests.test_bonding module": [[19, "module-matminer.featurizers.structure.tests.test_bonding"]], "matminer.featurizers.structure.tests.test_composite module": [[19, "module-matminer.featurizers.structure.tests.test_composite"]], "matminer.featurizers.structure.tests.test_matrix module": [[19, "module-matminer.featurizers.structure.tests.test_matrix"]], "matminer.featurizers.structure.tests.test_misc module": [[19, "module-matminer.featurizers.structure.tests.test_misc"]], "matminer.featurizers.structure.tests.test_order module": [[19, "module-matminer.featurizers.structure.tests.test_order"]], "matminer.featurizers.structure.tests.test_rdf module": [[19, "module-matminer.featurizers.structure.tests.test_rdf"]], "matminer.featurizers.structure.tests.test_sites module": [[19, "module-matminer.featurizers.structure.tests.test_sites"]], "matminer.featurizers.structure.tests.test_symmetry module": [[19, "module-matminer.featurizers.structure.tests.test_symmetry"]], "matminer.featurizers.tests package": [[20, "matminer-featurizers-tests-package"]], "matminer.featurizers.tests.test_bandstructure module": [[20, "module-matminer.featurizers.tests.test_bandstructure"]], "matminer.featurizers.tests.test_base module": [[20, "module-matminer.featurizers.tests.test_base"]], "matminer.featurizers.tests.test_conversions module": [[20, "module-matminer.featurizers.tests.test_conversions"]], "matminer.featurizers.tests.test_dos module": [[20, "module-matminer.featurizers.tests.test_dos"]], "matminer.featurizers.tests.test_function module": [[20, "module-matminer.featurizers.tests.test_function"]], "matminer.featurizers.utils package": [[21, "matminer-featurizers-utils-package"]], "matminer.featurizers.utils.grdf module": [[21, "module-matminer.featurizers.utils.grdf"]], "matminer.featurizers.utils.oxidation module": [[21, "module-matminer.featurizers.utils.oxidation"]], "matminer.featurizers.utils.stats module": [[21, "module-matminer.featurizers.utils.stats"]], "matminer.featurizers.utils.tests package": [[22, "matminer-featurizers-utils-tests-package"]], "matminer.featurizers.utils.tests.test_grdf module": [[22, "module-matminer.featurizers.utils.tests.test_grdf"]], "matminer.featurizers.utils.tests.test_oxidation module": [[22, "module-matminer.featurizers.utils.tests.test_oxidation"]], "matminer.featurizers.utils.tests.test_stats module": [[22, "module-matminer.featurizers.utils.tests.test_stats"]], "matminer.figrecipes package": [[23, "matminer-figrecipes-package"]], "matminer.figrecipes.plot module": [[23, "matminer-figrecipes-plot-module"]], "matminer.figrecipes.tests package": [[24, "matminer-figrecipes-tests-package"]], "matminer.figrecipes.tests.test_plots module": [[24, "matminer-figrecipes-tests-test-plots-module"]], "matminer.utils package": [[25, "matminer-utils-package"]], "matminer.utils.caching module": [[25, "module-matminer.utils.caching"]], "matminer.utils.data module": [[25, "module-matminer.utils.data"]], "matminer.utils.flatten_dict module": [[25, "module-matminer.utils.flatten_dict"]], "matminer.utils.io module": [[25, "module-matminer.utils.io"]], "matminer.utils.kernels module": [[25, "module-matminer.utils.kernels"]], "matminer.utils.pipeline module": [[25, "module-matminer.utils.pipeline"]], "matminer.utils.utils module": [[25, "module-matminer.utils.utils"]], "matminer.utils.data_files package": [[26, "matminer-utils-data-files-package"]], "matminer.utils.data_files.deml_elementdata module": [[26, "module-matminer.utils.data_files.deml_elementdata"]], "matminer.utils.tests package": [[27, "matminer-utils-tests-package"]], "matminer.utils.tests.test_caching module": [[27, "module-matminer.utils.tests.test_caching"]], "matminer.utils.tests.test_data module": [[27, "module-matminer.utils.tests.test_data"]], "matminer.utils.tests.test_flatten_dict module": [[27, "module-matminer.utils.tests.test_flatten_dict"]], "matminer.utils.tests.test_io module": [[27, "module-matminer.utils.tests.test_io"]]}, "indexentries": {"matminer": [[8, "module-matminer"]], "module": [[8, "module-matminer"], [9, "module-matminer.data_retrieval"], [9, "module-matminer.data_retrieval.retrieve_AFLOW"], [9, "module-matminer.data_retrieval.retrieve_Citrine"], [9, "module-matminer.data_retrieval.retrieve_MDF"], [9, "module-matminer.data_retrieval.retrieve_MP"], [9, "module-matminer.data_retrieval.retrieve_MPDS"], [9, "module-matminer.data_retrieval.retrieve_MongoDB"], [9, "module-matminer.data_retrieval.retrieve_base"], [10, "module-matminer.data_retrieval.tests"], [10, "module-matminer.data_retrieval.tests.base"], [10, "module-matminer.data_retrieval.tests.test_retrieve_AFLOW"], [10, "module-matminer.data_retrieval.tests.test_retrieve_Citrine"], [10, "module-matminer.data_retrieval.tests.test_retrieve_MDF"], [10, "module-matminer.data_retrieval.tests.test_retrieve_MP"], [10, "module-matminer.data_retrieval.tests.test_retrieve_MPDS"], [10, "module-matminer.data_retrieval.tests.test_retrieve_MongoDB"], [11, "module-matminer.datasets"], [11, "module-matminer.datasets.convenience_loaders"], [11, "module-matminer.datasets.dataset_retrieval"], [11, "module-matminer.datasets.utils"], [12, "module-matminer.datasets.tests"], [12, "module-matminer.datasets.tests.base"], [12, "module-matminer.datasets.tests.test_convenience_loaders"], [12, "module-matminer.datasets.tests.test_dataset_retrieval"], [12, "module-matminer.datasets.tests.test_datasets"], [12, "module-matminer.datasets.tests.test_utils"], [13, "module-matminer.featurizers"], [13, "module-matminer.featurizers.bandstructure"], [13, "module-matminer.featurizers.base"], [13, "module-matminer.featurizers.conversions"], [13, "module-matminer.featurizers.dos"], [13, "module-matminer.featurizers.function"], [14, "module-matminer.featurizers.composition"], [14, "module-matminer.featurizers.composition.alloy"], [14, "module-matminer.featurizers.composition.composite"], [14, "module-matminer.featurizers.composition.element"], [14, "module-matminer.featurizers.composition.ion"], [14, "module-matminer.featurizers.composition.orbital"], [14, "module-matminer.featurizers.composition.packing"], [14, "module-matminer.featurizers.composition.thermo"], [15, "module-matminer.featurizers.composition.tests"], [15, "module-matminer.featurizers.composition.tests.base"], [15, "module-matminer.featurizers.composition.tests.test_alloy"], [15, "module-matminer.featurizers.composition.tests.test_composite"], [15, "module-matminer.featurizers.composition.tests.test_element"], [15, "module-matminer.featurizers.composition.tests.test_ion"], [15, "module-matminer.featurizers.composition.tests.test_orbital"], [15, "module-matminer.featurizers.composition.tests.test_packing"], [15, "module-matminer.featurizers.composition.tests.test_thermo"], [16, "module-matminer.featurizers.site"], [16, "module-matminer.featurizers.site.bonding"], [16, "module-matminer.featurizers.site.chemical"], [16, "module-matminer.featurizers.site.external"], [16, "module-matminer.featurizers.site.fingerprint"], [16, "module-matminer.featurizers.site.misc"], [16, "module-matminer.featurizers.site.rdf"], [17, "module-matminer.featurizers.site.tests"], [17, "module-matminer.featurizers.site.tests.base"], [17, "module-matminer.featurizers.site.tests.test_bonding"], [17, "module-matminer.featurizers.site.tests.test_chemical"], [17, "module-matminer.featurizers.site.tests.test_external"], [17, "module-matminer.featurizers.site.tests.test_fingerprint"], [17, "module-matminer.featurizers.site.tests.test_misc"], [17, "module-matminer.featurizers.site.tests.test_rdf"], [18, "module-matminer.featurizers.structure"], [18, "module-matminer.featurizers.structure.bonding"], [18, "module-matminer.featurizers.structure.composite"], [18, "module-matminer.featurizers.structure.matrix"], [18, "module-matminer.featurizers.structure.misc"], [18, "module-matminer.featurizers.structure.order"], [18, "module-matminer.featurizers.structure.rdf"], [18, "module-matminer.featurizers.structure.sites"], [18, "module-matminer.featurizers.structure.symmetry"], [19, "module-matminer.featurizers.structure.tests"], [19, "module-matminer.featurizers.structure.tests.base"], [19, "module-matminer.featurizers.structure.tests.test_bonding"], [19, "module-matminer.featurizers.structure.tests.test_composite"], [19, "module-matminer.featurizers.structure.tests.test_matrix"], [19, "module-matminer.featurizers.structure.tests.test_misc"], [19, "module-matminer.featurizers.structure.tests.test_order"], [19, "module-matminer.featurizers.structure.tests.test_rdf"], [19, "module-matminer.featurizers.structure.tests.test_sites"], [19, "module-matminer.featurizers.structure.tests.test_symmetry"], [20, "module-matminer.featurizers.tests"], [20, "module-matminer.featurizers.tests.test_bandstructure"], [20, "module-matminer.featurizers.tests.test_base"], [20, "module-matminer.featurizers.tests.test_conversions"], [20, "module-matminer.featurizers.tests.test_dos"], [20, "module-matminer.featurizers.tests.test_function"], [21, "module-matminer.featurizers.utils"], [21, "module-matminer.featurizers.utils.grdf"], [21, "module-matminer.featurizers.utils.oxidation"], [21, "module-matminer.featurizers.utils.stats"], [22, "module-matminer.featurizers.utils.tests"], [22, "module-matminer.featurizers.utils.tests.test_grdf"], [22, "module-matminer.featurizers.utils.tests.test_oxidation"], [22, "module-matminer.featurizers.utils.tests.test_stats"], [25, "module-matminer.utils"], [25, "module-matminer.utils.caching"], [25, "module-matminer.utils.data"], [25, "module-matminer.utils.flatten_dict"], [25, "module-matminer.utils.io"], [25, "module-matminer.utils.kernels"], [25, "module-matminer.utils.pipeline"], [25, "module-matminer.utils.utils"], [26, "module-matminer.utils.data_files"], [26, "module-matminer.utils.data_files.deml_elementdata"], [27, "module-matminer.utils.tests"], [27, "module-matminer.utils.tests.test_caching"], [27, "module-matminer.utils.tests.test_data"], [27, "module-matminer.utils.tests.test_flatten_dict"], [27, "module-matminer.utils.tests.test_io"]], "aflowdataretrieval (class in matminer.data_retrieval.retrieve_aflow)": [[9, "matminer.data_retrieval.retrieve_AFLOW.AFLOWDataRetrieval"]], "apierror": [[9, "matminer.data_retrieval.retrieve_MPDS.APIError"]], "basedataretrieval (class in matminer.data_retrieval.retrieve_base)": [[9, "matminer.data_retrieval.retrieve_base.BaseDataRetrieval"]], "citrinedataretrieval (class in matminer.data_retrieval.retrieve_citrine)": [[9, "matminer.data_retrieval.retrieve_Citrine.CitrineDataRetrieval"]], "mdfdataretrieval (class in matminer.data_retrieval.retrieve_mdf)": [[9, "matminer.data_retrieval.retrieve_MDF.MDFDataRetrieval"]], "mpdsdataretrieval (class in matminer.data_retrieval.retrieve_mpds)": [[9, "matminer.data_retrieval.retrieve_MPDS.MPDSDataRetrieval"]], "mpdataretrieval (class in matminer.data_retrieval.retrieve_mp)": [[9, "matminer.data_retrieval.retrieve_MP.MPDataRetrieval"]], "mongodataretrieval (class in matminer.data_retrieval.retrieve_mongodb)": [[9, "matminer.data_retrieval.retrieve_MongoDB.MongoDataRetrieval"]], "retrievalquery (class in matminer.data_retrieval.retrieve_aflow)": [[9, "matminer.data_retrieval.retrieve_AFLOW.RetrievalQuery"]], "__init__() (matminer.data_retrieval.retrieve_citrine.citrinedataretrieval method)": [[9, "matminer.data_retrieval.retrieve_Citrine.CitrineDataRetrieval.__init__"]], "__init__() (matminer.data_retrieval.retrieve_mdf.mdfdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MDF.MDFDataRetrieval.__init__"]], "__init__() (matminer.data_retrieval.retrieve_mp.mpdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MP.MPDataRetrieval.__init__"]], "__init__() (matminer.data_retrieval.retrieve_mpds.apierror method)": [[9, "matminer.data_retrieval.retrieve_MPDS.APIError.__init__"]], "__init__() (matminer.data_retrieval.retrieve_mpds.mpdsdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MPDS.MPDSDataRetrieval.__init__"]], "__init__() (matminer.data_retrieval.retrieve_mongodb.mongodataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MongoDB.MongoDataRetrieval.__init__"]], "api_link() (matminer.data_retrieval.retrieve_aflow.aflowdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_AFLOW.AFLOWDataRetrieval.api_link"]], "api_link() (matminer.data_retrieval.retrieve_citrine.citrinedataretrieval method)": [[9, "matminer.data_retrieval.retrieve_Citrine.CitrineDataRetrieval.api_link"]], "api_link() (matminer.data_retrieval.retrieve_mdf.mdfdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MDF.MDFDataRetrieval.api_link"]], "api_link() (matminer.data_retrieval.retrieve_mp.mpdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MP.MPDataRetrieval.api_link"]], "api_link() (matminer.data_retrieval.retrieve_mpds.mpdsdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MPDS.MPDSDataRetrieval.api_link"]], "api_link() (matminer.data_retrieval.retrieve_mongodb.mongodataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MongoDB.MongoDataRetrieval.api_link"]], "api_link() (matminer.data_retrieval.retrieve_base.basedataretrieval method)": [[9, "matminer.data_retrieval.retrieve_base.BaseDataRetrieval.api_link"]], "chillouttime (matminer.data_retrieval.retrieve_mpds.mpdsdataretrieval attribute)": [[9, "matminer.data_retrieval.retrieve_MPDS.MPDSDataRetrieval.chillouttime"]], "citations() (matminer.data_retrieval.retrieve_aflow.aflowdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_AFLOW.AFLOWDataRetrieval.citations"]], "citations() (matminer.data_retrieval.retrieve_citrine.citrinedataretrieval method)": [[9, "matminer.data_retrieval.retrieve_Citrine.CitrineDataRetrieval.citations"]], "citations() (matminer.data_retrieval.retrieve_mdf.mdfdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MDF.MDFDataRetrieval.citations"]], "citations() (matminer.data_retrieval.retrieve_mp.mpdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MP.MPDataRetrieval.citations"]], "citations() (matminer.data_retrieval.retrieve_mpds.mpdsdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MPDS.MPDSDataRetrieval.citations"]], "citations() (matminer.data_retrieval.retrieve_base.basedataretrieval method)": [[9, "matminer.data_retrieval.retrieve_base.BaseDataRetrieval.citations"]], "clean_projection() (in module matminer.data_retrieval.retrieve_mongodb)": [[9, "matminer.data_retrieval.retrieve_MongoDB.clean_projection"]], "compile_crystal() (matminer.data_retrieval.retrieve_mpds.mpdsdataretrieval static method)": [[9, "matminer.data_retrieval.retrieve_MPDS.MPDSDataRetrieval.compile_crystal"]], "default_properties (matminer.data_retrieval.retrieve_mpds.mpdsdataretrieval attribute)": [[9, "matminer.data_retrieval.retrieve_MPDS.MPDSDataRetrieval.default_properties"]], "endpoint (matminer.data_retrieval.retrieve_mpds.mpdsdataretrieval attribute)": [[9, "matminer.data_retrieval.retrieve_MPDS.MPDSDataRetrieval.endpoint"]], "from_pymongo() (matminer.data_retrieval.retrieve_aflow.retrievalquery class method)": [[9, "matminer.data_retrieval.retrieve_AFLOW.RetrievalQuery.from_pymongo"]], "get_data() (matminer.data_retrieval.retrieve_citrine.citrinedataretrieval method)": [[9, "matminer.data_retrieval.retrieve_Citrine.CitrineDataRetrieval.get_data"]], "get_data() (matminer.data_retrieval.retrieve_mdf.mdfdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MDF.MDFDataRetrieval.get_data"]], "get_data() (matminer.data_retrieval.retrieve_mp.mpdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MP.MPDataRetrieval.get_data"]], "get_data() (matminer.data_retrieval.retrieve_mpds.mpdsdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MPDS.MPDSDataRetrieval.get_data"]], "get_dataframe() (matminer.data_retrieval.retrieve_aflow.aflowdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_AFLOW.AFLOWDataRetrieval.get_dataframe"]], "get_dataframe() (matminer.data_retrieval.retrieve_citrine.citrinedataretrieval method)": [[9, "matminer.data_retrieval.retrieve_Citrine.CitrineDataRetrieval.get_dataframe"]], "get_dataframe() (matminer.data_retrieval.retrieve_mdf.mdfdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MDF.MDFDataRetrieval.get_dataframe"]], "get_dataframe() (matminer.data_retrieval.retrieve_mp.mpdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MP.MPDataRetrieval.get_dataframe"]], "get_dataframe() (matminer.data_retrieval.retrieve_mpds.mpdsdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MPDS.MPDSDataRetrieval.get_dataframe"]], "get_dataframe() (matminer.data_retrieval.retrieve_mongodb.mongodataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MongoDB.MongoDataRetrieval.get_dataframe"]], "get_dataframe() (matminer.data_retrieval.retrieve_base.basedataretrieval method)": [[9, "matminer.data_retrieval.retrieve_base.BaseDataRetrieval.get_dataframe"]], "get_relaxed_structure() (matminer.data_retrieval.retrieve_aflow.aflowdataretrieval static method)": [[9, "matminer.data_retrieval.retrieve_AFLOW.AFLOWDataRetrieval.get_relaxed_structure"]], "get_value() (in module matminer.data_retrieval.retrieve_citrine)": [[9, "matminer.data_retrieval.retrieve_Citrine.get_value"]], "is_int() (in module matminer.data_retrieval.retrieve_mongodb)": [[9, "matminer.data_retrieval.retrieve_MongoDB.is_int"]], "make_dataframe() (in module matminer.data_retrieval.retrieve_mdf)": [[9, "matminer.data_retrieval.retrieve_MDF.make_dataframe"]], "matminer.data_retrieval": [[9, "module-matminer.data_retrieval"]], "matminer.data_retrieval.retrieve_aflow": [[9, "module-matminer.data_retrieval.retrieve_AFLOW"]], "matminer.data_retrieval.retrieve_citrine": [[9, "module-matminer.data_retrieval.retrieve_Citrine"]], "matminer.data_retrieval.retrieve_mdf": [[9, "module-matminer.data_retrieval.retrieve_MDF"]], "matminer.data_retrieval.retrieve_mp": [[9, "module-matminer.data_retrieval.retrieve_MP"]], "matminer.data_retrieval.retrieve_mpds": [[9, "module-matminer.data_retrieval.retrieve_MPDS"]], "matminer.data_retrieval.retrieve_mongodb": [[9, "module-matminer.data_retrieval.retrieve_MongoDB"]], "matminer.data_retrieval.retrieve_base": [[9, "module-matminer.data_retrieval.retrieve_base"]], "maxnpages (matminer.data_retrieval.retrieve_mpds.mpdsdataretrieval attribute)": [[9, "matminer.data_retrieval.retrieve_MPDS.MPDSDataRetrieval.maxnpages"]], "pagesize (matminer.data_retrieval.retrieve_mpds.mpdsdataretrieval attribute)": [[9, "matminer.data_retrieval.retrieve_MPDS.MPDSDataRetrieval.pagesize"]], "parse_scalars() (in module matminer.data_retrieval.retrieve_citrine)": [[9, "matminer.data_retrieval.retrieve_Citrine.parse_scalars"]], "remove_ints() (in module matminer.data_retrieval.retrieve_mongodb)": [[9, "matminer.data_retrieval.retrieve_MongoDB.remove_ints"]], "try_get_prop_by_material_id() (matminer.data_retrieval.retrieve_mp.mpdataretrieval method)": [[9, "matminer.data_retrieval.retrieve_MP.MPDataRetrieval.try_get_prop_by_material_id"]], "aflowdataretrievaltest (class in matminer.data_retrieval.tests.test_retrieve_aflow)": [[10, "matminer.data_retrieval.tests.test_retrieve_AFLOW.AFLOWDataRetrievalTest"]], "citrinedataretrievaltest (class in matminer.data_retrieval.tests.test_retrieve_citrine)": [[10, "matminer.data_retrieval.tests.test_retrieve_Citrine.CitrineDataRetrievalTest"]], "mdfdataretrievaltest (class in matminer.data_retrieval.tests.test_retrieve_mdf)": [[10, "matminer.data_retrieval.tests.test_retrieve_MDF.MDFDataRetrievalTest"]], "mpdsdataretrievaltest (class in matminer.data_retrieval.tests.test_retrieve_mpds)": [[10, "matminer.data_retrieval.tests.test_retrieve_MPDS.MPDSDataRetrievalTest"]], "mpdataretrievaltest (class in matminer.data_retrieval.tests.test_retrieve_mp)": [[10, "matminer.data_retrieval.tests.test_retrieve_MP.MPDataRetrievalTest"]], "mongodataretrievaltest (class in matminer.data_retrieval.tests.test_retrieve_mongodb)": [[10, "matminer.data_retrieval.tests.test_retrieve_MongoDB.MongoDataRetrievalTest"]], "matminer.data_retrieval.tests": [[10, "module-matminer.data_retrieval.tests"]], "matminer.data_retrieval.tests.base": [[10, "module-matminer.data_retrieval.tests.base"]], "matminer.data_retrieval.tests.test_retrieve_aflow": [[10, "module-matminer.data_retrieval.tests.test_retrieve_AFLOW"]], "matminer.data_retrieval.tests.test_retrieve_citrine": [[10, "module-matminer.data_retrieval.tests.test_retrieve_Citrine"]], "matminer.data_retrieval.tests.test_retrieve_mdf": [[10, "module-matminer.data_retrieval.tests.test_retrieve_MDF"]], "matminer.data_retrieval.tests.test_retrieve_mp": [[10, "module-matminer.data_retrieval.tests.test_retrieve_MP"]], "matminer.data_retrieval.tests.test_retrieve_mpds": [[10, "module-matminer.data_retrieval.tests.test_retrieve_MPDS"]], "matminer.data_retrieval.tests.test_retrieve_mongodb": [[10, "module-matminer.data_retrieval.tests.test_retrieve_MongoDB"]], "setup() (matminer.data_retrieval.tests.test_retrieve_aflow.aflowdataretrievaltest method)": [[10, "matminer.data_retrieval.tests.test_retrieve_AFLOW.AFLOWDataRetrievalTest.setUp"]], "setup() (matminer.data_retrieval.tests.test_retrieve_citrine.citrinedataretrievaltest method)": [[10, "matminer.data_retrieval.tests.test_retrieve_Citrine.CitrineDataRetrievalTest.setUp"]], "setup() (matminer.data_retrieval.tests.test_retrieve_mp.mpdataretrievaltest method)": [[10, "matminer.data_retrieval.tests.test_retrieve_MP.MPDataRetrievalTest.setUp"]], "setup() (matminer.data_retrieval.tests.test_retrieve_mpds.mpdsdataretrievaltest method)": [[10, "matminer.data_retrieval.tests.test_retrieve_MPDS.MPDSDataRetrievalTest.setUp"]], "setupclass() (matminer.data_retrieval.tests.test_retrieve_mdf.mdfdataretrievaltest class method)": [[10, "matminer.data_retrieval.tests.test_retrieve_MDF.MDFDataRetrievalTest.setUpClass"]], "test_cleaned_projection() (matminer.data_retrieval.tests.test_retrieve_mongodb.mongodataretrievaltest method)": [[10, "matminer.data_retrieval.tests.test_retrieve_MongoDB.MongoDataRetrievalTest.test_cleaned_projection"]], "test_get_data() (matminer.data_retrieval.tests.test_retrieve_aflow.aflowdataretrievaltest method)": [[10, "matminer.data_retrieval.tests.test_retrieve_AFLOW.AFLOWDataRetrievalTest.test_get_data"]], "test_get_data() (matminer.data_retrieval.tests.test_retrieve_citrine.citrinedataretrievaltest method)": [[10, "matminer.data_retrieval.tests.test_retrieve_Citrine.CitrineDataRetrievalTest.test_get_data"]], "test_get_data() (matminer.data_retrieval.tests.test_retrieve_mp.mpdataretrievaltest method)": [[10, "matminer.data_retrieval.tests.test_retrieve_MP.MPDataRetrievalTest.test_get_data"]], "test_get_dataframe() (matminer.data_retrieval.tests.test_retrieve_mdf.mdfdataretrievaltest method)": [[10, "matminer.data_retrieval.tests.test_retrieve_MDF.MDFDataRetrievalTest.test_get_dataframe"]], "test_get_dataframe() (matminer.data_retrieval.tests.test_retrieve_mongodb.mongodataretrievaltest method)": [[10, "matminer.data_retrieval.tests.test_retrieve_MongoDB.MongoDataRetrievalTest.test_get_dataframe"]], "test_get_dataframe_by_query() (matminer.data_retrieval.tests.test_retrieve_mdf.mdfdataretrievaltest method)": [[10, "matminer.data_retrieval.tests.test_retrieve_MDF.MDFDataRetrievalTest.test_get_dataframe_by_query"]], "test_make_dataframe() (matminer.data_retrieval.tests.test_retrieve_mdf.mdfdataretrievaltest method)": [[10, "matminer.data_retrieval.tests.test_retrieve_MDF.MDFDataRetrievalTest.test_make_dataframe"]], "test_multiple_items_in_list() (matminer.data_retrieval.tests.test_retrieve_citrine.citrinedataretrievaltest method)": [[10, "matminer.data_retrieval.tests.test_retrieve_Citrine.CitrineDataRetrievalTest.test_multiple_items_in_list"]], "test_remove_ints() (matminer.data_retrieval.tests.test_retrieve_mongodb.mongodataretrievaltest method)": [[10, "matminer.data_retrieval.tests.test_retrieve_MongoDB.MongoDataRetrievalTest.test_remove_ints"]], "test_valid_answer() (matminer.data_retrieval.tests.test_retrieve_mpds.mpdsdataretrievaltest method)": [[10, "matminer.data_retrieval.tests.test_retrieve_MPDS.MPDSDataRetrievalTest.test_valid_answer"]], "get_all_dataset_info() (in module matminer.datasets.dataset_retrieval)": [[11, "matminer.datasets.dataset_retrieval.get_all_dataset_info"]], "get_available_datasets() (in module matminer.datasets.dataset_retrieval)": [[11, "matminer.datasets.dataset_retrieval.get_available_datasets"]], "get_dataset_attribute() (in module matminer.datasets.dataset_retrieval)": [[11, "matminer.datasets.dataset_retrieval.get_dataset_attribute"]], "get_dataset_citations() (in module matminer.datasets.dataset_retrieval)": [[11, "matminer.datasets.dataset_retrieval.get_dataset_citations"]], "get_dataset_column_description() (in module matminer.datasets.dataset_retrieval)": [[11, "matminer.datasets.dataset_retrieval.get_dataset_column_description"]], "get_dataset_columns() (in module matminer.datasets.dataset_retrieval)": [[11, "matminer.datasets.dataset_retrieval.get_dataset_columns"]], "get_dataset_description() (in module matminer.datasets.dataset_retrieval)": [[11, "matminer.datasets.dataset_retrieval.get_dataset_description"]], "get_dataset_num_entries() (in module matminer.datasets.dataset_retrieval)": [[11, "matminer.datasets.dataset_retrieval.get_dataset_num_entries"]], "get_dataset_reference() (in module matminer.datasets.dataset_retrieval)": [[11, "matminer.datasets.dataset_retrieval.get_dataset_reference"]], "load_boltztrap_mp() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_boltztrap_mp"]], "load_brgoch_superhard_training() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_brgoch_superhard_training"]], "load_castelli_perovskites() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_castelli_perovskites"]], "load_citrine_thermal_conductivity() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_citrine_thermal_conductivity"]], "load_dataset() (in module matminer.datasets.dataset_retrieval)": [[11, "matminer.datasets.dataset_retrieval.load_dataset"]], "load_dielectric_constant() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_dielectric_constant"]], "load_double_perovskites_gap() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_double_perovskites_gap"]], "load_double_perovskites_gap_lumo() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_double_perovskites_gap_lumo"]], "load_elastic_tensor() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_elastic_tensor"]], "load_expt_formation_enthalpy() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_expt_formation_enthalpy"]], "load_expt_gap() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_expt_gap"]], "load_flla() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_flla"]], "load_glass_binary() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_glass_binary"]], "load_glass_ternary_hipt() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_glass_ternary_hipt"]], "load_glass_ternary_landolt() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_glass_ternary_landolt"]], "load_heusler_magnetic() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_heusler_magnetic"]], "load_jarvis_dft_2d() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_jarvis_dft_2d"]], "load_jarvis_dft_3d() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_jarvis_dft_3d"]], "load_jarvis_ml_dft_training() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_jarvis_ml_dft_training"]], "load_m2ax() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_m2ax"]], "load_mp() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_mp"]], "load_phonon_dielectric_mp() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_phonon_dielectric_mp"]], "load_piezoelectric_tensor() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_piezoelectric_tensor"]], "load_steel_strength() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_steel_strength"]], "load_wolverton_oxides() (in module matminer.datasets.convenience_loaders)": [[11, "matminer.datasets.convenience_loaders.load_wolverton_oxides"]], "matminer.datasets": [[11, "module-matminer.datasets"]], "matminer.datasets.convenience_loaders": [[11, "module-matminer.datasets.convenience_loaders"]], "matminer.datasets.dataset_retrieval": [[11, "module-matminer.datasets.dataset_retrieval"]], "matminer.datasets.utils": [[11, "module-matminer.datasets.utils"]], "dataretrievaltest (class in matminer.datasets.tests.test_dataset_retrieval)": [[12, "matminer.datasets.tests.test_dataset_retrieval.DataRetrievalTest"]], "datasetstest (class in matminer.datasets.tests.test_datasets)": [[12, "matminer.datasets.tests.test_datasets.DataSetsTest"]], "datasettest (class in matminer.datasets.tests.base)": [[12, "matminer.datasets.tests.base.DatasetTest"]], "matbenchdatasetstest (class in matminer.datasets.tests.test_datasets)": [[12, "matminer.datasets.tests.test_datasets.MatbenchDatasetsTest"]], "matminerdatasetstest (class in matminer.datasets.tests.test_datasets)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest"]], "utilstest (class in matminer.datasets.tests.test_utils)": [[12, "matminer.datasets.tests.test_utils.UtilsTest"]], "matminer.datasets.tests": [[12, "module-matminer.datasets.tests"]], "matminer.datasets.tests.base": [[12, "module-matminer.datasets.tests.base"]], "matminer.datasets.tests.test_convenience_loaders": [[12, "module-matminer.datasets.tests.test_convenience_loaders"]], "matminer.datasets.tests.test_dataset_retrieval": [[12, "module-matminer.datasets.tests.test_dataset_retrieval"]], "matminer.datasets.tests.test_datasets": [[12, "module-matminer.datasets.tests.test_datasets"]], "matminer.datasets.tests.test_utils": [[12, "module-matminer.datasets.tests.test_utils"]], "setup() (matminer.datasets.tests.base.datasettest method)": [[12, "matminer.datasets.tests.base.DatasetTest.setUp"]], "test_boltztrap_mp() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_boltztrap_mp"]], "test_brgoch_superhard_training() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_brgoch_superhard_training"]], "test_castelli_perovskites() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_castelli_perovskites"]], "test_citrine_thermal_conductivity() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_citrine_thermal_conductivity"]], "test_dielectric_constant() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_dielectric_constant"]], "test_double_perovskites_gap() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_double_perovskites_gap"]], "test_double_perovskites_gap_lumo() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_double_perovskites_gap_lumo"]], "test_elastic_tensor_2015() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_elastic_tensor_2015"]], "test_expt_formation_enthalpy() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_expt_formation_enthalpy"]], "test_expt_formation_enthalpy_kingsbury() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_expt_formation_enthalpy_kingsbury"]], "test_expt_gap() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_expt_gap"]], "test_expt_gap_kingsbury() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_expt_gap_kingsbury"]], "test_fetch_external_dataset() (matminer.datasets.tests.test_utils.utilstest method)": [[12, "matminer.datasets.tests.test_utils.UtilsTest.test_fetch_external_dataset"]], "test_flla() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_flla"]], "test_get_all_dataset_info() (matminer.datasets.tests.test_dataset_retrieval.dataretrievaltest method)": [[12, "matminer.datasets.tests.test_dataset_retrieval.DataRetrievalTest.test_get_all_dataset_info"]], "test_get_data_home() (matminer.datasets.tests.test_utils.utilstest method)": [[12, "matminer.datasets.tests.test_utils.UtilsTest.test_get_data_home"]], "test_get_dataset_attribute() (matminer.datasets.tests.test_dataset_retrieval.dataretrievaltest method)": [[12, "matminer.datasets.tests.test_dataset_retrieval.DataRetrievalTest.test_get_dataset_attribute"]], "test_get_dataset_citations() (matminer.datasets.tests.test_dataset_retrieval.dataretrievaltest method)": [[12, "matminer.datasets.tests.test_dataset_retrieval.DataRetrievalTest.test_get_dataset_citations"]], "test_get_dataset_column_descriptions() (matminer.datasets.tests.test_dataset_retrieval.dataretrievaltest method)": [[12, "matminer.datasets.tests.test_dataset_retrieval.DataRetrievalTest.test_get_dataset_column_descriptions"]], "test_get_dataset_columns() (matminer.datasets.tests.test_dataset_retrieval.dataretrievaltest method)": [[12, "matminer.datasets.tests.test_dataset_retrieval.DataRetrievalTest.test_get_dataset_columns"]], "test_get_dataset_description() (matminer.datasets.tests.test_dataset_retrieval.dataretrievaltest method)": [[12, "matminer.datasets.tests.test_dataset_retrieval.DataRetrievalTest.test_get_dataset_description"]], "test_get_dataset_num_entries() (matminer.datasets.tests.test_dataset_retrieval.dataretrievaltest method)": [[12, "matminer.datasets.tests.test_dataset_retrieval.DataRetrievalTest.test_get_dataset_num_entries"]], "test_get_dataset_reference() (matminer.datasets.tests.test_dataset_retrieval.dataretrievaltest method)": [[12, "matminer.datasets.tests.test_dataset_retrieval.DataRetrievalTest.test_get_dataset_reference"]], "test_get_file_sha256_hash() (matminer.datasets.tests.test_utils.utilstest method)": [[12, "matminer.datasets.tests.test_utils.UtilsTest.test_get_file_sha256_hash"]], "test_glass_binary() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_glass_binary"]], "test_glass_binary_v2() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_glass_binary_v2"]], "test_glass_ternary_hipt() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_glass_ternary_hipt"]], "test_glass_ternary_landolt() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_glass_ternary_landolt"]], "test_heusler_magnetic() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_heusler_magnetic"]], "test_jarvis_dft_2d() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_jarvis_dft_2d"]], "test_jarvis_dft_3d() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_jarvis_dft_3d"]], "test_jarvis_ml_dft_training() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_jarvis_ml_dft_training"]], "test_load_dataset() (matminer.datasets.tests.test_dataset_retrieval.dataretrievaltest method)": [[12, "matminer.datasets.tests.test_dataset_retrieval.DataRetrievalTest.test_load_dataset"]], "test_load_dataset_dict() (matminer.datasets.tests.test_utils.utilstest method)": [[12, "matminer.datasets.tests.test_utils.UtilsTest.test_load_dataset_dict"]], "test_m2ax() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_m2ax"]], "test_matbench_v0_1() (matminer.datasets.tests.test_datasets.matbenchdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatbenchDatasetsTest.test_matbench_v0_1"]], "test_mp_all_20181018() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_mp_all_20181018"]], "test_mp_nostruct_20181018() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_mp_nostruct_20181018"]], "test_phonon_dielectric_mp() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_phonon_dielectric_mp"]], "test_piezoelectric_tensor() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_piezoelectric_tensor"]], "test_print_available_datasets() (matminer.datasets.tests.test_dataset_retrieval.dataretrievaltest method)": [[12, "matminer.datasets.tests.test_dataset_retrieval.DataRetrievalTest.test_print_available_datasets"]], "test_read_dataframe_from_file() (matminer.datasets.tests.test_utils.utilstest method)": [[12, "matminer.datasets.tests.test_utils.UtilsTest.test_read_dataframe_from_file"]], "test_ricci_boltztrap_mp_tabular() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_ricci_boltztrap_mp_tabular"]], "test_steel_strength() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_steel_strength"]], "test_superconductivity2018() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_superconductivity2018"]], "test_tholander_nitrides_e_form() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_tholander_nitrides_e_form"]], "test_ucsb_thermoelectrics() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_ucsb_thermoelectrics"]], "test_validate_dataset() (matminer.datasets.tests.test_utils.utilstest method)": [[12, "matminer.datasets.tests.test_utils.UtilsTest.test_validate_dataset"]], "test_wolverton_oxides() (matminer.datasets.tests.test_datasets.matminerdatasetstest method)": [[12, "matminer.datasets.tests.test_datasets.MatminerDatasetsTest.test_wolverton_oxides"]], "universal_dataset_check() (matminer.datasets.tests.test_datasets.datasetstest method)": [[12, "matminer.datasets.tests.test_datasets.DataSetsTest.universal_dataset_check"]], "aseatomstostructure (class in matminer.featurizers.conversions)": [[13, "matminer.featurizers.conversions.ASEAtomstoStructure"]], "bandfeaturizer (class in matminer.featurizers.bandstructure)": [[13, "matminer.featurizers.bandstructure.BandFeaturizer"]], "basefeaturizer (class in matminer.featurizers.base)": [[13, "matminer.featurizers.base.BaseFeaturizer"]], "branchpointenergy (class in matminer.featurizers.bandstructure)": [[13, "matminer.featurizers.bandstructure.BranchPointEnergy"]], "compositiontooxidcomposition (class in matminer.featurizers.conversions)": [[13, "matminer.featurizers.conversions.CompositionToOxidComposition"]], "compositiontostructurefrommp (class in matminer.featurizers.conversions)": [[13, "matminer.featurizers.conversions.CompositionToStructureFromMP"]], "conversionfeaturizer (class in matminer.featurizers.conversions)": [[13, "matminer.featurizers.conversions.ConversionFeaturizer"]], "dosfeaturizer (class in matminer.featurizers.dos)": [[13, "matminer.featurizers.dos.DOSFeaturizer"]], "dicttoobject (class in matminer.featurizers.conversions)": [[13, "matminer.featurizers.conversions.DictToObject"]], "dopingfermi (class in matminer.featurizers.dos)": [[13, "matminer.featurizers.dos.DopingFermi"]], "dosasymmetry (class in matminer.featurizers.dos)": [[13, "matminer.featurizers.dos.DosAsymmetry"]], "functionfeaturizer (class in matminer.featurizers.function)": [[13, "matminer.featurizers.function.FunctionFeaturizer"]], "hybridization (class in matminer.featurizers.dos)": [[13, "matminer.featurizers.dos.Hybridization"]], "illegal_characters (matminer.featurizers.function.functionfeaturizer attribute)": [[13, "matminer.featurizers.function.FunctionFeaturizer.ILLEGAL_CHARACTERS"]], "jsontoobject (class in matminer.featurizers.conversions)": [[13, "matminer.featurizers.conversions.JsonToObject"]], "multiplefeaturizer (class in matminer.featurizers.base)": [[13, "matminer.featurizers.base.MultipleFeaturizer"]], "pymatgenfunctionapplicator (class in matminer.featurizers.conversions)": [[13, "matminer.featurizers.conversions.PymatgenFunctionApplicator"]], "sitedos (class in matminer.featurizers.dos)": [[13, "matminer.featurizers.dos.SiteDOS"]], "stackedfeaturizer (class in matminer.featurizers.base)": [[13, "matminer.featurizers.base.StackedFeaturizer"]], "strtocomposition (class in matminer.featurizers.conversions)": [[13, "matminer.featurizers.conversions.StrToComposition"]], "structuretocomposition (class in matminer.featurizers.conversions)": [[13, "matminer.featurizers.conversions.StructureToComposition"]], "structuretoistructure (class in matminer.featurizers.conversions)": [[13, "matminer.featurizers.conversions.StructureToIStructure"]], "structuretooxidstructure (class in matminer.featurizers.conversions)": [[13, "matminer.featurizers.conversions.StructureToOxidStructure"]], "__init__() (matminer.featurizers.bandstructure.bandfeaturizer method)": [[13, "matminer.featurizers.bandstructure.BandFeaturizer.__init__"]], "__init__() (matminer.featurizers.bandstructure.branchpointenergy method)": [[13, "matminer.featurizers.bandstructure.BranchPointEnergy.__init__"]], "__init__() (matminer.featurizers.base.multiplefeaturizer method)": [[13, "matminer.featurizers.base.MultipleFeaturizer.__init__"]], "__init__() (matminer.featurizers.base.stackedfeaturizer method)": [[13, "matminer.featurizers.base.StackedFeaturizer.__init__"]], "__init__() (matminer.featurizers.conversions.aseatomstostructure method)": [[13, "matminer.featurizers.conversions.ASEAtomstoStructure.__init__"]], "__init__() (matminer.featurizers.conversions.compositiontooxidcomposition method)": [[13, "matminer.featurizers.conversions.CompositionToOxidComposition.__init__"]], "__init__() (matminer.featurizers.conversions.compositiontostructurefrommp method)": [[13, "matminer.featurizers.conversions.CompositionToStructureFromMP.__init__"]], "__init__() (matminer.featurizers.conversions.conversionfeaturizer method)": [[13, "matminer.featurizers.conversions.ConversionFeaturizer.__init__"]], "__init__() (matminer.featurizers.conversions.dicttoobject method)": [[13, "matminer.featurizers.conversions.DictToObject.__init__"]], "__init__() (matminer.featurizers.conversions.jsontoobject method)": [[13, "matminer.featurizers.conversions.JsonToObject.__init__"]], "__init__() (matminer.featurizers.conversions.pymatgenfunctionapplicator method)": [[13, "matminer.featurizers.conversions.PymatgenFunctionApplicator.__init__"]], "__init__() (matminer.featurizers.conversions.strtocomposition method)": [[13, "matminer.featurizers.conversions.StrToComposition.__init__"]], "__init__() (matminer.featurizers.conversions.structuretocomposition method)": [[13, "matminer.featurizers.conversions.StructureToComposition.__init__"]], "__init__() (matminer.featurizers.conversions.structuretoistructure method)": [[13, "matminer.featurizers.conversions.StructureToIStructure.__init__"]], "__init__() (matminer.featurizers.conversions.structuretooxidstructure method)": [[13, "matminer.featurizers.conversions.StructureToOxidStructure.__init__"]], "__init__() (matminer.featurizers.dos.dosfeaturizer method)": [[13, "matminer.featurizers.dos.DOSFeaturizer.__init__"]], "__init__() (matminer.featurizers.dos.dopingfermi method)": [[13, "matminer.featurizers.dos.DopingFermi.__init__"]], "__init__() (matminer.featurizers.dos.dosasymmetry method)": [[13, "matminer.featurizers.dos.DosAsymmetry.__init__"]], "__init__() (matminer.featurizers.dos.hybridization method)": [[13, "matminer.featurizers.dos.Hybridization.__init__"]], "__init__() (matminer.featurizers.dos.sitedos method)": [[13, "matminer.featurizers.dos.SiteDOS.__init__"]], "__init__() (matminer.featurizers.function.functionfeaturizer method)": [[13, "matminer.featurizers.function.FunctionFeaturizer.__init__"]], "chunksize (matminer.featurizers.base.basefeaturizer property)": [[13, "matminer.featurizers.base.BaseFeaturizer.chunksize"]], "citations() (matminer.featurizers.bandstructure.bandfeaturizer method)": [[13, "matminer.featurizers.bandstructure.BandFeaturizer.citations"]], "citations() (matminer.featurizers.bandstructure.branchpointenergy method)": [[13, "matminer.featurizers.bandstructure.BranchPointEnergy.citations"]], "citations() (matminer.featurizers.base.basefeaturizer method)": [[13, "matminer.featurizers.base.BaseFeaturizer.citations"]], "citations() (matminer.featurizers.base.multiplefeaturizer method)": [[13, "matminer.featurizers.base.MultipleFeaturizer.citations"]], "citations() (matminer.featurizers.base.stackedfeaturizer method)": [[13, "matminer.featurizers.base.StackedFeaturizer.citations"]], "citations() (matminer.featurizers.conversions.compositiontooxidcomposition method)": [[13, "matminer.featurizers.conversions.CompositionToOxidComposition.citations"]], "citations() (matminer.featurizers.conversions.compositiontostructurefrommp method)": [[13, "matminer.featurizers.conversions.CompositionToStructureFromMP.citations"]], "citations() (matminer.featurizers.conversions.conversionfeaturizer method)": [[13, "matminer.featurizers.conversions.ConversionFeaturizer.citations"]], "citations() (matminer.featurizers.conversions.dicttoobject method)": [[13, "matminer.featurizers.conversions.DictToObject.citations"]], "citations() (matminer.featurizers.conversions.jsontoobject method)": [[13, "matminer.featurizers.conversions.JsonToObject.citations"]], "citations() (matminer.featurizers.conversions.strtocomposition method)": [[13, "matminer.featurizers.conversions.StrToComposition.citations"]], "citations() (matminer.featurizers.conversions.structuretocomposition method)": [[13, "matminer.featurizers.conversions.StructureToComposition.citations"]], "citations() (matminer.featurizers.conversions.structuretoistructure method)": [[13, "matminer.featurizers.conversions.StructureToIStructure.citations"]], "citations() (matminer.featurizers.conversions.structuretooxidstructure method)": [[13, "matminer.featurizers.conversions.StructureToOxidStructure.citations"]], "citations() (matminer.featurizers.dos.dosfeaturizer method)": [[13, "matminer.featurizers.dos.DOSFeaturizer.citations"]], "citations() (matminer.featurizers.dos.dopingfermi method)": [[13, "matminer.featurizers.dos.DopingFermi.citations"]], "citations() (matminer.featurizers.dos.dosasymmetry method)": [[13, "matminer.featurizers.dos.DosAsymmetry.citations"]], "citations() (matminer.featurizers.dos.hybridization method)": [[13, "matminer.featurizers.dos.Hybridization.citations"]], "citations() (matminer.featurizers.dos.sitedos method)": [[13, "matminer.featurizers.dos.SiteDOS.citations"]], "citations() (matminer.featurizers.function.functionfeaturizer method)": [[13, "matminer.featurizers.function.FunctionFeaturizer.citations"]], "exp_dict (matminer.featurizers.function.functionfeaturizer property)": [[13, "matminer.featurizers.function.FunctionFeaturizer.exp_dict"]], "feature_labels() (matminer.featurizers.bandstructure.bandfeaturizer method)": [[13, "matminer.featurizers.bandstructure.BandFeaturizer.feature_labels"]], "feature_labels() (matminer.featurizers.bandstructure.branchpointenergy method)": [[13, "matminer.featurizers.bandstructure.BranchPointEnergy.feature_labels"]], "feature_labels() (matminer.featurizers.base.basefeaturizer method)": [[13, "matminer.featurizers.base.BaseFeaturizer.feature_labels"]], "feature_labels() (matminer.featurizers.base.multiplefeaturizer method)": [[13, "matminer.featurizers.base.MultipleFeaturizer.feature_labels"]], "feature_labels() (matminer.featurizers.base.stackedfeaturizer method)": [[13, "matminer.featurizers.base.StackedFeaturizer.feature_labels"]], "feature_labels() (matminer.featurizers.conversions.conversionfeaturizer method)": [[13, "matminer.featurizers.conversions.ConversionFeaturizer.feature_labels"]], "feature_labels() (matminer.featurizers.dos.dosfeaturizer method)": [[13, "matminer.featurizers.dos.DOSFeaturizer.feature_labels"]], "feature_labels() (matminer.featurizers.dos.dopingfermi method)": [[13, "matminer.featurizers.dos.DopingFermi.feature_labels"]], "feature_labels() (matminer.featurizers.dos.dosasymmetry method)": [[13, "matminer.featurizers.dos.DosAsymmetry.feature_labels"]], "feature_labels() (matminer.featurizers.dos.hybridization method)": [[13, "matminer.featurizers.dos.Hybridization.feature_labels"]], "feature_labels() (matminer.featurizers.dos.sitedos method)": [[13, "matminer.featurizers.dos.SiteDOS.feature_labels"]], "feature_labels() (matminer.featurizers.function.functionfeaturizer method)": [[13, "matminer.featurizers.function.FunctionFeaturizer.feature_labels"]], "featurize() (matminer.featurizers.bandstructure.bandfeaturizer method)": [[13, "matminer.featurizers.bandstructure.BandFeaturizer.featurize"]], "featurize() (matminer.featurizers.bandstructure.branchpointenergy method)": [[13, "matminer.featurizers.bandstructure.BranchPointEnergy.featurize"]], "featurize() (matminer.featurizers.base.basefeaturizer method)": [[13, "matminer.featurizers.base.BaseFeaturizer.featurize"]], "featurize() (matminer.featurizers.base.multiplefeaturizer method)": [[13, "matminer.featurizers.base.MultipleFeaturizer.featurize"]], "featurize() (matminer.featurizers.base.stackedfeaturizer method)": [[13, "matminer.featurizers.base.StackedFeaturizer.featurize"]], "featurize() (matminer.featurizers.conversions.aseatomstostructure method)": [[13, "matminer.featurizers.conversions.ASEAtomstoStructure.featurize"]], "featurize() (matminer.featurizers.conversions.compositiontooxidcomposition method)": [[13, "matminer.featurizers.conversions.CompositionToOxidComposition.featurize"]], "featurize() (matminer.featurizers.conversions.compositiontostructurefrommp method)": [[13, "matminer.featurizers.conversions.CompositionToStructureFromMP.featurize"]], "featurize() (matminer.featurizers.conversions.conversionfeaturizer method)": [[13, "matminer.featurizers.conversions.ConversionFeaturizer.featurize"]], "featurize() (matminer.featurizers.conversions.dicttoobject method)": [[13, "matminer.featurizers.conversions.DictToObject.featurize"]], "featurize() (matminer.featurizers.conversions.jsontoobject method)": [[13, "matminer.featurizers.conversions.JsonToObject.featurize"]], "featurize() (matminer.featurizers.conversions.pymatgenfunctionapplicator method)": [[13, "matminer.featurizers.conversions.PymatgenFunctionApplicator.featurize"]], "featurize() (matminer.featurizers.conversions.strtocomposition method)": [[13, "matminer.featurizers.conversions.StrToComposition.featurize"]], "featurize() (matminer.featurizers.conversions.structuretocomposition method)": [[13, "matminer.featurizers.conversions.StructureToComposition.featurize"]], "featurize() (matminer.featurizers.conversions.structuretoistructure method)": [[13, "matminer.featurizers.conversions.StructureToIStructure.featurize"]], "featurize() (matminer.featurizers.conversions.structuretooxidstructure method)": [[13, "matminer.featurizers.conversions.StructureToOxidStructure.featurize"]], "featurize() (matminer.featurizers.dos.dosfeaturizer method)": [[13, "matminer.featurizers.dos.DOSFeaturizer.featurize"]], "featurize() (matminer.featurizers.dos.dopingfermi method)": [[13, "matminer.featurizers.dos.DopingFermi.featurize"]], "featurize() (matminer.featurizers.dos.dosasymmetry method)": [[13, "matminer.featurizers.dos.DosAsymmetry.featurize"]], "featurize() (matminer.featurizers.dos.hybridization method)": [[13, "matminer.featurizers.dos.Hybridization.featurize"]], "featurize() (matminer.featurizers.dos.sitedos method)": [[13, "matminer.featurizers.dos.SiteDOS.featurize"]], "featurize() (matminer.featurizers.function.functionfeaturizer method)": [[13, "matminer.featurizers.function.FunctionFeaturizer.featurize"]], "featurize_dataframe() (matminer.featurizers.base.basefeaturizer method)": [[13, "matminer.featurizers.base.BaseFeaturizer.featurize_dataframe"]], "featurize_dataframe() (matminer.featurizers.conversions.conversionfeaturizer method)": [[13, "matminer.featurizers.conversions.ConversionFeaturizer.featurize_dataframe"]], "featurize_many() (matminer.featurizers.base.basefeaturizer method)": [[13, "matminer.featurizers.base.BaseFeaturizer.featurize_many"]], "featurize_many() (matminer.featurizers.base.multiplefeaturizer method)": [[13, "matminer.featurizers.base.MultipleFeaturizer.featurize_many"]], "featurize_wrapper() (matminer.featurizers.base.basefeaturizer method)": [[13, "matminer.featurizers.base.BaseFeaturizer.featurize_wrapper"]], "featurize_wrapper() (matminer.featurizers.base.multiplefeaturizer method)": [[13, "matminer.featurizers.base.MultipleFeaturizer.featurize_wrapper"]], "fit() (matminer.featurizers.base.basefeaturizer method)": [[13, "matminer.featurizers.base.BaseFeaturizer.fit"]], "fit() (matminer.featurizers.base.multiplefeaturizer method)": [[13, "matminer.featurizers.base.MultipleFeaturizer.fit"]], "fit() (matminer.featurizers.function.functionfeaturizer method)": [[13, "matminer.featurizers.function.FunctionFeaturizer.fit"]], "fit_featurize_dataframe() (matminer.featurizers.base.basefeaturizer method)": [[13, "matminer.featurizers.base.BaseFeaturizer.fit_featurize_dataframe"]], "generate_expressions_combinations() (in module matminer.featurizers.function)": [[13, "matminer.featurizers.function.generate_expressions_combinations"]], "generate_string_expressions() (matminer.featurizers.function.functionfeaturizer method)": [[13, "matminer.featurizers.function.FunctionFeaturizer.generate_string_expressions"]], "get_bindex_bspin() (matminer.featurizers.bandstructure.bandfeaturizer static method)": [[13, "matminer.featurizers.bandstructure.BandFeaturizer.get_bindex_bspin"]], "get_cbm_vbm_scores() (in module matminer.featurizers.dos)": [[13, "matminer.featurizers.dos.get_cbm_vbm_scores"]], "get_site_dos_scores() (in module matminer.featurizers.dos)": [[13, "matminer.featurizers.dos.get_site_dos_scores"]], "implementors() (matminer.featurizers.bandstructure.bandfeaturizer method)": [[13, "matminer.featurizers.bandstructure.BandFeaturizer.implementors"]], "implementors() (matminer.featurizers.bandstructure.branchpointenergy method)": [[13, "matminer.featurizers.bandstructure.BranchPointEnergy.implementors"]], "implementors() (matminer.featurizers.base.basefeaturizer method)": [[13, "matminer.featurizers.base.BaseFeaturizer.implementors"]], "implementors() (matminer.featurizers.base.multiplefeaturizer method)": [[13, "matminer.featurizers.base.MultipleFeaturizer.implementors"]], "implementors() (matminer.featurizers.base.stackedfeaturizer method)": [[13, "matminer.featurizers.base.StackedFeaturizer.implementors"]], "implementors() (matminer.featurizers.conversions.aseatomstostructure method)": [[13, "matminer.featurizers.conversions.ASEAtomstoStructure.implementors"]], "implementors() (matminer.featurizers.conversions.compositiontooxidcomposition method)": [[13, "matminer.featurizers.conversions.CompositionToOxidComposition.implementors"]], "implementors() (matminer.featurizers.conversions.compositiontostructurefrommp method)": [[13, "matminer.featurizers.conversions.CompositionToStructureFromMP.implementors"]], "implementors() (matminer.featurizers.conversions.conversionfeaturizer method)": [[13, "matminer.featurizers.conversions.ConversionFeaturizer.implementors"]], "implementors() (matminer.featurizers.conversions.dicttoobject method)": [[13, "matminer.featurizers.conversions.DictToObject.implementors"]], "implementors() (matminer.featurizers.conversions.jsontoobject method)": [[13, "matminer.featurizers.conversions.JsonToObject.implementors"]], "implementors() (matminer.featurizers.conversions.pymatgenfunctionapplicator method)": [[13, "matminer.featurizers.conversions.PymatgenFunctionApplicator.implementors"]], "implementors() (matminer.featurizers.conversions.strtocomposition method)": [[13, "matminer.featurizers.conversions.StrToComposition.implementors"]], "implementors() (matminer.featurizers.conversions.structuretocomposition method)": [[13, "matminer.featurizers.conversions.StructureToComposition.implementors"]], "implementors() (matminer.featurizers.conversions.structuretoistructure method)": [[13, "matminer.featurizers.conversions.StructureToIStructure.implementors"]], "implementors() (matminer.featurizers.conversions.structuretooxidstructure method)": [[13, "matminer.featurizers.conversions.StructureToOxidStructure.implementors"]], "implementors() (matminer.featurizers.dos.dosfeaturizer method)": [[13, "matminer.featurizers.dos.DOSFeaturizer.implementors"]], "implementors() (matminer.featurizers.dos.dopingfermi method)": [[13, "matminer.featurizers.dos.DopingFermi.implementors"]], "implementors() (matminer.featurizers.dos.dosasymmetry method)": [[13, "matminer.featurizers.dos.DosAsymmetry.implementors"]], "implementors() (matminer.featurizers.dos.hybridization method)": [[13, "matminer.featurizers.dos.Hybridization.implementors"]], "implementors() (matminer.featurizers.dos.sitedos method)": [[13, "matminer.featurizers.dos.SiteDOS.implementors"]], "implementors() (matminer.featurizers.function.functionfeaturizer method)": [[13, "matminer.featurizers.function.FunctionFeaturizer.implementors"]], "matminer.featurizers": [[13, "module-matminer.featurizers"]], "matminer.featurizers.bandstructure": [[13, "module-matminer.featurizers.bandstructure"]], "matminer.featurizers.base": [[13, "module-matminer.featurizers.base"]], "matminer.featurizers.conversions": [[13, "module-matminer.featurizers.conversions"]], "matminer.featurizers.dos": [[13, "module-matminer.featurizers.dos"]], "matminer.featurizers.function": [[13, "module-matminer.featurizers.function"]], "n_jobs (matminer.featurizers.base.basefeaturizer property)": [[13, "matminer.featurizers.base.BaseFeaturizer.n_jobs"]], "precheck() (matminer.featurizers.base.basefeaturizer method)": [[13, "matminer.featurizers.base.BaseFeaturizer.precheck"]], "precheck_dataframe() (matminer.featurizers.base.basefeaturizer method)": [[13, "matminer.featurizers.base.BaseFeaturizer.precheck_dataframe"]], "set_chunksize() (matminer.featurizers.base.basefeaturizer method)": [[13, "matminer.featurizers.base.BaseFeaturizer.set_chunksize"]], "set_n_jobs() (matminer.featurizers.base.basefeaturizer method)": [[13, "matminer.featurizers.base.BaseFeaturizer.set_n_jobs"]], "set_n_jobs() (matminer.featurizers.base.multiplefeaturizer method)": [[13, "matminer.featurizers.base.MultipleFeaturizer.set_n_jobs"]], "transform() (matminer.featurizers.base.basefeaturizer method)": [[13, "matminer.featurizers.base.BaseFeaturizer.transform"]], "atomicorbitals (class in matminer.featurizers.composition.orbital)": [[14, "matminer.featurizers.composition.orbital.AtomicOrbitals"]], "atomicpackingefficiency (class in matminer.featurizers.composition.packing)": [[14, "matminer.featurizers.composition.packing.AtomicPackingEfficiency"]], "bandcenter (class in matminer.featurizers.composition.element)": [[14, "matminer.featurizers.composition.element.BandCenter"]], "cationproperty (class in matminer.featurizers.composition.ion)": [[14, "matminer.featurizers.composition.ion.CationProperty"]], "cohesiveenergy (class in matminer.featurizers.composition.thermo)": [[14, "matminer.featurizers.composition.thermo.CohesiveEnergy"]], "cohesiveenergymp (class in matminer.featurizers.composition.thermo)": [[14, "matminer.featurizers.composition.thermo.CohesiveEnergyMP"]], "electronaffinity (class in matminer.featurizers.composition.ion)": [[14, "matminer.featurizers.composition.ion.ElectronAffinity"]], "electronegativitydiff (class in matminer.featurizers.composition.ion)": [[14, "matminer.featurizers.composition.ion.ElectronegativityDiff"]], "elementfraction (class in matminer.featurizers.composition.element)": [[14, "matminer.featurizers.composition.element.ElementFraction"]], "elementproperty (class in matminer.featurizers.composition.composite)": [[14, "matminer.featurizers.composition.composite.ElementProperty"]], "ionproperty (class in matminer.featurizers.composition.ion)": [[14, "matminer.featurizers.composition.ion.IonProperty"]], "meredig (class in matminer.featurizers.composition.composite)": [[14, "matminer.featurizers.composition.composite.Meredig"]], "miedema (class in matminer.featurizers.composition.alloy)": [[14, "matminer.featurizers.composition.alloy.Miedema"]], "oxidationstates (class in matminer.featurizers.composition.ion)": [[14, "matminer.featurizers.composition.ion.OxidationStates"]], "stoichiometry (class in matminer.featurizers.composition.element)": [[14, "matminer.featurizers.composition.element.Stoichiometry"]], "tmetalfraction (class in matminer.featurizers.composition.element)": [[14, "matminer.featurizers.composition.element.TMetalFraction"]], "valenceorbital (class in matminer.featurizers.composition.orbital)": [[14, "matminer.featurizers.composition.orbital.ValenceOrbital"]], "wenalloys (class in matminer.featurizers.composition.alloy)": [[14, "matminer.featurizers.composition.alloy.WenAlloys"]], "yangsolidsolution (class in matminer.featurizers.composition.alloy)": [[14, "matminer.featurizers.composition.alloy.YangSolidSolution"]], "__init__() (matminer.featurizers.composition.alloy.miedema method)": [[14, "matminer.featurizers.composition.alloy.Miedema.__init__"]], "__init__() (matminer.featurizers.composition.alloy.wenalloys method)": [[14, "matminer.featurizers.composition.alloy.WenAlloys.__init__"]], "__init__() (matminer.featurizers.composition.alloy.yangsolidsolution method)": [[14, "matminer.featurizers.composition.alloy.YangSolidSolution.__init__"]], "__init__() (matminer.featurizers.composition.composite.elementproperty method)": [[14, "matminer.featurizers.composition.composite.ElementProperty.__init__"]], "__init__() (matminer.featurizers.composition.composite.meredig method)": [[14, "matminer.featurizers.composition.composite.Meredig.__init__"]], "__init__() (matminer.featurizers.composition.element.elementfraction method)": [[14, "matminer.featurizers.composition.element.ElementFraction.__init__"]], "__init__() (matminer.featurizers.composition.element.stoichiometry method)": [[14, "matminer.featurizers.composition.element.Stoichiometry.__init__"]], "__init__() (matminer.featurizers.composition.element.tmetalfraction method)": [[14, "matminer.featurizers.composition.element.TMetalFraction.__init__"]], "__init__() (matminer.featurizers.composition.ion.electronaffinity method)": [[14, "matminer.featurizers.composition.ion.ElectronAffinity.__init__"]], "__init__() (matminer.featurizers.composition.ion.electronegativitydiff method)": [[14, "matminer.featurizers.composition.ion.ElectronegativityDiff.__init__"]], "__init__() (matminer.featurizers.composition.ion.ionproperty method)": [[14, "matminer.featurizers.composition.ion.IonProperty.__init__"]], "__init__() (matminer.featurizers.composition.ion.oxidationstates method)": [[14, "matminer.featurizers.composition.ion.OxidationStates.__init__"]], "__init__() (matminer.featurizers.composition.orbital.valenceorbital method)": [[14, "matminer.featurizers.composition.orbital.ValenceOrbital.__init__"]], "__init__() (matminer.featurizers.composition.packing.atomicpackingefficiency method)": [[14, "matminer.featurizers.composition.packing.AtomicPackingEfficiency.__init__"]], "__init__() (matminer.featurizers.composition.thermo.cohesiveenergy method)": [[14, "matminer.featurizers.composition.thermo.CohesiveEnergy.__init__"]], "__init__() (matminer.featurizers.composition.thermo.cohesiveenergymp method)": [[14, "matminer.featurizers.composition.thermo.CohesiveEnergyMP.__init__"]], "citations() (matminer.featurizers.composition.alloy.miedema method)": [[14, "matminer.featurizers.composition.alloy.Miedema.citations"]], "citations() (matminer.featurizers.composition.alloy.wenalloys method)": [[14, "matminer.featurizers.composition.alloy.WenAlloys.citations"]], "citations() (matminer.featurizers.composition.alloy.yangsolidsolution method)": [[14, "matminer.featurizers.composition.alloy.YangSolidSolution.citations"]], "citations() (matminer.featurizers.composition.composite.elementproperty method)": [[14, "matminer.featurizers.composition.composite.ElementProperty.citations"]], "citations() (matminer.featurizers.composition.composite.meredig method)": [[14, "matminer.featurizers.composition.composite.Meredig.citations"]], "citations() (matminer.featurizers.composition.element.bandcenter method)": [[14, "matminer.featurizers.composition.element.BandCenter.citations"]], "citations() (matminer.featurizers.composition.element.elementfraction method)": [[14, "matminer.featurizers.composition.element.ElementFraction.citations"]], "citations() (matminer.featurizers.composition.element.stoichiometry method)": [[14, "matminer.featurizers.composition.element.Stoichiometry.citations"]], "citations() (matminer.featurizers.composition.element.tmetalfraction method)": [[14, "matminer.featurizers.composition.element.TMetalFraction.citations"]], "citations() (matminer.featurizers.composition.ion.cationproperty method)": [[14, "matminer.featurizers.composition.ion.CationProperty.citations"]], "citations() (matminer.featurizers.composition.ion.electronaffinity method)": [[14, "matminer.featurizers.composition.ion.ElectronAffinity.citations"]], "citations() (matminer.featurizers.composition.ion.electronegativitydiff method)": [[14, "matminer.featurizers.composition.ion.ElectronegativityDiff.citations"]], "citations() (matminer.featurizers.composition.ion.ionproperty method)": [[14, "matminer.featurizers.composition.ion.IonProperty.citations"]], "citations() (matminer.featurizers.composition.ion.oxidationstates method)": [[14, "matminer.featurizers.composition.ion.OxidationStates.citations"]], "citations() (matminer.featurizers.composition.orbital.atomicorbitals method)": [[14, "matminer.featurizers.composition.orbital.AtomicOrbitals.citations"]], "citations() (matminer.featurizers.composition.orbital.valenceorbital method)": [[14, "matminer.featurizers.composition.orbital.ValenceOrbital.citations"]], "citations() (matminer.featurizers.composition.packing.atomicpackingefficiency method)": [[14, "matminer.featurizers.composition.packing.AtomicPackingEfficiency.citations"]], "citations() (matminer.featurizers.composition.thermo.cohesiveenergy method)": [[14, "matminer.featurizers.composition.thermo.CohesiveEnergy.citations"]], "citations() (matminer.featurizers.composition.thermo.cohesiveenergymp method)": [[14, "matminer.featurizers.composition.thermo.CohesiveEnergyMP.citations"]], "compute_atomic_fraction() (matminer.featurizers.composition.alloy.wenalloys static method)": [[14, "matminer.featurizers.composition.alloy.WenAlloys.compute_atomic_fraction"]], "compute_configuration_entropy() (matminer.featurizers.composition.alloy.wenalloys static method)": [[14, "matminer.featurizers.composition.alloy.WenAlloys.compute_configuration_entropy"]], "compute_delta() (matminer.featurizers.composition.alloy.wenalloys static method)": [[14, "matminer.featurizers.composition.alloy.WenAlloys.compute_delta"]], "compute_delta() (matminer.featurizers.composition.alloy.yangsolidsolution method)": [[14, "matminer.featurizers.composition.alloy.YangSolidSolution.compute_delta"]], "compute_enthalpy() (matminer.featurizers.composition.alloy.wenalloys method)": [[14, "matminer.featurizers.composition.alloy.WenAlloys.compute_enthalpy"]], "compute_gamma_radii() (matminer.featurizers.composition.alloy.wenalloys static method)": [[14, "matminer.featurizers.composition.alloy.WenAlloys.compute_gamma_radii"]], "compute_lambda() (matminer.featurizers.composition.alloy.wenalloys static method)": [[14, "matminer.featurizers.composition.alloy.WenAlloys.compute_lambda"]], "compute_local_mismatch() (matminer.featurizers.composition.alloy.wenalloys static method)": [[14, "matminer.featurizers.composition.alloy.WenAlloys.compute_local_mismatch"]], "compute_magpie_summary() (matminer.featurizers.composition.alloy.wenalloys method)": [[14, "matminer.featurizers.composition.alloy.WenAlloys.compute_magpie_summary"]], "compute_nearest_cluster_distance() (matminer.featurizers.composition.packing.atomicpackingefficiency method)": [[14, "matminer.featurizers.composition.packing.AtomicPackingEfficiency.compute_nearest_cluster_distance"]], "compute_omega() (matminer.featurizers.composition.alloy.yangsolidsolution method)": [[14, "matminer.featurizers.composition.alloy.YangSolidSolution.compute_omega"]], "compute_simultaneous_packing_efficiency() (matminer.featurizers.composition.packing.atomicpackingefficiency method)": [[14, "matminer.featurizers.composition.packing.AtomicPackingEfficiency.compute_simultaneous_packing_efficiency"]], "compute_strength_local_mismatch_shear() (matminer.featurizers.composition.alloy.wenalloys static method)": [[14, "matminer.featurizers.composition.alloy.WenAlloys.compute_strength_local_mismatch_shear"]], "compute_weight_fraction() (matminer.featurizers.composition.alloy.wenalloys static method)": [[14, "matminer.featurizers.composition.alloy.WenAlloys.compute_weight_fraction"]], "create_cluster_lookup_tool() (matminer.featurizers.composition.packing.atomicpackingefficiency method)": [[14, "matminer.featurizers.composition.packing.AtomicPackingEfficiency.create_cluster_lookup_tool"]], "deltah_chem() (matminer.featurizers.composition.alloy.miedema method)": [[14, "matminer.featurizers.composition.alloy.Miedema.deltaH_chem"]], "deltah_elast() (matminer.featurizers.composition.alloy.miedema method)": [[14, "matminer.featurizers.composition.alloy.Miedema.deltaH_elast"]], "deltah_struct() (matminer.featurizers.composition.alloy.miedema method)": [[14, "matminer.featurizers.composition.alloy.Miedema.deltaH_struct"]], "deltah_topo() (matminer.featurizers.composition.alloy.miedema method)": [[14, "matminer.featurizers.composition.alloy.Miedema.deltaH_topo"]], "feature_labels() (matminer.featurizers.composition.alloy.miedema method)": [[14, "matminer.featurizers.composition.alloy.Miedema.feature_labels"]], "feature_labels() (matminer.featurizers.composition.alloy.wenalloys method)": [[14, "matminer.featurizers.composition.alloy.WenAlloys.feature_labels"]], "feature_labels() (matminer.featurizers.composition.alloy.yangsolidsolution method)": [[14, "matminer.featurizers.composition.alloy.YangSolidSolution.feature_labels"]], "feature_labels() (matminer.featurizers.composition.composite.elementproperty method)": [[14, "matminer.featurizers.composition.composite.ElementProperty.feature_labels"]], "feature_labels() (matminer.featurizers.composition.composite.meredig method)": [[14, "matminer.featurizers.composition.composite.Meredig.feature_labels"]], "feature_labels() (matminer.featurizers.composition.element.bandcenter method)": [[14, "matminer.featurizers.composition.element.BandCenter.feature_labels"]], "feature_labels() (matminer.featurizers.composition.element.elementfraction method)": [[14, "matminer.featurizers.composition.element.ElementFraction.feature_labels"]], "feature_labels() (matminer.featurizers.composition.element.stoichiometry method)": [[14, "matminer.featurizers.composition.element.Stoichiometry.feature_labels"]], "feature_labels() (matminer.featurizers.composition.element.tmetalfraction method)": [[14, "matminer.featurizers.composition.element.TMetalFraction.feature_labels"]], "feature_labels() (matminer.featurizers.composition.ion.cationproperty method)": [[14, "matminer.featurizers.composition.ion.CationProperty.feature_labels"]], "feature_labels() (matminer.featurizers.composition.ion.electronaffinity method)": [[14, "matminer.featurizers.composition.ion.ElectronAffinity.feature_labels"]], "feature_labels() (matminer.featurizers.composition.ion.electronegativitydiff method)": [[14, "matminer.featurizers.composition.ion.ElectronegativityDiff.feature_labels"]], "feature_labels() (matminer.featurizers.composition.ion.ionproperty method)": [[14, "matminer.featurizers.composition.ion.IonProperty.feature_labels"]], "feature_labels() (matminer.featurizers.composition.ion.oxidationstates method)": [[14, "matminer.featurizers.composition.ion.OxidationStates.feature_labels"]], "feature_labels() (matminer.featurizers.composition.orbital.atomicorbitals method)": [[14, "matminer.featurizers.composition.orbital.AtomicOrbitals.feature_labels"]], "feature_labels() (matminer.featurizers.composition.orbital.valenceorbital method)": [[14, "matminer.featurizers.composition.orbital.ValenceOrbital.feature_labels"]], "feature_labels() (matminer.featurizers.composition.packing.atomicpackingefficiency method)": [[14, "matminer.featurizers.composition.packing.AtomicPackingEfficiency.feature_labels"]], "feature_labels() (matminer.featurizers.composition.thermo.cohesiveenergy method)": [[14, "matminer.featurizers.composition.thermo.CohesiveEnergy.feature_labels"]], "feature_labels() (matminer.featurizers.composition.thermo.cohesiveenergymp method)": [[14, "matminer.featurizers.composition.thermo.CohesiveEnergyMP.feature_labels"]], "featurize() (matminer.featurizers.composition.alloy.miedema method)": [[14, "matminer.featurizers.composition.alloy.Miedema.featurize"]], "featurize() (matminer.featurizers.composition.alloy.wenalloys method)": [[14, "matminer.featurizers.composition.alloy.WenAlloys.featurize"]], "featurize() (matminer.featurizers.composition.alloy.yangsolidsolution method)": [[14, "matminer.featurizers.composition.alloy.YangSolidSolution.featurize"]], "featurize() (matminer.featurizers.composition.composite.elementproperty method)": [[14, "matminer.featurizers.composition.composite.ElementProperty.featurize"]], "featurize() (matminer.featurizers.composition.composite.meredig method)": [[14, "matminer.featurizers.composition.composite.Meredig.featurize"]], "featurize() (matminer.featurizers.composition.element.bandcenter method)": [[14, "matminer.featurizers.composition.element.BandCenter.featurize"]], "featurize() (matminer.featurizers.composition.element.elementfraction method)": [[14, "matminer.featurizers.composition.element.ElementFraction.featurize"]], "featurize() (matminer.featurizers.composition.element.stoichiometry method)": [[14, "matminer.featurizers.composition.element.Stoichiometry.featurize"]], "featurize() (matminer.featurizers.composition.element.tmetalfraction method)": [[14, "matminer.featurizers.composition.element.TMetalFraction.featurize"]], "featurize() (matminer.featurizers.composition.ion.cationproperty method)": [[14, "matminer.featurizers.composition.ion.CationProperty.featurize"]], "featurize() (matminer.featurizers.composition.ion.electronaffinity method)": [[14, "matminer.featurizers.composition.ion.ElectronAffinity.featurize"]], "featurize() (matminer.featurizers.composition.ion.electronegativitydiff method)": [[14, "matminer.featurizers.composition.ion.ElectronegativityDiff.featurize"]], "featurize() (matminer.featurizers.composition.ion.ionproperty method)": [[14, "matminer.featurizers.composition.ion.IonProperty.featurize"]], "featurize() (matminer.featurizers.composition.ion.oxidationstates method)": [[14, "matminer.featurizers.composition.ion.OxidationStates.featurize"]], "featurize() (matminer.featurizers.composition.orbital.atomicorbitals method)": [[14, "matminer.featurizers.composition.orbital.AtomicOrbitals.featurize"]], "featurize() (matminer.featurizers.composition.orbital.valenceorbital method)": [[14, "matminer.featurizers.composition.orbital.ValenceOrbital.featurize"]], "featurize() (matminer.featurizers.composition.packing.atomicpackingefficiency method)": [[14, "matminer.featurizers.composition.packing.AtomicPackingEfficiency.featurize"]], "featurize() (matminer.featurizers.composition.thermo.cohesiveenergy method)": [[14, "matminer.featurizers.composition.thermo.CohesiveEnergy.featurize"]], "featurize() (matminer.featurizers.composition.thermo.cohesiveenergymp method)": [[14, "matminer.featurizers.composition.thermo.CohesiveEnergyMP.featurize"]], "find_ideal_cluster_size() (matminer.featurizers.composition.packing.atomicpackingefficiency method)": [[14, "matminer.featurizers.composition.packing.AtomicPackingEfficiency.find_ideal_cluster_size"]], "from_preset() (matminer.featurizers.composition.composite.elementproperty class method)": [[14, "matminer.featurizers.composition.composite.ElementProperty.from_preset"]], "from_preset() (matminer.featurizers.composition.ion.cationproperty class method)": [[14, "matminer.featurizers.composition.ion.CationProperty.from_preset"]], "from_preset() (matminer.featurizers.composition.ion.oxidationstates class method)": [[14, "matminer.featurizers.composition.ion.OxidationStates.from_preset"]], "get_ideal_radius_ratio() (matminer.featurizers.composition.packing.atomicpackingefficiency method)": [[14, "matminer.featurizers.composition.packing.AtomicPackingEfficiency.get_ideal_radius_ratio"]], "implementors() (matminer.featurizers.composition.alloy.miedema method)": [[14, "matminer.featurizers.composition.alloy.Miedema.implementors"]], "implementors() (matminer.featurizers.composition.alloy.wenalloys method)": [[14, "matminer.featurizers.composition.alloy.WenAlloys.implementors"]], "implementors() (matminer.featurizers.composition.alloy.yangsolidsolution method)": [[14, "matminer.featurizers.composition.alloy.YangSolidSolution.implementors"]], "implementors() (matminer.featurizers.composition.composite.elementproperty method)": [[14, "matminer.featurizers.composition.composite.ElementProperty.implementors"]], "implementors() (matminer.featurizers.composition.composite.meredig method)": [[14, "matminer.featurizers.composition.composite.Meredig.implementors"]], "implementors() (matminer.featurizers.composition.element.bandcenter method)": [[14, "matminer.featurizers.composition.element.BandCenter.implementors"]], "implementors() (matminer.featurizers.composition.element.elementfraction method)": [[14, "matminer.featurizers.composition.element.ElementFraction.implementors"]], "implementors() (matminer.featurizers.composition.element.stoichiometry method)": [[14, "matminer.featurizers.composition.element.Stoichiometry.implementors"]], "implementors() (matminer.featurizers.composition.element.tmetalfraction method)": [[14, "matminer.featurizers.composition.element.TMetalFraction.implementors"]], "implementors() (matminer.featurizers.composition.ion.electronaffinity method)": [[14, "matminer.featurizers.composition.ion.ElectronAffinity.implementors"]], "implementors() (matminer.featurizers.composition.ion.electronegativitydiff method)": [[14, "matminer.featurizers.composition.ion.ElectronegativityDiff.implementors"]], "implementors() (matminer.featurizers.composition.ion.ionproperty method)": [[14, "matminer.featurizers.composition.ion.IonProperty.implementors"]], "implementors() (matminer.featurizers.composition.ion.oxidationstates method)": [[14, "matminer.featurizers.composition.ion.OxidationStates.implementors"]], "implementors() (matminer.featurizers.composition.orbital.atomicorbitals method)": [[14, "matminer.featurizers.composition.orbital.AtomicOrbitals.implementors"]], "implementors() (matminer.featurizers.composition.orbital.valenceorbital method)": [[14, "matminer.featurizers.composition.orbital.ValenceOrbital.implementors"]], "implementors() (matminer.featurizers.composition.packing.atomicpackingefficiency method)": [[14, "matminer.featurizers.composition.packing.AtomicPackingEfficiency.implementors"]], "implementors() (matminer.featurizers.composition.thermo.cohesiveenergy method)": [[14, "matminer.featurizers.composition.thermo.CohesiveEnergy.implementors"]], "implementors() (matminer.featurizers.composition.thermo.cohesiveenergymp method)": [[14, "matminer.featurizers.composition.thermo.CohesiveEnergyMP.implementors"]], "is_ionic() (in module matminer.featurizers.composition.ion)": [[14, "matminer.featurizers.composition.ion.is_ionic"]], "matminer.featurizers.composition": [[14, "module-matminer.featurizers.composition"]], "matminer.featurizers.composition.alloy": [[14, "module-matminer.featurizers.composition.alloy"]], "matminer.featurizers.composition.composite": [[14, "module-matminer.featurizers.composition.composite"]], "matminer.featurizers.composition.element": [[14, "module-matminer.featurizers.composition.element"]], "matminer.featurizers.composition.ion": [[14, "module-matminer.featurizers.composition.ion"]], "matminer.featurizers.composition.orbital": [[14, "module-matminer.featurizers.composition.orbital"]], "matminer.featurizers.composition.packing": [[14, "module-matminer.featurizers.composition.packing"]], "matminer.featurizers.composition.thermo": [[14, "module-matminer.featurizers.composition.thermo"]], "precheck() (matminer.featurizers.composition.alloy.miedema method)": [[14, "matminer.featurizers.composition.alloy.Miedema.precheck"]], "precheck() (matminer.featurizers.composition.alloy.wenalloys method)": [[14, "matminer.featurizers.composition.alloy.WenAlloys.precheck"]], "precheck() (matminer.featurizers.composition.alloy.yangsolidsolution method)": [[14, "matminer.featurizers.composition.alloy.YangSolidSolution.precheck"]], "alloyfeaturizerstest (class in matminer.featurizers.composition.tests.test_alloy)": [[15, "matminer.featurizers.composition.tests.test_alloy.AlloyFeaturizersTest"]], "compositefeaturestest (class in matminer.featurizers.composition.tests.test_composite)": [[15, "matminer.featurizers.composition.tests.test_composite.CompositeFeaturesTest"]], "compositionfeaturestest (class in matminer.featurizers.composition.tests.base)": [[15, "matminer.featurizers.composition.tests.base.CompositionFeaturesTest"]], "elementfeaturestest (class in matminer.featurizers.composition.tests.test_element)": [[15, "matminer.featurizers.composition.tests.test_element.ElementFeaturesTest"]], "ionfeaturestest (class in matminer.featurizers.composition.tests.test_ion)": [[15, "matminer.featurizers.composition.tests.test_ion.IonFeaturesTest"]], "orbitalfeaturestest (class in matminer.featurizers.composition.tests.test_orbital)": [[15, "matminer.featurizers.composition.tests.test_orbital.OrbitalFeaturesTest"]], "packingfeaturestest (class in matminer.featurizers.composition.tests.test_packing)": [[15, "matminer.featurizers.composition.tests.test_packing.PackingFeaturesTest"]], "thermofeaturestest (class in matminer.featurizers.composition.tests.test_thermo)": [[15, "matminer.featurizers.composition.tests.test_thermo.ThermoFeaturesTest"]], "matminer.featurizers.composition.tests": [[15, "module-matminer.featurizers.composition.tests"]], "matminer.featurizers.composition.tests.base": [[15, "module-matminer.featurizers.composition.tests.base"]], "matminer.featurizers.composition.tests.test_alloy": [[15, "module-matminer.featurizers.composition.tests.test_alloy"]], "matminer.featurizers.composition.tests.test_composite": [[15, "module-matminer.featurizers.composition.tests.test_composite"]], "matminer.featurizers.composition.tests.test_element": [[15, "module-matminer.featurizers.composition.tests.test_element"]], "matminer.featurizers.composition.tests.test_ion": [[15, "module-matminer.featurizers.composition.tests.test_ion"]], "matminer.featurizers.composition.tests.test_orbital": [[15, "module-matminer.featurizers.composition.tests.test_orbital"]], "matminer.featurizers.composition.tests.test_packing": [[15, "module-matminer.featurizers.composition.tests.test_packing"]], "matminer.featurizers.composition.tests.test_thermo": [[15, "module-matminer.featurizers.composition.tests.test_thermo"]], "setup() (matminer.featurizers.composition.tests.base.compositionfeaturestest method)": [[15, "matminer.featurizers.composition.tests.base.CompositionFeaturesTest.setUp"]], "test_wenalloys() (matminer.featurizers.composition.tests.test_alloy.alloyfeaturizerstest method)": [[15, "matminer.featurizers.composition.tests.test_alloy.AlloyFeaturizersTest.test_WenAlloys"]], "test_ape() (matminer.featurizers.composition.tests.test_packing.packingfeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_packing.PackingFeaturesTest.test_ape"]], "test_atomic_orbitals() (matminer.featurizers.composition.tests.test_orbital.orbitalfeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_orbital.OrbitalFeaturesTest.test_atomic_orbitals"]], "test_band_center() (matminer.featurizers.composition.tests.test_element.elementfeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_element.ElementFeaturesTest.test_band_center"]], "test_cation_properties() (matminer.featurizers.composition.tests.test_ion.ionfeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_ion.IonFeaturesTest.test_cation_properties"]], "test_cohesive_energy() (matminer.featurizers.composition.tests.test_thermo.thermofeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_thermo.ThermoFeaturesTest.test_cohesive_energy"]], "test_cohesive_energy_mp() (matminer.featurizers.composition.tests.test_thermo.thermofeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_thermo.ThermoFeaturesTest.test_cohesive_energy_mp"]], "test_elec_affin() (matminer.featurizers.composition.tests.test_ion.ionfeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_ion.IonFeaturesTest.test_elec_affin"]], "test_elem() (matminer.featurizers.composition.tests.test_composite.compositefeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_composite.CompositeFeaturesTest.test_elem"]], "test_elem_deml() (matminer.featurizers.composition.tests.test_composite.compositefeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_composite.CompositeFeaturesTest.test_elem_deml"]], "test_elem_matminer() (matminer.featurizers.composition.tests.test_composite.compositefeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_composite.CompositeFeaturesTest.test_elem_matminer"]], "test_elem_matscholar_el() (matminer.featurizers.composition.tests.test_composite.compositefeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_composite.CompositeFeaturesTest.test_elem_matscholar_el"]], "test_elem_megnet_el() (matminer.featurizers.composition.tests.test_composite.compositefeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_composite.CompositeFeaturesTest.test_elem_megnet_el"]], "test_en_diff() (matminer.featurizers.composition.tests.test_ion.ionfeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_ion.IonFeaturesTest.test_en_diff"]], "test_fere_corr() (matminer.featurizers.composition.tests.test_composite.compositefeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_composite.CompositeFeaturesTest.test_fere_corr"]], "test_fraction() (matminer.featurizers.composition.tests.test_element.elementfeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_element.ElementFeaturesTest.test_fraction"]], "test_ionic() (matminer.featurizers.composition.tests.test_ion.ionfeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_ion.IonFeaturesTest.test_ionic"]], "test_is_ionic() (matminer.featurizers.composition.tests.test_ion.ionfeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_ion.IonFeaturesTest.test_is_ionic"]], "test_meredig() (matminer.featurizers.composition.tests.test_composite.compositefeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_composite.CompositeFeaturesTest.test_meredig"]], "test_miedema_all() (matminer.featurizers.composition.tests.test_alloy.alloyfeaturizerstest method)": [[15, "matminer.featurizers.composition.tests.test_alloy.AlloyFeaturizersTest.test_miedema_all"]], "test_miedema_ss() (matminer.featurizers.composition.tests.test_alloy.alloyfeaturizerstest method)": [[15, "matminer.featurizers.composition.tests.test_alloy.AlloyFeaturizersTest.test_miedema_ss"]], "test_oxidation_states() (matminer.featurizers.composition.tests.test_ion.ionfeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_ion.IonFeaturesTest.test_oxidation_states"]], "test_stoich() (matminer.featurizers.composition.tests.test_element.elementfeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_element.ElementFeaturesTest.test_stoich"]], "test_tm_fraction() (matminer.featurizers.composition.tests.test_element.elementfeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_element.ElementFeaturesTest.test_tm_fraction"]], "test_valence() (matminer.featurizers.composition.tests.test_orbital.orbitalfeaturestest method)": [[15, "matminer.featurizers.composition.tests.test_orbital.OrbitalFeaturesTest.test_valence"]], "test_yang() (matminer.featurizers.composition.tests.test_alloy.alloyfeaturizerstest method)": [[15, "matminer.featurizers.composition.tests.test_alloy.AlloyFeaturizersTest.test_yang"]], "agnifingerprints (class in matminer.featurizers.site.fingerprint)": [[16, "matminer.featurizers.site.fingerprint.AGNIFingerprints"]], "angularfourierseries (class in matminer.featurizers.site.rdf)": [[16, "matminer.featurizers.site.rdf.AngularFourierSeries"]], "averagebondangle (class in matminer.featurizers.site.bonding)": [[16, "matminer.featurizers.site.bonding.AverageBondAngle"]], "averagebondlength (class in matminer.featurizers.site.bonding)": [[16, "matminer.featurizers.site.bonding.AverageBondLength"]], "bondorientationalparameter (class in matminer.featurizers.site.bonding)": [[16, "matminer.featurizers.site.bonding.BondOrientationalParameter"]], "chemenvsitefingerprint (class in matminer.featurizers.site.fingerprint)": [[16, "matminer.featurizers.site.fingerprint.ChemEnvSiteFingerprint"]], "chemicalsro (class in matminer.featurizers.site.chemical)": [[16, "matminer.featurizers.site.chemical.ChemicalSRO"]], "coordinationnumber (class in matminer.featurizers.site.misc)": [[16, "matminer.featurizers.site.misc.CoordinationNumber"]], "crystalnnfingerprint (class in matminer.featurizers.site.fingerprint)": [[16, "matminer.featurizers.site.fingerprint.CrystalNNFingerprint"]], "ewaldsiteenergy (class in matminer.featurizers.site.chemical)": [[16, "matminer.featurizers.site.chemical.EwaldSiteEnergy"]], "gaussiansymmfunc (class in matminer.featurizers.site.rdf)": [[16, "matminer.featurizers.site.rdf.GaussianSymmFunc"]], "generalizedradialdistributionfunction (class in matminer.featurizers.site.rdf)": [[16, "matminer.featurizers.site.rdf.GeneralizedRadialDistributionFunction"]], "intersticedistribution (class in matminer.featurizers.site.misc)": [[16, "matminer.featurizers.site.misc.IntersticeDistribution"]], "localpropertydifference (class in matminer.featurizers.site.chemical)": [[16, "matminer.featurizers.site.chemical.LocalPropertyDifference"]], "opsitefingerprint (class in matminer.featurizers.site.fingerprint)": [[16, "matminer.featurizers.site.fingerprint.OPSiteFingerprint"]], "soap (class in matminer.featurizers.site.external)": [[16, "matminer.featurizers.site.external.SOAP"]], "siteelementalproperty (class in matminer.featurizers.site.chemical)": [[16, "matminer.featurizers.site.chemical.SiteElementalProperty"]], "voronoifingerprint (class in matminer.featurizers.site.fingerprint)": [[16, "matminer.featurizers.site.fingerprint.VoronoiFingerprint"]], "__init__() (matminer.featurizers.site.bonding.averagebondangle method)": [[16, "matminer.featurizers.site.bonding.AverageBondAngle.__init__"]], "__init__() (matminer.featurizers.site.bonding.averagebondlength method)": [[16, "matminer.featurizers.site.bonding.AverageBondLength.__init__"]], "__init__() (matminer.featurizers.site.bonding.bondorientationalparameter method)": [[16, "matminer.featurizers.site.bonding.BondOrientationalParameter.__init__"]], "__init__() (matminer.featurizers.site.chemical.chemicalsro method)": [[16, "matminer.featurizers.site.chemical.ChemicalSRO.__init__"]], "__init__() (matminer.featurizers.site.chemical.ewaldsiteenergy method)": [[16, "matminer.featurizers.site.chemical.EwaldSiteEnergy.__init__"]], "__init__() (matminer.featurizers.site.chemical.localpropertydifference method)": [[16, "matminer.featurizers.site.chemical.LocalPropertyDifference.__init__"]], "__init__() (matminer.featurizers.site.chemical.siteelementalproperty method)": [[16, "matminer.featurizers.site.chemical.SiteElementalProperty.__init__"]], "__init__() (matminer.featurizers.site.external.soap method)": [[16, "matminer.featurizers.site.external.SOAP.__init__"]], "__init__() (matminer.featurizers.site.fingerprint.agnifingerprints method)": [[16, "matminer.featurizers.site.fingerprint.AGNIFingerprints.__init__"]], "__init__() (matminer.featurizers.site.fingerprint.chemenvsitefingerprint method)": [[16, "matminer.featurizers.site.fingerprint.ChemEnvSiteFingerprint.__init__"]], "__init__() (matminer.featurizers.site.fingerprint.crystalnnfingerprint method)": [[16, "matminer.featurizers.site.fingerprint.CrystalNNFingerprint.__init__"]], "__init__() (matminer.featurizers.site.fingerprint.opsitefingerprint method)": [[16, "matminer.featurizers.site.fingerprint.OPSiteFingerprint.__init__"]], "__init__() (matminer.featurizers.site.fingerprint.voronoifingerprint method)": [[16, "matminer.featurizers.site.fingerprint.VoronoiFingerprint.__init__"]], "__init__() (matminer.featurizers.site.misc.coordinationnumber method)": [[16, "matminer.featurizers.site.misc.CoordinationNumber.__init__"]], "__init__() (matminer.featurizers.site.misc.intersticedistribution method)": [[16, "matminer.featurizers.site.misc.IntersticeDistribution.__init__"]], "__init__() (matminer.featurizers.site.rdf.angularfourierseries method)": [[16, "matminer.featurizers.site.rdf.AngularFourierSeries.__init__"]], "__init__() (matminer.featurizers.site.rdf.gaussiansymmfunc method)": [[16, "matminer.featurizers.site.rdf.GaussianSymmFunc.__init__"]], "__init__() (matminer.featurizers.site.rdf.generalizedradialdistributionfunction method)": [[16, "matminer.featurizers.site.rdf.GeneralizedRadialDistributionFunction.__init__"]], "analyze_area_interstice() (matminer.featurizers.site.misc.intersticedistribution static method)": [[16, "matminer.featurizers.site.misc.IntersticeDistribution.analyze_area_interstice"]], "analyze_dist_interstices() (matminer.featurizers.site.misc.intersticedistribution static method)": [[16, "matminer.featurizers.site.misc.IntersticeDistribution.analyze_dist_interstices"]], "analyze_vol_interstice() (matminer.featurizers.site.misc.intersticedistribution static method)": [[16, "matminer.featurizers.site.misc.IntersticeDistribution.analyze_vol_interstice"]], "citations() (matminer.featurizers.site.bonding.averagebondangle method)": [[16, "matminer.featurizers.site.bonding.AverageBondAngle.citations"]], "citations() (matminer.featurizers.site.bonding.averagebondlength method)": [[16, "matminer.featurizers.site.bonding.AverageBondLength.citations"]], "citations() (matminer.featurizers.site.bonding.bondorientationalparameter method)": [[16, "matminer.featurizers.site.bonding.BondOrientationalParameter.citations"]], "citations() (matminer.featurizers.site.chemical.chemicalsro method)": [[16, "matminer.featurizers.site.chemical.ChemicalSRO.citations"]], "citations() (matminer.featurizers.site.chemical.ewaldsiteenergy method)": [[16, "matminer.featurizers.site.chemical.EwaldSiteEnergy.citations"]], "citations() (matminer.featurizers.site.chemical.localpropertydifference method)": [[16, "matminer.featurizers.site.chemical.LocalPropertyDifference.citations"]], "citations() (matminer.featurizers.site.chemical.siteelementalproperty method)": [[16, "matminer.featurizers.site.chemical.SiteElementalProperty.citations"]], "citations() (matminer.featurizers.site.external.soap method)": [[16, "matminer.featurizers.site.external.SOAP.citations"]], "citations() (matminer.featurizers.site.fingerprint.agnifingerprints method)": [[16, "matminer.featurizers.site.fingerprint.AGNIFingerprints.citations"]], "citations() (matminer.featurizers.site.fingerprint.chemenvsitefingerprint method)": [[16, "matminer.featurizers.site.fingerprint.ChemEnvSiteFingerprint.citations"]], "citations() (matminer.featurizers.site.fingerprint.crystalnnfingerprint method)": [[16, "matminer.featurizers.site.fingerprint.CrystalNNFingerprint.citations"]], "citations() (matminer.featurizers.site.fingerprint.opsitefingerprint method)": [[16, "matminer.featurizers.site.fingerprint.OPSiteFingerprint.citations"]], "citations() (matminer.featurizers.site.fingerprint.voronoifingerprint method)": [[16, "matminer.featurizers.site.fingerprint.VoronoiFingerprint.citations"]], "citations() (matminer.featurizers.site.misc.coordinationnumber method)": [[16, "matminer.featurizers.site.misc.CoordinationNumber.citations"]], "citations() (matminer.featurizers.site.misc.intersticedistribution method)": [[16, "matminer.featurizers.site.misc.IntersticeDistribution.citations"]], "citations() (matminer.featurizers.site.rdf.angularfourierseries method)": [[16, "matminer.featurizers.site.rdf.AngularFourierSeries.citations"]], "citations() (matminer.featurizers.site.rdf.gaussiansymmfunc method)": [[16, "matminer.featurizers.site.rdf.GaussianSymmFunc.citations"]], "citations() (matminer.featurizers.site.rdf.generalizedradialdistributionfunction method)": [[16, "matminer.featurizers.site.rdf.GeneralizedRadialDistributionFunction.citations"]], "cosine_cutoff() (matminer.featurizers.site.rdf.gaussiansymmfunc static method)": [[16, "matminer.featurizers.site.rdf.GaussianSymmFunc.cosine_cutoff"]], "feature_labels() (matminer.featurizers.site.bonding.averagebondangle method)": [[16, "matminer.featurizers.site.bonding.AverageBondAngle.feature_labels"]], "feature_labels() (matminer.featurizers.site.bonding.averagebondlength method)": [[16, "matminer.featurizers.site.bonding.AverageBondLength.feature_labels"]], "feature_labels() (matminer.featurizers.site.bonding.bondorientationalparameter method)": [[16, "matminer.featurizers.site.bonding.BondOrientationalParameter.feature_labels"]], "feature_labels() (matminer.featurizers.site.chemical.chemicalsro method)": [[16, "matminer.featurizers.site.chemical.ChemicalSRO.feature_labels"]], "feature_labels() (matminer.featurizers.site.chemical.ewaldsiteenergy method)": [[16, "matminer.featurizers.site.chemical.EwaldSiteEnergy.feature_labels"]], "feature_labels() (matminer.featurizers.site.chemical.localpropertydifference method)": [[16, "matminer.featurizers.site.chemical.LocalPropertyDifference.feature_labels"]], "feature_labels() (matminer.featurizers.site.chemical.siteelementalproperty method)": [[16, "matminer.featurizers.site.chemical.SiteElementalProperty.feature_labels"]], "feature_labels() (matminer.featurizers.site.external.soap method)": [[16, "matminer.featurizers.site.external.SOAP.feature_labels"]], "feature_labels() (matminer.featurizers.site.fingerprint.agnifingerprints method)": [[16, "matminer.featurizers.site.fingerprint.AGNIFingerprints.feature_labels"]], "feature_labels() (matminer.featurizers.site.fingerprint.chemenvsitefingerprint method)": [[16, "matminer.featurizers.site.fingerprint.ChemEnvSiteFingerprint.feature_labels"]], "feature_labels() (matminer.featurizers.site.fingerprint.crystalnnfingerprint method)": [[16, "matminer.featurizers.site.fingerprint.CrystalNNFingerprint.feature_labels"]], "feature_labels() (matminer.featurizers.site.fingerprint.opsitefingerprint method)": [[16, "matminer.featurizers.site.fingerprint.OPSiteFingerprint.feature_labels"]], "feature_labels() (matminer.featurizers.site.fingerprint.voronoifingerprint method)": [[16, "matminer.featurizers.site.fingerprint.VoronoiFingerprint.feature_labels"]], "feature_labels() (matminer.featurizers.site.misc.coordinationnumber method)": [[16, "matminer.featurizers.site.misc.CoordinationNumber.feature_labels"]], "feature_labels() (matminer.featurizers.site.misc.intersticedistribution method)": [[16, "matminer.featurizers.site.misc.IntersticeDistribution.feature_labels"]], "feature_labels() (matminer.featurizers.site.rdf.angularfourierseries method)": [[16, "matminer.featurizers.site.rdf.AngularFourierSeries.feature_labels"]], "feature_labels() (matminer.featurizers.site.rdf.gaussiansymmfunc method)": [[16, "matminer.featurizers.site.rdf.GaussianSymmFunc.feature_labels"]], "feature_labels() (matminer.featurizers.site.rdf.generalizedradialdistributionfunction method)": [[16, "matminer.featurizers.site.rdf.GeneralizedRadialDistributionFunction.feature_labels"]], "featurize() (matminer.featurizers.site.bonding.averagebondangle method)": [[16, "matminer.featurizers.site.bonding.AverageBondAngle.featurize"]], "featurize() (matminer.featurizers.site.bonding.averagebondlength method)": [[16, "matminer.featurizers.site.bonding.AverageBondLength.featurize"]], "featurize() (matminer.featurizers.site.bonding.bondorientationalparameter method)": [[16, "matminer.featurizers.site.bonding.BondOrientationalParameter.featurize"]], "featurize() (matminer.featurizers.site.chemical.chemicalsro method)": [[16, "matminer.featurizers.site.chemical.ChemicalSRO.featurize"]], "featurize() (matminer.featurizers.site.chemical.ewaldsiteenergy method)": [[16, "matminer.featurizers.site.chemical.EwaldSiteEnergy.featurize"]], "featurize() (matminer.featurizers.site.chemical.localpropertydifference method)": [[16, "matminer.featurizers.site.chemical.LocalPropertyDifference.featurize"]], "featurize() (matminer.featurizers.site.chemical.siteelementalproperty method)": [[16, "matminer.featurizers.site.chemical.SiteElementalProperty.featurize"]], "featurize() (matminer.featurizers.site.external.soap method)": [[16, "matminer.featurizers.site.external.SOAP.featurize"]], "featurize() (matminer.featurizers.site.fingerprint.agnifingerprints method)": [[16, "matminer.featurizers.site.fingerprint.AGNIFingerprints.featurize"]], "featurize() (matminer.featurizers.site.fingerprint.chemenvsitefingerprint method)": [[16, "matminer.featurizers.site.fingerprint.ChemEnvSiteFingerprint.featurize"]], "featurize() (matminer.featurizers.site.fingerprint.crystalnnfingerprint method)": [[16, "matminer.featurizers.site.fingerprint.CrystalNNFingerprint.featurize"]], "featurize() (matminer.featurizers.site.fingerprint.opsitefingerprint method)": [[16, "matminer.featurizers.site.fingerprint.OPSiteFingerprint.featurize"]], "featurize() (matminer.featurizers.site.fingerprint.voronoifingerprint method)": [[16, "matminer.featurizers.site.fingerprint.VoronoiFingerprint.featurize"]], "featurize() (matminer.featurizers.site.misc.coordinationnumber method)": [[16, "matminer.featurizers.site.misc.CoordinationNumber.featurize"]], "featurize() (matminer.featurizers.site.misc.intersticedistribution method)": [[16, "matminer.featurizers.site.misc.IntersticeDistribution.featurize"]], "featurize() (matminer.featurizers.site.rdf.angularfourierseries method)": [[16, "matminer.featurizers.site.rdf.AngularFourierSeries.featurize"]], "featurize() (matminer.featurizers.site.rdf.gaussiansymmfunc method)": [[16, "matminer.featurizers.site.rdf.GaussianSymmFunc.featurize"]], "featurize() (matminer.featurizers.site.rdf.generalizedradialdistributionfunction method)": [[16, "matminer.featurizers.site.rdf.GeneralizedRadialDistributionFunction.featurize"]], "fit() (matminer.featurizers.site.chemical.chemicalsro method)": [[16, "matminer.featurizers.site.chemical.ChemicalSRO.fit"]], "fit() (matminer.featurizers.site.external.soap method)": [[16, "matminer.featurizers.site.external.SOAP.fit"]], "fit() (matminer.featurizers.site.rdf.generalizedradialdistributionfunction method)": [[16, "matminer.featurizers.site.rdf.GeneralizedRadialDistributionFunction.fit"]], "from_preset() (matminer.featurizers.site.chemical.chemicalsro static method)": [[16, "matminer.featurizers.site.chemical.ChemicalSRO.from_preset"]], "from_preset() (matminer.featurizers.site.chemical.localpropertydifference static method)": [[16, "matminer.featurizers.site.chemical.LocalPropertyDifference.from_preset"]], "from_preset() (matminer.featurizers.site.chemical.siteelementalproperty static method)": [[16, "matminer.featurizers.site.chemical.SiteElementalProperty.from_preset"]], "from_preset() (matminer.featurizers.site.external.soap class method)": [[16, "matminer.featurizers.site.external.SOAP.from_preset"]], "from_preset() (matminer.featurizers.site.fingerprint.chemenvsitefingerprint static method)": [[16, "matminer.featurizers.site.fingerprint.ChemEnvSiteFingerprint.from_preset"]], "from_preset() (matminer.featurizers.site.fingerprint.crystalnnfingerprint static method)": [[16, "matminer.featurizers.site.fingerprint.CrystalNNFingerprint.from_preset"]], "from_preset() (matminer.featurizers.site.misc.coordinationnumber static method)": [[16, "matminer.featurizers.site.misc.CoordinationNumber.from_preset"]], "from_preset() (matminer.featurizers.site.rdf.angularfourierseries static method)": [[16, "matminer.featurizers.site.rdf.AngularFourierSeries.from_preset"]], "from_preset() (matminer.featurizers.site.rdf.generalizedradialdistributionfunction static method)": [[16, "matminer.featurizers.site.rdf.GeneralizedRadialDistributionFunction.from_preset"]], "g2() (matminer.featurizers.site.rdf.gaussiansymmfunc static method)": [[16, "matminer.featurizers.site.rdf.GaussianSymmFunc.g2"]], "g4() (matminer.featurizers.site.rdf.gaussiansymmfunc static method)": [[16, "matminer.featurizers.site.rdf.GaussianSymmFunc.g4"]], "get_wigner_coeffs() (in module matminer.featurizers.site.bonding)": [[16, "matminer.featurizers.site.bonding.get_wigner_coeffs"]], "implementors() (matminer.featurizers.site.bonding.averagebondangle method)": [[16, "matminer.featurizers.site.bonding.AverageBondAngle.implementors"]], "implementors() (matminer.featurizers.site.bonding.averagebondlength method)": [[16, "matminer.featurizers.site.bonding.AverageBondLength.implementors"]], "implementors() (matminer.featurizers.site.bonding.bondorientationalparameter method)": [[16, "matminer.featurizers.site.bonding.BondOrientationalParameter.implementors"]], "implementors() (matminer.featurizers.site.chemical.chemicalsro method)": [[16, "matminer.featurizers.site.chemical.ChemicalSRO.implementors"]], "implementors() (matminer.featurizers.site.chemical.ewaldsiteenergy method)": [[16, "matminer.featurizers.site.chemical.EwaldSiteEnergy.implementors"]], "implementors() (matminer.featurizers.site.chemical.localpropertydifference method)": [[16, "matminer.featurizers.site.chemical.LocalPropertyDifference.implementors"]], "implementors() (matminer.featurizers.site.chemical.siteelementalproperty method)": [[16, "matminer.featurizers.site.chemical.SiteElementalProperty.implementors"]], "implementors() (matminer.featurizers.site.external.soap method)": [[16, "matminer.featurizers.site.external.SOAP.implementors"]], "implementors() (matminer.featurizers.site.fingerprint.agnifingerprints method)": [[16, "matminer.featurizers.site.fingerprint.AGNIFingerprints.implementors"]], "implementors() (matminer.featurizers.site.fingerprint.chemenvsitefingerprint method)": [[16, "matminer.featurizers.site.fingerprint.ChemEnvSiteFingerprint.implementors"]], "implementors() (matminer.featurizers.site.fingerprint.crystalnnfingerprint method)": [[16, "matminer.featurizers.site.fingerprint.CrystalNNFingerprint.implementors"]], "implementors() (matminer.featurizers.site.fingerprint.opsitefingerprint method)": [[16, "matminer.featurizers.site.fingerprint.OPSiteFingerprint.implementors"]], "implementors() (matminer.featurizers.site.fingerprint.voronoifingerprint method)": [[16, "matminer.featurizers.site.fingerprint.VoronoiFingerprint.implementors"]], "implementors() (matminer.featurizers.site.misc.coordinationnumber method)": [[16, "matminer.featurizers.site.misc.CoordinationNumber.implementors"]], "implementors() (matminer.featurizers.site.misc.intersticedistribution method)": [[16, "matminer.featurizers.site.misc.IntersticeDistribution.implementors"]], "implementors() (matminer.featurizers.site.rdf.angularfourierseries method)": [[16, "matminer.featurizers.site.rdf.AngularFourierSeries.implementors"]], "implementors() (matminer.featurizers.site.rdf.gaussiansymmfunc method)": [[16, "matminer.featurizers.site.rdf.GaussianSymmFunc.implementors"]], "implementors() (matminer.featurizers.site.rdf.generalizedradialdistributionfunction method)": [[16, "matminer.featurizers.site.rdf.GeneralizedRadialDistributionFunction.implementors"]], "load_cn_motif_op_params() (in module matminer.featurizers.site.fingerprint)": [[16, "matminer.featurizers.site.fingerprint.load_cn_motif_op_params"]], "load_cn_target_motif_op() (in module matminer.featurizers.site.fingerprint)": [[16, "matminer.featurizers.site.fingerprint.load_cn_target_motif_op"]], "matminer.featurizers.site": [[16, "module-matminer.featurizers.site"]], "matminer.featurizers.site.bonding": [[16, "module-matminer.featurizers.site.bonding"]], "matminer.featurizers.site.chemical": [[16, "module-matminer.featurizers.site.chemical"]], "matminer.featurizers.site.external": [[16, "module-matminer.featurizers.site.external"]], "matminer.featurizers.site.fingerprint": [[16, "module-matminer.featurizers.site.fingerprint"]], "matminer.featurizers.site.misc": [[16, "module-matminer.featurizers.site.misc"]], "matminer.featurizers.site.rdf": [[16, "module-matminer.featurizers.site.rdf"]], "bondingtest (class in matminer.featurizers.site.tests.test_bonding)": [[17, "matminer.featurizers.site.tests.test_bonding.BondingTest"]], "chemicalsitetests (class in matminer.featurizers.site.tests.test_chemical)": [[17, "matminer.featurizers.site.tests.test_chemical.ChemicalSiteTests"]], "externalsitetests (class in matminer.featurizers.site.tests.test_external)": [[17, "matminer.featurizers.site.tests.test_external.ExternalSiteTests"]], "fingerprinttests (class in matminer.featurizers.site.tests.test_fingerprint)": [[17, "matminer.featurizers.site.tests.test_fingerprint.FingerprintTests"]], "miscsitetests (class in matminer.featurizers.site.tests.test_misc)": [[17, "matminer.featurizers.site.tests.test_misc.MiscSiteTests"]], "rdftests (class in matminer.featurizers.site.tests.test_rdf)": [[17, "matminer.featurizers.site.tests.test_rdf.RDFTests"]], "sitefeaturizertest (class in matminer.featurizers.site.tests.base)": [[17, "matminer.featurizers.site.tests.base.SiteFeaturizerTest"]], "matminer.featurizers.site.tests": [[17, "module-matminer.featurizers.site.tests"]], "matminer.featurizers.site.tests.base": [[17, "module-matminer.featurizers.site.tests.base"]], "matminer.featurizers.site.tests.test_bonding": [[17, "module-matminer.featurizers.site.tests.test_bonding"]], "matminer.featurizers.site.tests.test_chemical": [[17, "module-matminer.featurizers.site.tests.test_chemical"]], "matminer.featurizers.site.tests.test_external": [[17, "module-matminer.featurizers.site.tests.test_external"]], "matminer.featurizers.site.tests.test_fingerprint": [[17, "module-matminer.featurizers.site.tests.test_fingerprint"]], "matminer.featurizers.site.tests.test_misc": [[17, "module-matminer.featurizers.site.tests.test_misc"]], "matminer.featurizers.site.tests.test_rdf": [[17, "module-matminer.featurizers.site.tests.test_rdf"]], "setup() (matminer.featurizers.site.tests.base.sitefeaturizertest method)": [[17, "matminer.featurizers.site.tests.base.SiteFeaturizerTest.setUp"]], "teardown() (matminer.featurizers.site.tests.base.sitefeaturizertest method)": [[17, "matminer.featurizers.site.tests.base.SiteFeaturizerTest.tearDown"]], "test_averagebondangle() (matminer.featurizers.site.tests.test_bonding.bondingtest method)": [[17, "matminer.featurizers.site.tests.test_bonding.BondingTest.test_AverageBondAngle"]], "test_averagebondlength() (matminer.featurizers.site.tests.test_bonding.bondingtest method)": [[17, "matminer.featurizers.site.tests.test_bonding.BondingTest.test_AverageBondLength"]], "test_soap() (matminer.featurizers.site.tests.test_external.externalsitetests method)": [[17, "matminer.featurizers.site.tests.test_external.ExternalSiteTests.test_SOAP"]], "test_afs() (matminer.featurizers.site.tests.test_rdf.rdftests method)": [[17, "matminer.featurizers.site.tests.test_rdf.RDFTests.test_afs"]], "test_bop() (matminer.featurizers.site.tests.test_bonding.bondingtest method)": [[17, "matminer.featurizers.site.tests.test_bonding.BondingTest.test_bop"]], "test_chemenv_site_fingerprint() (matminer.featurizers.site.tests.test_fingerprint.fingerprinttests method)": [[17, "matminer.featurizers.site.tests.test_fingerprint.FingerprintTests.test_chemenv_site_fingerprint"]], "test_chemicalsro() (matminer.featurizers.site.tests.test_chemical.chemicalsitetests method)": [[17, "matminer.featurizers.site.tests.test_chemical.ChemicalSiteTests.test_chemicalSRO"]], "test_cns() (matminer.featurizers.site.tests.test_misc.miscsitetests method)": [[17, "matminer.featurizers.site.tests.test_misc.MiscSiteTests.test_cns"]], "test_crystal_nn_fingerprint() (matminer.featurizers.site.tests.test_fingerprint.fingerprinttests method)": [[17, "matminer.featurizers.site.tests.test_fingerprint.FingerprintTests.test_crystal_nn_fingerprint"]], "test_dataframe() (matminer.featurizers.site.tests.test_fingerprint.fingerprinttests method)": [[17, "matminer.featurizers.site.tests.test_fingerprint.FingerprintTests.test_dataframe"]], "test_ewald_site() (matminer.featurizers.site.tests.test_chemical.chemicalsitetests method)": [[17, "matminer.featurizers.site.tests.test_chemical.ChemicalSiteTests.test_ewald_site"]], "test_gaussiansymmfunc() (matminer.featurizers.site.tests.test_rdf.rdftests method)": [[17, "matminer.featurizers.site.tests.test_rdf.RDFTests.test_gaussiansymmfunc"]], "test_grdf() (matminer.featurizers.site.tests.test_rdf.rdftests method)": [[17, "matminer.featurizers.site.tests.test_rdf.RDFTests.test_grdf"]], "test_interstice_distribution_of_crystal() (matminer.featurizers.site.tests.test_misc.miscsitetests method)": [[17, "matminer.featurizers.site.tests.test_misc.MiscSiteTests.test_interstice_distribution_of_crystal"]], "test_interstice_distribution_of_glass() (matminer.featurizers.site.tests.test_misc.miscsitetests method)": [[17, "matminer.featurizers.site.tests.test_misc.MiscSiteTests.test_interstice_distribution_of_glass"]], "test_local_prop_diff() (matminer.featurizers.site.tests.test_chemical.chemicalsitetests method)": [[17, "matminer.featurizers.site.tests.test_chemical.ChemicalSiteTests.test_local_prop_diff"]], "test_off_center_cscl() (matminer.featurizers.site.tests.test_fingerprint.fingerprinttests method)": [[17, "matminer.featurizers.site.tests.test_fingerprint.FingerprintTests.test_off_center_cscl"]], "test_op_site_fingerprint() (matminer.featurizers.site.tests.test_fingerprint.fingerprinttests method)": [[17, "matminer.featurizers.site.tests.test_fingerprint.FingerprintTests.test_op_site_fingerprint"]], "test_simple_cubic() (matminer.featurizers.site.tests.test_fingerprint.fingerprinttests method)": [[17, "matminer.featurizers.site.tests.test_fingerprint.FingerprintTests.test_simple_cubic"]], "test_site_elem_prop() (matminer.featurizers.site.tests.test_chemical.chemicalsitetests method)": [[17, "matminer.featurizers.site.tests.test_chemical.ChemicalSiteTests.test_site_elem_prop"]], "test_voronoifingerprint() (matminer.featurizers.site.tests.test_fingerprint.fingerprinttests method)": [[17, "matminer.featurizers.site.tests.test_fingerprint.FingerprintTests.test_voronoifingerprint"]], "bagofbonds (class in matminer.featurizers.structure.bonding)": [[18, "matminer.featurizers.structure.bonding.BagofBonds"]], "bondfractions (class in matminer.featurizers.structure.bonding)": [[18, "matminer.featurizers.structure.bonding.BondFractions"]], "chemicalordering (class in matminer.featurizers.structure.order)": [[18, "matminer.featurizers.structure.order.ChemicalOrdering"]], "coulombmatrix (class in matminer.featurizers.structure.matrix)": [[18, "matminer.featurizers.structure.matrix.CoulombMatrix"]], "densityfeatures (class in matminer.featurizers.structure.order)": [[18, "matminer.featurizers.structure.order.DensityFeatures"]], "dimensionality (class in matminer.featurizers.structure.symmetry)": [[18, "matminer.featurizers.structure.symmetry.Dimensionality"]], "electronicradialdistributionfunction (class in matminer.featurizers.structure.rdf)": [[18, "matminer.featurizers.structure.rdf.ElectronicRadialDistributionFunction"]], "ewaldenergy (class in matminer.featurizers.structure.misc)": [[18, "matminer.featurizers.structure.misc.EwaldEnergy"]], "globalinstabilityindex (class in matminer.featurizers.structure.bonding)": [[18, "matminer.featurizers.structure.bonding.GlobalInstabilityIndex"]], "globalsymmetryfeatures (class in matminer.featurizers.structure.symmetry)": [[18, "matminer.featurizers.structure.symmetry.GlobalSymmetryFeatures"]], "jarviscfid (class in matminer.featurizers.structure.composite)": [[18, "matminer.featurizers.structure.composite.JarvisCFID"]], "maximumpackingefficiency (class in matminer.featurizers.structure.order)": [[18, "matminer.featurizers.structure.order.MaximumPackingEfficiency"]], "minimumrelativedistances (class in matminer.featurizers.structure.bonding)": [[18, "matminer.featurizers.structure.bonding.MinimumRelativeDistances"]], "orbitalfieldmatrix (class in matminer.featurizers.structure.matrix)": [[18, "matminer.featurizers.structure.matrix.OrbitalFieldMatrix"]], "partialradialdistributionfunction (class in matminer.featurizers.structure.rdf)": [[18, "matminer.featurizers.structure.rdf.PartialRadialDistributionFunction"]], "partialssitestatsfingerprint (class in matminer.featurizers.structure.sites)": [[18, "matminer.featurizers.structure.sites.PartialsSiteStatsFingerprint"]], "radialdistributionfunction (class in matminer.featurizers.structure.rdf)": [[18, "matminer.featurizers.structure.rdf.RadialDistributionFunction"]], "sinecoulombmatrix (class in matminer.featurizers.structure.matrix)": [[18, "matminer.featurizers.structure.matrix.SineCoulombMatrix"]], "sitestatsfingerprint (class in matminer.featurizers.structure.sites)": [[18, "matminer.featurizers.structure.sites.SiteStatsFingerprint"]], "structuralcomplexity (class in matminer.featurizers.structure.order)": [[18, "matminer.featurizers.structure.order.StructuralComplexity"]], "structuralheterogeneity (class in matminer.featurizers.structure.bonding)": [[18, "matminer.featurizers.structure.bonding.StructuralHeterogeneity"]], "structurecomposition (class in matminer.featurizers.structure.misc)": [[18, "matminer.featurizers.structure.misc.StructureComposition"]], "xrdpowderpattern (class in matminer.featurizers.structure.misc)": [[18, "matminer.featurizers.structure.misc.XRDPowderPattern"]], "__init__() (matminer.featurizers.structure.bonding.bagofbonds method)": [[18, "matminer.featurizers.structure.bonding.BagofBonds.__init__"]], "__init__() (matminer.featurizers.structure.bonding.bondfractions method)": [[18, "matminer.featurizers.structure.bonding.BondFractions.__init__"]], "__init__() (matminer.featurizers.structure.bonding.globalinstabilityindex method)": [[18, "matminer.featurizers.structure.bonding.GlobalInstabilityIndex.__init__"]], "__init__() (matminer.featurizers.structure.bonding.minimumrelativedistances method)": [[18, "matminer.featurizers.structure.bonding.MinimumRelativeDistances.__init__"]], "__init__() (matminer.featurizers.structure.bonding.structuralheterogeneity method)": [[18, "matminer.featurizers.structure.bonding.StructuralHeterogeneity.__init__"]], "__init__() (matminer.featurizers.structure.composite.jarviscfid method)": [[18, "matminer.featurizers.structure.composite.JarvisCFID.__init__"]], "__init__() (matminer.featurizers.structure.matrix.coulombmatrix method)": [[18, "matminer.featurizers.structure.matrix.CoulombMatrix.__init__"]], "__init__() (matminer.featurizers.structure.matrix.orbitalfieldmatrix method)": [[18, "matminer.featurizers.structure.matrix.OrbitalFieldMatrix.__init__"]], "__init__() (matminer.featurizers.structure.matrix.sinecoulombmatrix method)": [[18, "matminer.featurizers.structure.matrix.SineCoulombMatrix.__init__"]], "__init__() (matminer.featurizers.structure.misc.ewaldenergy method)": [[18, "matminer.featurizers.structure.misc.EwaldEnergy.__init__"]], "__init__() (matminer.featurizers.structure.misc.structurecomposition method)": [[18, "matminer.featurizers.structure.misc.StructureComposition.__init__"]], "__init__() (matminer.featurizers.structure.misc.xrdpowderpattern method)": [[18, "matminer.featurizers.structure.misc.XRDPowderPattern.__init__"]], "__init__() (matminer.featurizers.structure.order.chemicalordering method)": [[18, "matminer.featurizers.structure.order.ChemicalOrdering.__init__"]], "__init__() (matminer.featurizers.structure.order.densityfeatures method)": [[18, "matminer.featurizers.structure.order.DensityFeatures.__init__"]], "__init__() (matminer.featurizers.structure.order.structuralcomplexity method)": [[18, "matminer.featurizers.structure.order.StructuralComplexity.__init__"]], "__init__() (matminer.featurizers.structure.rdf.electronicradialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.ElectronicRadialDistributionFunction.__init__"]], "__init__() (matminer.featurizers.structure.rdf.partialradialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.PartialRadialDistributionFunction.__init__"]], "__init__() (matminer.featurizers.structure.rdf.radialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.RadialDistributionFunction.__init__"]], "__init__() (matminer.featurizers.structure.sites.partialssitestatsfingerprint method)": [[18, "matminer.featurizers.structure.sites.PartialsSiteStatsFingerprint.__init__"]], "__init__() (matminer.featurizers.structure.sites.sitestatsfingerprint method)": [[18, "matminer.featurizers.structure.sites.SiteStatsFingerprint.__init__"]], "__init__() (matminer.featurizers.structure.symmetry.dimensionality method)": [[18, "matminer.featurizers.structure.symmetry.Dimensionality.__init__"]], "__init__() (matminer.featurizers.structure.symmetry.globalsymmetryfeatures method)": [[18, "matminer.featurizers.structure.symmetry.GlobalSymmetryFeatures.__init__"]], "all_features (matminer.featurizers.structure.symmetry.globalsymmetryfeatures attribute)": [[18, "matminer.featurizers.structure.symmetry.GlobalSymmetryFeatures.all_features"]], "bag() (matminer.featurizers.structure.bonding.bagofbonds method)": [[18, "matminer.featurizers.structure.bonding.BagofBonds.bag"]], "calc_bv_sum() (matminer.featurizers.structure.bonding.globalinstabilityindex method)": [[18, "matminer.featurizers.structure.bonding.GlobalInstabilityIndex.calc_bv_sum"]], "calc_gii_iucr() (matminer.featurizers.structure.bonding.globalinstabilityindex method)": [[18, "matminer.featurizers.structure.bonding.GlobalInstabilityIndex.calc_gii_iucr"]], "calc_gii_pymatgen() (matminer.featurizers.structure.bonding.globalinstabilityindex method)": [[18, "matminer.featurizers.structure.bonding.GlobalInstabilityIndex.calc_gii_pymatgen"]], "citations() (matminer.featurizers.structure.bonding.bagofbonds method)": [[18, "matminer.featurizers.structure.bonding.BagofBonds.citations"]], "citations() (matminer.featurizers.structure.bonding.bondfractions method)": [[18, "matminer.featurizers.structure.bonding.BondFractions.citations"]], "citations() (matminer.featurizers.structure.bonding.globalinstabilityindex method)": [[18, "matminer.featurizers.structure.bonding.GlobalInstabilityIndex.citations"]], "citations() (matminer.featurizers.structure.bonding.minimumrelativedistances method)": [[18, "matminer.featurizers.structure.bonding.MinimumRelativeDistances.citations"]], "citations() (matminer.featurizers.structure.bonding.structuralheterogeneity method)": [[18, "matminer.featurizers.structure.bonding.StructuralHeterogeneity.citations"]], "citations() (matminer.featurizers.structure.composite.jarviscfid method)": [[18, "matminer.featurizers.structure.composite.JarvisCFID.citations"]], "citations() (matminer.featurizers.structure.matrix.coulombmatrix method)": [[18, "matminer.featurizers.structure.matrix.CoulombMatrix.citations"]], "citations() (matminer.featurizers.structure.matrix.orbitalfieldmatrix method)": [[18, "matminer.featurizers.structure.matrix.OrbitalFieldMatrix.citations"]], "citations() (matminer.featurizers.structure.matrix.sinecoulombmatrix method)": [[18, "matminer.featurizers.structure.matrix.SineCoulombMatrix.citations"]], "citations() (matminer.featurizers.structure.misc.ewaldenergy method)": [[18, "matminer.featurizers.structure.misc.EwaldEnergy.citations"]], "citations() (matminer.featurizers.structure.misc.structurecomposition method)": [[18, "matminer.featurizers.structure.misc.StructureComposition.citations"]], "citations() (matminer.featurizers.structure.misc.xrdpowderpattern method)": [[18, "matminer.featurizers.structure.misc.XRDPowderPattern.citations"]], "citations() (matminer.featurizers.structure.order.chemicalordering method)": [[18, "matminer.featurizers.structure.order.ChemicalOrdering.citations"]], "citations() (matminer.featurizers.structure.order.densityfeatures method)": [[18, "matminer.featurizers.structure.order.DensityFeatures.citations"]], "citations() (matminer.featurizers.structure.order.maximumpackingefficiency method)": [[18, "matminer.featurizers.structure.order.MaximumPackingEfficiency.citations"]], "citations() (matminer.featurizers.structure.order.structuralcomplexity method)": [[18, "matminer.featurizers.structure.order.StructuralComplexity.citations"]], "citations() (matminer.featurizers.structure.rdf.electronicradialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.ElectronicRadialDistributionFunction.citations"]], "citations() (matminer.featurizers.structure.rdf.partialradialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.PartialRadialDistributionFunction.citations"]], "citations() (matminer.featurizers.structure.rdf.radialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.RadialDistributionFunction.citations"]], "citations() (matminer.featurizers.structure.sites.sitestatsfingerprint method)": [[18, "matminer.featurizers.structure.sites.SiteStatsFingerprint.citations"]], "citations() (matminer.featurizers.structure.symmetry.dimensionality method)": [[18, "matminer.featurizers.structure.symmetry.Dimensionality.citations"]], "citations() (matminer.featurizers.structure.symmetry.globalsymmetryfeatures method)": [[18, "matminer.featurizers.structure.symmetry.GlobalSymmetryFeatures.citations"]], "compute_bv() (matminer.featurizers.structure.bonding.globalinstabilityindex static method)": [[18, "matminer.featurizers.structure.bonding.GlobalInstabilityIndex.compute_bv"]], "compute_prdf() (matminer.featurizers.structure.rdf.partialradialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.PartialRadialDistributionFunction.compute_prdf"]], "compute_pssf() (matminer.featurizers.structure.sites.partialssitestatsfingerprint method)": [[18, "matminer.featurizers.structure.sites.PartialsSiteStatsFingerprint.compute_pssf"]], "crystal_idx (matminer.featurizers.structure.symmetry.globalsymmetryfeatures attribute)": [[18, "matminer.featurizers.structure.symmetry.GlobalSymmetryFeatures.crystal_idx"]], "enumerate_all_bonds() (matminer.featurizers.structure.bonding.bondfractions method)": [[18, "matminer.featurizers.structure.bonding.BondFractions.enumerate_all_bonds"]], "enumerate_bonds() (matminer.featurizers.structure.bonding.bondfractions method)": [[18, "matminer.featurizers.structure.bonding.BondFractions.enumerate_bonds"]], "feature_labels() (matminer.featurizers.structure.bonding.bagofbonds method)": [[18, "matminer.featurizers.structure.bonding.BagofBonds.feature_labels"]], "feature_labels() (matminer.featurizers.structure.bonding.bondfractions method)": [[18, "matminer.featurizers.structure.bonding.BondFractions.feature_labels"]], "feature_labels() (matminer.featurizers.structure.bonding.globalinstabilityindex method)": [[18, "matminer.featurizers.structure.bonding.GlobalInstabilityIndex.feature_labels"]], "feature_labels() (matminer.featurizers.structure.bonding.minimumrelativedistances method)": [[18, "matminer.featurizers.structure.bonding.MinimumRelativeDistances.feature_labels"]], "feature_labels() (matminer.featurizers.structure.bonding.structuralheterogeneity method)": [[18, "matminer.featurizers.structure.bonding.StructuralHeterogeneity.feature_labels"]], "feature_labels() (matminer.featurizers.structure.composite.jarviscfid method)": [[18, "matminer.featurizers.structure.composite.JarvisCFID.feature_labels"]], "feature_labels() (matminer.featurizers.structure.matrix.coulombmatrix method)": [[18, "matminer.featurizers.structure.matrix.CoulombMatrix.feature_labels"]], "feature_labels() (matminer.featurizers.structure.matrix.orbitalfieldmatrix method)": [[18, "matminer.featurizers.structure.matrix.OrbitalFieldMatrix.feature_labels"]], "feature_labels() (matminer.featurizers.structure.matrix.sinecoulombmatrix method)": [[18, "matminer.featurizers.structure.matrix.SineCoulombMatrix.feature_labels"]], "feature_labels() (matminer.featurizers.structure.misc.ewaldenergy method)": [[18, "matminer.featurizers.structure.misc.EwaldEnergy.feature_labels"]], "feature_labels() (matminer.featurizers.structure.misc.structurecomposition method)": [[18, "matminer.featurizers.structure.misc.StructureComposition.feature_labels"]], "feature_labels() (matminer.featurizers.structure.misc.xrdpowderpattern method)": [[18, "matminer.featurizers.structure.misc.XRDPowderPattern.feature_labels"]], "feature_labels() (matminer.featurizers.structure.order.chemicalordering method)": [[18, "matminer.featurizers.structure.order.ChemicalOrdering.feature_labels"]], "feature_labels() (matminer.featurizers.structure.order.densityfeatures method)": [[18, "matminer.featurizers.structure.order.DensityFeatures.feature_labels"]], "feature_labels() (matminer.featurizers.structure.order.maximumpackingefficiency method)": [[18, "matminer.featurizers.structure.order.MaximumPackingEfficiency.feature_labels"]], "feature_labels() (matminer.featurizers.structure.order.structuralcomplexity method)": [[18, "matminer.featurizers.structure.order.StructuralComplexity.feature_labels"]], "feature_labels() (matminer.featurizers.structure.rdf.electronicradialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.ElectronicRadialDistributionFunction.feature_labels"]], "feature_labels() (matminer.featurizers.structure.rdf.partialradialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.PartialRadialDistributionFunction.feature_labels"]], "feature_labels() (matminer.featurizers.structure.rdf.radialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.RadialDistributionFunction.feature_labels"]], "feature_labels() (matminer.featurizers.structure.sites.partialssitestatsfingerprint method)": [[18, "matminer.featurizers.structure.sites.PartialsSiteStatsFingerprint.feature_labels"]], "feature_labels() (matminer.featurizers.structure.sites.sitestatsfingerprint method)": [[18, "matminer.featurizers.structure.sites.SiteStatsFingerprint.feature_labels"]], "feature_labels() (matminer.featurizers.structure.symmetry.dimensionality method)": [[18, "matminer.featurizers.structure.symmetry.Dimensionality.feature_labels"]], "feature_labels() (matminer.featurizers.structure.symmetry.globalsymmetryfeatures method)": [[18, "matminer.featurizers.structure.symmetry.GlobalSymmetryFeatures.feature_labels"]], "featurize() (matminer.featurizers.structure.bonding.bagofbonds method)": [[18, "matminer.featurizers.structure.bonding.BagofBonds.featurize"]], "featurize() (matminer.featurizers.structure.bonding.bondfractions method)": [[18, "matminer.featurizers.structure.bonding.BondFractions.featurize"]], "featurize() (matminer.featurizers.structure.bonding.globalinstabilityindex method)": [[18, "matminer.featurizers.structure.bonding.GlobalInstabilityIndex.featurize"]], "featurize() (matminer.featurizers.structure.bonding.minimumrelativedistances method)": [[18, "matminer.featurizers.structure.bonding.MinimumRelativeDistances.featurize"]], "featurize() (matminer.featurizers.structure.bonding.structuralheterogeneity method)": [[18, "matminer.featurizers.structure.bonding.StructuralHeterogeneity.featurize"]], "featurize() (matminer.featurizers.structure.composite.jarviscfid method)": [[18, "matminer.featurizers.structure.composite.JarvisCFID.featurize"]], "featurize() (matminer.featurizers.structure.matrix.coulombmatrix method)": [[18, "matminer.featurizers.structure.matrix.CoulombMatrix.featurize"]], "featurize() (matminer.featurizers.structure.matrix.orbitalfieldmatrix method)": [[18, "matminer.featurizers.structure.matrix.OrbitalFieldMatrix.featurize"]], "featurize() (matminer.featurizers.structure.matrix.sinecoulombmatrix method)": [[18, "matminer.featurizers.structure.matrix.SineCoulombMatrix.featurize"]], "featurize() (matminer.featurizers.structure.misc.ewaldenergy method)": [[18, "matminer.featurizers.structure.misc.EwaldEnergy.featurize"]], "featurize() (matminer.featurizers.structure.misc.structurecomposition method)": [[18, "matminer.featurizers.structure.misc.StructureComposition.featurize"]], "featurize() (matminer.featurizers.structure.misc.xrdpowderpattern method)": [[18, "matminer.featurizers.structure.misc.XRDPowderPattern.featurize"]], "featurize() (matminer.featurizers.structure.order.chemicalordering method)": [[18, "matminer.featurizers.structure.order.ChemicalOrdering.featurize"]], "featurize() (matminer.featurizers.structure.order.densityfeatures method)": [[18, "matminer.featurizers.structure.order.DensityFeatures.featurize"]], "featurize() (matminer.featurizers.structure.order.maximumpackingefficiency method)": [[18, "matminer.featurizers.structure.order.MaximumPackingEfficiency.featurize"]], "featurize() (matminer.featurizers.structure.order.structuralcomplexity method)": [[18, "matminer.featurizers.structure.order.StructuralComplexity.featurize"]], "featurize() (matminer.featurizers.structure.rdf.electronicradialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.ElectronicRadialDistributionFunction.featurize"]], "featurize() (matminer.featurizers.structure.rdf.partialradialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.PartialRadialDistributionFunction.featurize"]], "featurize() (matminer.featurizers.structure.rdf.radialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.RadialDistributionFunction.featurize"]], "featurize() (matminer.featurizers.structure.sites.partialssitestatsfingerprint method)": [[18, "matminer.featurizers.structure.sites.PartialsSiteStatsFingerprint.featurize"]], "featurize() (matminer.featurizers.structure.sites.sitestatsfingerprint method)": [[18, "matminer.featurizers.structure.sites.SiteStatsFingerprint.featurize"]], "featurize() (matminer.featurizers.structure.symmetry.dimensionality method)": [[18, "matminer.featurizers.structure.symmetry.Dimensionality.featurize"]], "featurize() (matminer.featurizers.structure.symmetry.globalsymmetryfeatures method)": [[18, "matminer.featurizers.structure.symmetry.GlobalSymmetryFeatures.featurize"]], "fit() (matminer.featurizers.structure.bonding.bagofbonds method)": [[18, "matminer.featurizers.structure.bonding.BagofBonds.fit"]], "fit() (matminer.featurizers.structure.bonding.bondfractions method)": [[18, "matminer.featurizers.structure.bonding.BondFractions.fit"]], "fit() (matminer.featurizers.structure.bonding.minimumrelativedistances method)": [[18, "matminer.featurizers.structure.bonding.MinimumRelativeDistances.fit"]], "fit() (matminer.featurizers.structure.matrix.coulombmatrix method)": [[18, "matminer.featurizers.structure.matrix.CoulombMatrix.fit"]], "fit() (matminer.featurizers.structure.matrix.sinecoulombmatrix method)": [[18, "matminer.featurizers.structure.matrix.SineCoulombMatrix.fit"]], "fit() (matminer.featurizers.structure.misc.structurecomposition method)": [[18, "matminer.featurizers.structure.misc.StructureComposition.fit"]], "fit() (matminer.featurizers.structure.rdf.partialradialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.PartialRadialDistributionFunction.fit"]], "fit() (matminer.featurizers.structure.sites.partialssitestatsfingerprint method)": [[18, "matminer.featurizers.structure.sites.PartialsSiteStatsFingerprint.fit"]], "fit() (matminer.featurizers.structure.sites.sitestatsfingerprint method)": [[18, "matminer.featurizers.structure.sites.SiteStatsFingerprint.fit"]], "from_preset() (matminer.featurizers.structure.bonding.bondfractions static method)": [[18, "matminer.featurizers.structure.bonding.BondFractions.from_preset"]], "from_preset() (matminer.featurizers.structure.sites.sitestatsfingerprint class method)": [[18, "matminer.featurizers.structure.sites.SiteStatsFingerprint.from_preset"]], "get_atom_ofms() (matminer.featurizers.structure.matrix.orbitalfieldmatrix method)": [[18, "matminer.featurizers.structure.matrix.OrbitalFieldMatrix.get_atom_ofms"]], "get_bv_params() (matminer.featurizers.structure.bonding.globalinstabilityindex method)": [[18, "matminer.featurizers.structure.bonding.GlobalInstabilityIndex.get_bv_params"]], "get_chem() (matminer.featurizers.structure.composite.jarviscfid method)": [[18, "matminer.featurizers.structure.composite.JarvisCFID.get_chem"]], "get_chg() (matminer.featurizers.structure.composite.jarviscfid method)": [[18, "matminer.featurizers.structure.composite.JarvisCFID.get_chg"]], "get_distributions() (matminer.featurizers.structure.composite.jarviscfid method)": [[18, "matminer.featurizers.structure.composite.JarvisCFID.get_distributions"]], "get_equiv_sites() (matminer.featurizers.structure.bonding.globalinstabilityindex method)": [[18, "matminer.featurizers.structure.bonding.GlobalInstabilityIndex.get_equiv_sites"]], "get_mean_ofm() (matminer.featurizers.structure.matrix.orbitalfieldmatrix method)": [[18, "matminer.featurizers.structure.matrix.OrbitalFieldMatrix.get_mean_ofm"]], "get_ohv() (matminer.featurizers.structure.matrix.orbitalfieldmatrix method)": [[18, "matminer.featurizers.structure.matrix.OrbitalFieldMatrix.get_ohv"]], "get_rdf_bin_labels() (in module matminer.featurizers.structure.rdf)": [[18, "matminer.featurizers.structure.rdf.get_rdf_bin_labels"]], "get_single_ofm() (matminer.featurizers.structure.matrix.orbitalfieldmatrix method)": [[18, "matminer.featurizers.structure.matrix.OrbitalFieldMatrix.get_single_ofm"]], "get_structure_ofm() (matminer.featurizers.structure.matrix.orbitalfieldmatrix method)": [[18, "matminer.featurizers.structure.matrix.OrbitalFieldMatrix.get_structure_ofm"]], "implementors() (matminer.featurizers.structure.bonding.bagofbonds method)": [[18, "matminer.featurizers.structure.bonding.BagofBonds.implementors"]], "implementors() (matminer.featurizers.structure.bonding.bondfractions method)": [[18, "matminer.featurizers.structure.bonding.BondFractions.implementors"]], "implementors() (matminer.featurizers.structure.bonding.globalinstabilityindex method)": [[18, "matminer.featurizers.structure.bonding.GlobalInstabilityIndex.implementors"]], "implementors() (matminer.featurizers.structure.bonding.minimumrelativedistances method)": [[18, "matminer.featurizers.structure.bonding.MinimumRelativeDistances.implementors"]], "implementors() (matminer.featurizers.structure.bonding.structuralheterogeneity method)": [[18, "matminer.featurizers.structure.bonding.StructuralHeterogeneity.implementors"]], "implementors() (matminer.featurizers.structure.composite.jarviscfid method)": [[18, "matminer.featurizers.structure.composite.JarvisCFID.implementors"]], "implementors() (matminer.featurizers.structure.matrix.coulombmatrix method)": [[18, "matminer.featurizers.structure.matrix.CoulombMatrix.implementors"]], "implementors() (matminer.featurizers.structure.matrix.orbitalfieldmatrix method)": [[18, "matminer.featurizers.structure.matrix.OrbitalFieldMatrix.implementors"]], "implementors() (matminer.featurizers.structure.matrix.sinecoulombmatrix method)": [[18, "matminer.featurizers.structure.matrix.SineCoulombMatrix.implementors"]], "implementors() (matminer.featurizers.structure.misc.ewaldenergy method)": [[18, "matminer.featurizers.structure.misc.EwaldEnergy.implementors"]], "implementors() (matminer.featurizers.structure.misc.structurecomposition method)": [[18, "matminer.featurizers.structure.misc.StructureComposition.implementors"]], "implementors() (matminer.featurizers.structure.misc.xrdpowderpattern method)": [[18, "matminer.featurizers.structure.misc.XRDPowderPattern.implementors"]], "implementors() (matminer.featurizers.structure.order.chemicalordering method)": [[18, "matminer.featurizers.structure.order.ChemicalOrdering.implementors"]], "implementors() (matminer.featurizers.structure.order.densityfeatures method)": [[18, "matminer.featurizers.structure.order.DensityFeatures.implementors"]], "implementors() (matminer.featurizers.structure.order.maximumpackingefficiency method)": [[18, "matminer.featurizers.structure.order.MaximumPackingEfficiency.implementors"]], "implementors() (matminer.featurizers.structure.order.structuralcomplexity method)": [[18, "matminer.featurizers.structure.order.StructuralComplexity.implementors"]], "implementors() (matminer.featurizers.structure.rdf.electronicradialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.ElectronicRadialDistributionFunction.implementors"]], "implementors() (matminer.featurizers.structure.rdf.partialradialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.PartialRadialDistributionFunction.implementors"]], "implementors() (matminer.featurizers.structure.rdf.radialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.RadialDistributionFunction.implementors"]], "implementors() (matminer.featurizers.structure.sites.partialssitestatsfingerprint method)": [[18, "matminer.featurizers.structure.sites.PartialsSiteStatsFingerprint.implementors"]], "implementors() (matminer.featurizers.structure.sites.sitestatsfingerprint method)": [[18, "matminer.featurizers.structure.sites.SiteStatsFingerprint.implementors"]], "implementors() (matminer.featurizers.structure.symmetry.dimensionality method)": [[18, "matminer.featurizers.structure.symmetry.Dimensionality.implementors"]], "implementors() (matminer.featurizers.structure.symmetry.globalsymmetryfeatures method)": [[18, "matminer.featurizers.structure.symmetry.GlobalSymmetryFeatures.implementors"]], "matminer.featurizers.structure": [[18, "module-matminer.featurizers.structure"]], "matminer.featurizers.structure.bonding": [[18, "module-matminer.featurizers.structure.bonding"]], "matminer.featurizers.structure.composite": [[18, "module-matminer.featurizers.structure.composite"]], "matminer.featurizers.structure.matrix": [[18, "module-matminer.featurizers.structure.matrix"]], "matminer.featurizers.structure.misc": [[18, "module-matminer.featurizers.structure.misc"]], "matminer.featurizers.structure.order": [[18, "module-matminer.featurizers.structure.order"]], "matminer.featurizers.structure.rdf": [[18, "module-matminer.featurizers.structure.rdf"]], "matminer.featurizers.structure.sites": [[18, "module-matminer.featurizers.structure.sites"]], "matminer.featurizers.structure.symmetry": [[18, "module-matminer.featurizers.structure.symmetry"]], "precheck() (matminer.featurizers.structure.bonding.globalinstabilityindex method)": [[18, "matminer.featurizers.structure.bonding.GlobalInstabilityIndex.precheck"]], "precheck() (matminer.featurizers.structure.order.densityfeatures method)": [[18, "matminer.featurizers.structure.order.DensityFeatures.precheck"]], "precheck() (matminer.featurizers.structure.rdf.electronicradialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.ElectronicRadialDistributionFunction.precheck"]], "precheck() (matminer.featurizers.structure.rdf.partialradialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.PartialRadialDistributionFunction.precheck"]], "precheck() (matminer.featurizers.structure.rdf.radialdistributionfunction method)": [[18, "matminer.featurizers.structure.rdf.RadialDistributionFunction.precheck"]], "bondingstructuretest (class in matminer.featurizers.structure.tests.test_bonding)": [[19, "matminer.featurizers.structure.tests.test_bonding.BondingStructureTest"]], "compositestructurefeaturestest (class in matminer.featurizers.structure.tests.test_composite)": [[19, "matminer.featurizers.structure.tests.test_composite.CompositeStructureFeaturesTest"]], "matrixstructurefeaturestest (class in matminer.featurizers.structure.tests.test_matrix)": [[19, "matminer.featurizers.structure.tests.test_matrix.MatrixStructureFeaturesTest"]], "miscstructurefeaturestest (class in matminer.featurizers.structure.tests.test_misc)": [[19, "matminer.featurizers.structure.tests.test_misc.MiscStructureFeaturesTest"]], "orderstructurefeaturestest (class in matminer.featurizers.structure.tests.test_order)": [[19, "matminer.featurizers.structure.tests.test_order.OrderStructureFeaturesTest"]], "partialstructuresitesfeaturestest (class in matminer.featurizers.structure.tests.test_sites)": [[19, "matminer.featurizers.structure.tests.test_sites.PartialStructureSitesFeaturesTest"]], "structurefeaturestest (class in matminer.featurizers.structure.tests.base)": [[19, "matminer.featurizers.structure.tests.base.StructureFeaturesTest"]], "structurerdftest (class in matminer.featurizers.structure.tests.test_rdf)": [[19, "matminer.featurizers.structure.tests.test_rdf.StructureRDFTest"]], "structuresitesfeaturestest (class in matminer.featurizers.structure.tests.test_sites)": [[19, "matminer.featurizers.structure.tests.test_sites.StructureSitesFeaturesTest"]], "structuresymmetryfeaturestest (class in matminer.featurizers.structure.tests.test_symmetry)": [[19, "matminer.featurizers.structure.tests.test_symmetry.StructureSymmetryFeaturesTest"]], "matminer.featurizers.structure.tests": [[19, "module-matminer.featurizers.structure.tests"]], "matminer.featurizers.structure.tests.base": [[19, "module-matminer.featurizers.structure.tests.base"]], "matminer.featurizers.structure.tests.test_bonding": [[19, "module-matminer.featurizers.structure.tests.test_bonding"]], "matminer.featurizers.structure.tests.test_composite": [[19, "module-matminer.featurizers.structure.tests.test_composite"]], "matminer.featurizers.structure.tests.test_matrix": [[19, "module-matminer.featurizers.structure.tests.test_matrix"]], "matminer.featurizers.structure.tests.test_misc": [[19, "module-matminer.featurizers.structure.tests.test_misc"]], "matminer.featurizers.structure.tests.test_order": [[19, "module-matminer.featurizers.structure.tests.test_order"]], "matminer.featurizers.structure.tests.test_rdf": [[19, "module-matminer.featurizers.structure.tests.test_rdf"]], "matminer.featurizers.structure.tests.test_sites": [[19, "module-matminer.featurizers.structure.tests.test_sites"]], "matminer.featurizers.structure.tests.test_symmetry": [[19, "module-matminer.featurizers.structure.tests.test_symmetry"]], "setup() (matminer.featurizers.structure.tests.base.structurefeaturestest method)": [[19, "matminer.featurizers.structure.tests.base.StructureFeaturesTest.setUp"]], "test_globalinstabilityindex() (matminer.featurizers.structure.tests.test_bonding.bondingstructuretest method)": [[19, "matminer.featurizers.structure.tests.test_bonding.BondingStructureTest.test_GlobalInstabilityIndex"]], "test_bob() (matminer.featurizers.structure.tests.test_bonding.bondingstructuretest method)": [[19, "matminer.featurizers.structure.tests.test_bonding.BondingStructureTest.test_bob"]], "test_bondfractions() (matminer.featurizers.structure.tests.test_bonding.bondingstructuretest method)": [[19, "matminer.featurizers.structure.tests.test_bonding.BondingStructureTest.test_bondfractions"]], "test_composition_features() (matminer.featurizers.structure.tests.test_misc.miscstructurefeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_misc.MiscStructureFeaturesTest.test_composition_features"]], "test_coulomb_matrix() (matminer.featurizers.structure.tests.test_matrix.matrixstructurefeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_matrix.MatrixStructureFeaturesTest.test_coulomb_matrix"]], "test_density_features() (matminer.featurizers.structure.tests.test_order.orderstructurefeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_order.OrderStructureFeaturesTest.test_density_features"]], "test_dimensionality() (matminer.featurizers.structure.tests.test_symmetry.structuresymmetryfeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_symmetry.StructureSymmetryFeaturesTest.test_dimensionality"]], "test_ewald() (matminer.featurizers.structure.tests.test_misc.miscstructurefeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_misc.MiscStructureFeaturesTest.test_ewald"]], "test_get_rdf_bin_labels() (matminer.featurizers.structure.tests.test_rdf.structurerdftest method)": [[19, "matminer.featurizers.structure.tests.test_rdf.StructureRDFTest.test_get_rdf_bin_labels"]], "test_global_symmetry() (matminer.featurizers.structure.tests.test_symmetry.structuresymmetryfeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_symmetry.StructureSymmetryFeaturesTest.test_global_symmetry"]], "test_jarviscfid() (matminer.featurizers.structure.tests.test_composite.compositestructurefeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_composite.CompositeStructureFeaturesTest.test_jarvisCFID"]], "test_min_relative_distances() (matminer.featurizers.structure.tests.test_bonding.bondingstructuretest method)": [[19, "matminer.featurizers.structure.tests.test_bonding.BondingStructureTest.test_min_relative_distances"]], "test_orbital_field_matrix() (matminer.featurizers.structure.tests.test_matrix.matrixstructurefeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_matrix.MatrixStructureFeaturesTest.test_orbital_field_matrix"]], "test_ordering_param() (matminer.featurizers.structure.tests.test_order.orderstructurefeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_order.OrderStructureFeaturesTest.test_ordering_param"]], "test_packing_efficiency() (matminer.featurizers.structure.tests.test_order.orderstructurefeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_order.OrderStructureFeaturesTest.test_packing_efficiency"]], "test_partialsitestatsfingerprint() (matminer.featurizers.structure.tests.test_sites.partialstructuresitesfeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_sites.PartialStructureSitesFeaturesTest.test_partialsitestatsfingerprint"]], "test_prdf() (matminer.featurizers.structure.tests.test_rdf.structurerdftest method)": [[19, "matminer.featurizers.structure.tests.test_rdf.StructureRDFTest.test_prdf"]], "test_rdf_and_peaks() (matminer.featurizers.structure.tests.test_rdf.structurerdftest method)": [[19, "matminer.featurizers.structure.tests.test_rdf.StructureRDFTest.test_rdf_and_peaks"]], "test_redf() (matminer.featurizers.structure.tests.test_rdf.structurerdftest method)": [[19, "matminer.featurizers.structure.tests.test_rdf.StructureRDFTest.test_redf"]], "test_sine_coulomb_matrix() (matminer.featurizers.structure.tests.test_matrix.matrixstructurefeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_matrix.MatrixStructureFeaturesTest.test_sine_coulomb_matrix"]], "test_sitestatsfingerprint() (matminer.featurizers.structure.tests.test_sites.structuresitesfeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_sites.StructureSitesFeaturesTest.test_sitestatsfingerprint"]], "test_structural_complexity() (matminer.featurizers.structure.tests.test_order.orderstructurefeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_order.OrderStructureFeaturesTest.test_structural_complexity"]], "test_ward_prb_2017_efftcn() (matminer.featurizers.structure.tests.test_sites.partialstructuresitesfeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_sites.PartialStructureSitesFeaturesTest.test_ward_prb_2017_efftcn"]], "test_ward_prb_2017_efftcn() (matminer.featurizers.structure.tests.test_sites.structuresitesfeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_sites.StructureSitesFeaturesTest.test_ward_prb_2017_efftcn"]], "test_ward_prb_2017_lpd() (matminer.featurizers.structure.tests.test_sites.partialstructuresitesfeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_sites.PartialStructureSitesFeaturesTest.test_ward_prb_2017_lpd"]], "test_ward_prb_2017_lpd() (matminer.featurizers.structure.tests.test_sites.structuresitesfeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_sites.StructureSitesFeaturesTest.test_ward_prb_2017_lpd"]], "test_ward_prb_2017_strhet() (matminer.featurizers.structure.tests.test_bonding.bondingstructuretest method)": [[19, "matminer.featurizers.structure.tests.test_bonding.BondingStructureTest.test_ward_prb_2017_strhet"]], "test_xrd_powderpattern() (matminer.featurizers.structure.tests.test_misc.miscstructurefeaturestest method)": [[19, "matminer.featurizers.structure.tests.test_misc.MiscStructureFeaturesTest.test_xrd_powderPattern"]], "bandstructurefeaturestest (class in matminer.featurizers.tests.test_bandstructure)": [[20, "matminer.featurizers.tests.test_bandstructure.BandstructureFeaturesTest"]], "dosfeaturestest (class in matminer.featurizers.tests.test_dos)": [[20, "matminer.featurizers.tests.test_dos.DOSFeaturesTest"]], "fittablefeaturizer (class in matminer.featurizers.tests.test_base)": [[20, "matminer.featurizers.tests.test_base.FittableFeaturizer"]], "matrixfeaturizer (class in matminer.featurizers.tests.test_base)": [[20, "matminer.featurizers.tests.test_base.MatrixFeaturizer"]], "multiargs2 (class in matminer.featurizers.tests.test_base)": [[20, "matminer.featurizers.tests.test_base.MultiArgs2"]], "multitypefeaturizer (class in matminer.featurizers.tests.test_base)": [[20, "matminer.featurizers.tests.test_base.MultiTypeFeaturizer"]], "multiplefeaturefeaturizer (class in matminer.featurizers.tests.test_base)": [[20, "matminer.featurizers.tests.test_base.MultipleFeatureFeaturizer"]], "singlefeaturizer (class in matminer.featurizers.tests.test_base)": [[20, "matminer.featurizers.tests.test_base.SingleFeaturizer"]], "singlefeaturizermultiargs (class in matminer.featurizers.tests.test_base)": [[20, "matminer.featurizers.tests.test_base.SingleFeaturizerMultiArgs"]], "singlefeaturizermultiargswithprecheck (class in matminer.featurizers.tests.test_base)": [[20, "matminer.featurizers.tests.test_base.SingleFeaturizerMultiArgsWithPrecheck"]], "singlefeaturizerwithprecheck (class in matminer.featurizers.tests.test_base)": [[20, "matminer.featurizers.tests.test_base.SingleFeaturizerWithPrecheck"]], "testbaseclass (class in matminer.featurizers.tests.test_base)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass"]], "testconversions (class in matminer.featurizers.tests.test_conversions)": [[20, "matminer.featurizers.tests.test_conversions.TestConversions"]], "testfunctionfeaturizer (class in matminer.featurizers.tests.test_function)": [[20, "matminer.featurizers.tests.test_function.TestFunctionFeaturizer"]], "__init__() (matminer.featurizers.tests.test_base.multiargs2 method)": [[20, "matminer.featurizers.tests.test_base.MultiArgs2.__init__"]], "citations() (matminer.featurizers.tests.test_base.fittablefeaturizer method)": [[20, "matminer.featurizers.tests.test_base.FittableFeaturizer.citations"]], "citations() (matminer.featurizers.tests.test_base.matrixfeaturizer method)": [[20, "matminer.featurizers.tests.test_base.MatrixFeaturizer.citations"]], "citations() (matminer.featurizers.tests.test_base.multiargs2 method)": [[20, "matminer.featurizers.tests.test_base.MultiArgs2.citations"]], "citations() (matminer.featurizers.tests.test_base.multitypefeaturizer method)": [[20, "matminer.featurizers.tests.test_base.MultiTypeFeaturizer.citations"]], "citations() (matminer.featurizers.tests.test_base.multiplefeaturefeaturizer method)": [[20, "matminer.featurizers.tests.test_base.MultipleFeatureFeaturizer.citations"]], "citations() (matminer.featurizers.tests.test_base.singlefeaturizer method)": [[20, "matminer.featurizers.tests.test_base.SingleFeaturizer.citations"]], "feature_labels() (matminer.featurizers.tests.test_base.fittablefeaturizer method)": [[20, "matminer.featurizers.tests.test_base.FittableFeaturizer.feature_labels"]], "feature_labels() (matminer.featurizers.tests.test_base.matrixfeaturizer method)": [[20, "matminer.featurizers.tests.test_base.MatrixFeaturizer.feature_labels"]], "feature_labels() (matminer.featurizers.tests.test_base.multiargs2 method)": [[20, "matminer.featurizers.tests.test_base.MultiArgs2.feature_labels"]], "feature_labels() (matminer.featurizers.tests.test_base.multitypefeaturizer method)": [[20, "matminer.featurizers.tests.test_base.MultiTypeFeaturizer.feature_labels"]], "feature_labels() (matminer.featurizers.tests.test_base.multiplefeaturefeaturizer method)": [[20, "matminer.featurizers.tests.test_base.MultipleFeatureFeaturizer.feature_labels"]], "feature_labels() (matminer.featurizers.tests.test_base.singlefeaturizer method)": [[20, "matminer.featurizers.tests.test_base.SingleFeaturizer.feature_labels"]], "featurize() (matminer.featurizers.tests.test_base.fittablefeaturizer method)": [[20, "matminer.featurizers.tests.test_base.FittableFeaturizer.featurize"]], "featurize() (matminer.featurizers.tests.test_base.matrixfeaturizer method)": [[20, "matminer.featurizers.tests.test_base.MatrixFeaturizer.featurize"]], "featurize() (matminer.featurizers.tests.test_base.multiargs2 method)": [[20, "matminer.featurizers.tests.test_base.MultiArgs2.featurize"]], "featurize() (matminer.featurizers.tests.test_base.multitypefeaturizer method)": [[20, "matminer.featurizers.tests.test_base.MultiTypeFeaturizer.featurize"]], "featurize() (matminer.featurizers.tests.test_base.multiplefeaturefeaturizer method)": [[20, "matminer.featurizers.tests.test_base.MultipleFeatureFeaturizer.featurize"]], "featurize() (matminer.featurizers.tests.test_base.singlefeaturizer method)": [[20, "matminer.featurizers.tests.test_base.SingleFeaturizer.featurize"]], "featurize() (matminer.featurizers.tests.test_base.singlefeaturizermultiargs method)": [[20, "matminer.featurizers.tests.test_base.SingleFeaturizerMultiArgs.featurize"]], "fit() (matminer.featurizers.tests.test_base.fittablefeaturizer method)": [[20, "matminer.featurizers.tests.test_base.FittableFeaturizer.fit"]], "implementors() (matminer.featurizers.tests.test_base.fittablefeaturizer method)": [[20, "matminer.featurizers.tests.test_base.FittableFeaturizer.implementors"]], "implementors() (matminer.featurizers.tests.test_base.matrixfeaturizer method)": [[20, "matminer.featurizers.tests.test_base.MatrixFeaturizer.implementors"]], "implementors() (matminer.featurizers.tests.test_base.multiargs2 method)": [[20, "matminer.featurizers.tests.test_base.MultiArgs2.implementors"]], "implementors() (matminer.featurizers.tests.test_base.multitypefeaturizer method)": [[20, "matminer.featurizers.tests.test_base.MultiTypeFeaturizer.implementors"]], "implementors() (matminer.featurizers.tests.test_base.multiplefeaturefeaturizer method)": [[20, "matminer.featurizers.tests.test_base.MultipleFeatureFeaturizer.implementors"]], "implementors() (matminer.featurizers.tests.test_base.singlefeaturizer method)": [[20, "matminer.featurizers.tests.test_base.SingleFeaturizer.implementors"]], "make_test_data() (matminer.featurizers.tests.test_base.testbaseclass static method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.make_test_data"]], "matminer.featurizers.tests": [[20, "module-matminer.featurizers.tests"]], "matminer.featurizers.tests.test_bandstructure": [[20, "module-matminer.featurizers.tests.test_bandstructure"]], "matminer.featurizers.tests.test_base": [[20, "module-matminer.featurizers.tests.test_base"]], "matminer.featurizers.tests.test_conversions": [[20, "module-matminer.featurizers.tests.test_conversions"]], "matminer.featurizers.tests.test_dos": [[20, "module-matminer.featurizers.tests.test_dos"]], "matminer.featurizers.tests.test_function": [[20, "module-matminer.featurizers.tests.test_function"]], "precheck() (matminer.featurizers.tests.test_base.singlefeaturizermultiargswithprecheck method)": [[20, "matminer.featurizers.tests.test_base.SingleFeaturizerMultiArgsWithPrecheck.precheck"]], "precheck() (matminer.featurizers.tests.test_base.singlefeaturizerwithprecheck method)": [[20, "matminer.featurizers.tests.test_base.SingleFeaturizerWithPrecheck.precheck"]], "setup() (matminer.featurizers.tests.test_bandstructure.bandstructurefeaturestest method)": [[20, "matminer.featurizers.tests.test_bandstructure.BandstructureFeaturesTest.setUp"]], "setup() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.setUp"]], "setup() (matminer.featurizers.tests.test_dos.dosfeaturestest method)": [[20, "matminer.featurizers.tests.test_dos.DOSFeaturesTest.setUp"]], "setup() (matminer.featurizers.tests.test_function.testfunctionfeaturizer method)": [[20, "matminer.featurizers.tests.test_function.TestFunctionFeaturizer.setUp"]], "test_bandfeaturizer() (matminer.featurizers.tests.test_bandstructure.bandstructurefeaturestest method)": [[20, "matminer.featurizers.tests.test_bandstructure.BandstructureFeaturesTest.test_BandFeaturizer"]], "test_branchpointenergy() (matminer.featurizers.tests.test_bandstructure.bandstructurefeaturestest method)": [[20, "matminer.featurizers.tests.test_bandstructure.BandstructureFeaturesTest.test_BranchPointEnergy"]], "test_dosfeaturizer() (matminer.featurizers.tests.test_dos.dosfeaturestest method)": [[20, "matminer.featurizers.tests.test_dos.DOSFeaturesTest.test_DOSFeaturizer"]], "test_dopingfermi() (matminer.featurizers.tests.test_dos.dosfeaturestest method)": [[20, "matminer.featurizers.tests.test_dos.DOSFeaturesTest.test_DopingFermi"]], "test_dosasymmetry() (matminer.featurizers.tests.test_dos.dosfeaturestest method)": [[20, "matminer.featurizers.tests.test_dos.DOSFeaturesTest.test_DosAsymmetry"]], "test_hybridization() (matminer.featurizers.tests.test_dos.dosfeaturestest method)": [[20, "matminer.featurizers.tests.test_dos.DOSFeaturesTest.test_Hybridization"]], "test_sitedos() (matminer.featurizers.tests.test_dos.dosfeaturestest method)": [[20, "matminer.featurizers.tests.test_dos.DOSFeaturesTest.test_SiteDOS"]], "test_ase_conversion() (matminer.featurizers.tests.test_conversions.testconversions method)": [[20, "matminer.featurizers.tests.test_conversions.TestConversions.test_ase_conversion"]], "test_caching() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.test_caching"]], "test_composition_to_oxidcomposition() (matminer.featurizers.tests.test_conversions.testconversions method)": [[20, "matminer.featurizers.tests.test_conversions.TestConversions.test_composition_to_oxidcomposition"]], "test_composition_to_structurefrommp() (matminer.featurizers.tests.test_conversions.testconversions method)": [[20, "matminer.featurizers.tests.test_conversions.TestConversions.test_composition_to_structurefromMP"]], "test_conversion_multiindex() (matminer.featurizers.tests.test_conversions.testconversions method)": [[20, "matminer.featurizers.tests.test_conversions.TestConversions.test_conversion_multiindex"]], "test_conversion_multiindex_dynamic() (matminer.featurizers.tests.test_conversions.testconversions method)": [[20, "matminer.featurizers.tests.test_conversions.TestConversions.test_conversion_multiindex_dynamic"]], "test_conversion_overwrite() (matminer.featurizers.tests.test_conversions.testconversions method)": [[20, "matminer.featurizers.tests.test_conversions.TestConversions.test_conversion_overwrite"]], "test_dataframe() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.test_dataframe"]], "test_dict_to_object() (matminer.featurizers.tests.test_conversions.testconversions method)": [[20, "matminer.featurizers.tests.test_conversions.TestConversions.test_dict_to_object"]], "test_featurize() (matminer.featurizers.tests.test_function.testfunctionfeaturizer method)": [[20, "matminer.featurizers.tests.test_function.TestFunctionFeaturizer.test_featurize"]], "test_featurize_labels() (matminer.featurizers.tests.test_function.testfunctionfeaturizer method)": [[20, "matminer.featurizers.tests.test_function.TestFunctionFeaturizer.test_featurize_labels"]], "test_featurize_many() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.test_featurize_many"]], "test_fittable() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.test_fittable"]], "test_helper_functions() (matminer.featurizers.tests.test_function.testfunctionfeaturizer method)": [[20, "matminer.featurizers.tests.test_function.TestFunctionFeaturizer.test_helper_functions"]], "test_ignore_errors() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.test_ignore_errors"]], "test_indices() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.test_indices"]], "test_inplace() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.test_inplace"]], "test_json_to_object() (matminer.featurizers.tests.test_conversions.testconversions method)": [[20, "matminer.featurizers.tests.test_conversions.TestConversions.test_json_to_object"]], "test_matrix() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.test_matrix"]], "test_multi_featurizer() (matminer.featurizers.tests.test_function.testfunctionfeaturizer method)": [[20, "matminer.featurizers.tests.test_function.TestFunctionFeaturizer.test_multi_featurizer"]], "test_multifeature_no_zero_index() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.test_multifeature_no_zero_index"]], "test_multifeatures_multiargs() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.test_multifeatures_multiargs"]], "test_multiindex_in_multifeaturizer() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.test_multiindex_in_multifeaturizer"]], "test_multiindex_inplace() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.test_multiindex_inplace"]], "test_multiindex_return() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.test_multiindex_return"]], "test_multiple() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.test_multiple"]], "test_multiprocessing_df() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.test_multiprocessing_df"]], "test_multitype_multifeat() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.test_multitype_multifeat"]], "test_precheck() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.test_precheck"]], "test_pymatgen_general_converter() (matminer.featurizers.tests.test_conversions.testconversions method)": [[20, "matminer.featurizers.tests.test_conversions.TestConversions.test_pymatgen_general_converter"]], "test_stacked_featurizer() (matminer.featurizers.tests.test_base.testbaseclass method)": [[20, "matminer.featurizers.tests.test_base.TestBaseClass.test_stacked_featurizer"]], "test_str_to_composition() (matminer.featurizers.tests.test_conversions.testconversions method)": [[20, "matminer.featurizers.tests.test_conversions.TestConversions.test_str_to_composition"]], "test_structure_to_composition() (matminer.featurizers.tests.test_conversions.testconversions method)": [[20, "matminer.featurizers.tests.test_conversions.TestConversions.test_structure_to_composition"]], "test_structure_to_oxidstructure() (matminer.featurizers.tests.test_conversions.testconversions method)": [[20, "matminer.featurizers.tests.test_conversions.TestConversions.test_structure_to_oxidstructure"]], "test_to_istructure() (matminer.featurizers.tests.test_conversions.testconversions method)": [[20, "matminer.featurizers.tests.test_conversions.TestConversions.test_to_istructure"]], "abstractpairwise (class in matminer.featurizers.utils.grdf)": [[21, "matminer.featurizers.utils.grdf.AbstractPairwise"]], "bessel (class in matminer.featurizers.utils.grdf)": [[21, "matminer.featurizers.utils.grdf.Bessel"]], "cosine (class in matminer.featurizers.utils.grdf)": [[21, "matminer.featurizers.utils.grdf.Cosine"]], "gaussian (class in matminer.featurizers.utils.grdf)": [[21, "matminer.featurizers.utils.grdf.Gaussian"]], "histogram (class in matminer.featurizers.utils.grdf)": [[21, "matminer.featurizers.utils.grdf.Histogram"]], "propertystats (class in matminer.featurizers.utils.stats)": [[21, "matminer.featurizers.utils.stats.PropertyStats"]], "sine (class in matminer.featurizers.utils.grdf)": [[21, "matminer.featurizers.utils.grdf.Sine"]], "__init__() (matminer.featurizers.utils.grdf.bessel method)": [[21, "matminer.featurizers.utils.grdf.Bessel.__init__"]], "__init__() (matminer.featurizers.utils.grdf.cosine method)": [[21, "matminer.featurizers.utils.grdf.Cosine.__init__"]], "__init__() (matminer.featurizers.utils.grdf.gaussian method)": [[21, "matminer.featurizers.utils.grdf.Gaussian.__init__"]], "__init__() (matminer.featurizers.utils.grdf.histogram method)": [[21, "matminer.featurizers.utils.grdf.Histogram.__init__"]], "__init__() (matminer.featurizers.utils.grdf.sine method)": [[21, "matminer.featurizers.utils.grdf.Sine.__init__"]], "avg_dev() (matminer.featurizers.utils.stats.propertystats static method)": [[21, "matminer.featurizers.utils.stats.PropertyStats.avg_dev"]], "calc_stat() (matminer.featurizers.utils.stats.propertystats static method)": [[21, "matminer.featurizers.utils.stats.PropertyStats.calc_stat"]], "eigenvalues() (matminer.featurizers.utils.stats.propertystats static method)": [[21, "matminer.featurizers.utils.stats.PropertyStats.eigenvalues"]], "flatten() (matminer.featurizers.utils.stats.propertystats static method)": [[21, "matminer.featurizers.utils.stats.PropertyStats.flatten"]], "geom_std_dev() (matminer.featurizers.utils.stats.propertystats static method)": [[21, "matminer.featurizers.utils.stats.PropertyStats.geom_std_dev"]], "has_oxidation_states() (in module matminer.featurizers.utils.oxidation)": [[21, "matminer.featurizers.utils.oxidation.has_oxidation_states"]], "holder_mean() (matminer.featurizers.utils.stats.propertystats static method)": [[21, "matminer.featurizers.utils.stats.PropertyStats.holder_mean"]], "initialize_pairwise_function() (in module matminer.featurizers.utils.grdf)": [[21, "matminer.featurizers.utils.grdf.initialize_pairwise_function"]], "inverse_mean() (matminer.featurizers.utils.stats.propertystats static method)": [[21, "matminer.featurizers.utils.stats.PropertyStats.inverse_mean"]], "kurtosis() (matminer.featurizers.utils.stats.propertystats static method)": [[21, "matminer.featurizers.utils.stats.PropertyStats.kurtosis"]], "matminer.featurizers.utils": [[21, "module-matminer.featurizers.utils"]], "matminer.featurizers.utils.grdf": [[21, "module-matminer.featurizers.utils.grdf"]], "matminer.featurizers.utils.oxidation": [[21, "module-matminer.featurizers.utils.oxidation"]], "matminer.featurizers.utils.stats": [[21, "module-matminer.featurizers.utils.stats"]], "maximum() (matminer.featurizers.utils.stats.propertystats static method)": [[21, "matminer.featurizers.utils.stats.PropertyStats.maximum"]], "mean() (matminer.featurizers.utils.stats.propertystats static method)": [[21, "matminer.featurizers.utils.stats.PropertyStats.mean"]], "minimum() (matminer.featurizers.utils.stats.propertystats static method)": [[21, "matminer.featurizers.utils.stats.PropertyStats.minimum"]], "mode() (matminer.featurizers.utils.stats.propertystats static method)": [[21, "matminer.featurizers.utils.stats.PropertyStats.mode"]], "name() (matminer.featurizers.utils.grdf.abstractpairwise method)": [[21, "matminer.featurizers.utils.grdf.AbstractPairwise.name"]], "quantile() (matminer.featurizers.utils.stats.propertystats static method)": [[21, "matminer.featurizers.utils.stats.PropertyStats.quantile"]], "range() (matminer.featurizers.utils.stats.propertystats static method)": [[21, "matminer.featurizers.utils.stats.PropertyStats.range"]], "skewness() (matminer.featurizers.utils.stats.propertystats static method)": [[21, "matminer.featurizers.utils.stats.PropertyStats.skewness"]], "sorted() (matminer.featurizers.utils.stats.propertystats static method)": [[21, "matminer.featurizers.utils.stats.PropertyStats.sorted"]], "std_dev() (matminer.featurizers.utils.stats.propertystats static method)": [[21, "matminer.featurizers.utils.stats.PropertyStats.std_dev"]], "volume() (matminer.featurizers.utils.grdf.abstractpairwise method)": [[21, "matminer.featurizers.utils.grdf.AbstractPairwise.volume"]], "volume() (matminer.featurizers.utils.grdf.cosine method)": [[21, "matminer.featurizers.utils.grdf.Cosine.volume"]], "volume() (matminer.featurizers.utils.grdf.gaussian method)": [[21, "matminer.featurizers.utils.grdf.Gaussian.volume"]], "volume() (matminer.featurizers.utils.grdf.histogram method)": [[21, "matminer.featurizers.utils.grdf.Histogram.volume"]], "volume() (matminer.featurizers.utils.grdf.sine method)": [[21, "matminer.featurizers.utils.grdf.Sine.volume"]], "grdftests (class in matminer.featurizers.utils.tests.test_grdf)": [[22, "matminer.featurizers.utils.tests.test_grdf.GRDFTests"]], "oxidationtest (class in matminer.featurizers.utils.tests.test_oxidation)": [[22, "matminer.featurizers.utils.tests.test_oxidation.OxidationTest"]], "testpropertystats (class in matminer.featurizers.utils.tests.test_stats)": [[22, "matminer.featurizers.utils.tests.test_stats.TestPropertyStats"]], "matminer.featurizers.utils.tests": [[22, "module-matminer.featurizers.utils.tests"]], "matminer.featurizers.utils.tests.test_grdf": [[22, "module-matminer.featurizers.utils.tests.test_grdf"]], "matminer.featurizers.utils.tests.test_oxidation": [[22, "module-matminer.featurizers.utils.tests.test_oxidation"]], "matminer.featurizers.utils.tests.test_stats": [[22, "module-matminer.featurizers.utils.tests.test_stats"]], "setup() (matminer.featurizers.utils.tests.test_stats.testpropertystats method)": [[22, "matminer.featurizers.utils.tests.test_stats.TestPropertyStats.setUp"]], "test_avg_dev() (matminer.featurizers.utils.tests.test_stats.testpropertystats method)": [[22, "matminer.featurizers.utils.tests.test_stats.TestPropertyStats.test_avg_dev"]], "test_bessel() (matminer.featurizers.utils.tests.test_grdf.grdftests method)": [[22, "matminer.featurizers.utils.tests.test_grdf.GRDFTests.test_bessel"]], "test_cosine() (matminer.featurizers.utils.tests.test_grdf.grdftests method)": [[22, "matminer.featurizers.utils.tests.test_grdf.GRDFTests.test_cosine"]], "test_gaussian() (matminer.featurizers.utils.tests.test_grdf.grdftests method)": [[22, "matminer.featurizers.utils.tests.test_grdf.GRDFTests.test_gaussian"]], "test_geom_std_dev() (matminer.featurizers.utils.tests.test_stats.testpropertystats method)": [[22, "matminer.featurizers.utils.tests.test_stats.TestPropertyStats.test_geom_std_dev"]], "test_has_oxidation_states() (matminer.featurizers.utils.tests.test_oxidation.oxidationtest method)": [[22, "matminer.featurizers.utils.tests.test_oxidation.OxidationTest.test_has_oxidation_states"]], "test_histogram() (matminer.featurizers.utils.tests.test_grdf.grdftests method)": [[22, "matminer.featurizers.utils.tests.test_grdf.GRDFTests.test_histogram"]], "test_holder_mean() (matminer.featurizers.utils.tests.test_stats.testpropertystats method)": [[22, "matminer.featurizers.utils.tests.test_stats.TestPropertyStats.test_holder_mean"]], "test_kurtosis() (matminer.featurizers.utils.tests.test_stats.testpropertystats method)": [[22, "matminer.featurizers.utils.tests.test_stats.TestPropertyStats.test_kurtosis"]], "test_load_class() (matminer.featurizers.utils.tests.test_grdf.grdftests method)": [[22, "matminer.featurizers.utils.tests.test_grdf.GRDFTests.test_load_class"]], "test_maximum() (matminer.featurizers.utils.tests.test_stats.testpropertystats method)": [[22, "matminer.featurizers.utils.tests.test_stats.TestPropertyStats.test_maximum"]], "test_mean() (matminer.featurizers.utils.tests.test_stats.testpropertystats method)": [[22, "matminer.featurizers.utils.tests.test_stats.TestPropertyStats.test_mean"]], "test_minimum() (matminer.featurizers.utils.tests.test_stats.testpropertystats method)": [[22, "matminer.featurizers.utils.tests.test_stats.TestPropertyStats.test_minimum"]], "test_mode() (matminer.featurizers.utils.tests.test_stats.testpropertystats method)": [[22, "matminer.featurizers.utils.tests.test_stats.TestPropertyStats.test_mode"]], "test_quantile() (matminer.featurizers.utils.tests.test_stats.testpropertystats method)": [[22, "matminer.featurizers.utils.tests.test_stats.TestPropertyStats.test_quantile"]], "test_range() (matminer.featurizers.utils.tests.test_stats.testpropertystats method)": [[22, "matminer.featurizers.utils.tests.test_stats.TestPropertyStats.test_range"]], "test_sin() (matminer.featurizers.utils.tests.test_grdf.grdftests method)": [[22, "matminer.featurizers.utils.tests.test_grdf.GRDFTests.test_sin"]], "test_skewness() (matminer.featurizers.utils.tests.test_stats.testpropertystats method)": [[22, "matminer.featurizers.utils.tests.test_stats.TestPropertyStats.test_skewness"]], "test_std_dev() (matminer.featurizers.utils.tests.test_stats.testpropertystats method)": [[22, "matminer.featurizers.utils.tests.test_stats.TestPropertyStats.test_std_dev"]], "abstractdata (class in matminer.utils.data)": [[25, "matminer.utils.data.AbstractData"]], "cohesiveenergydata (class in matminer.utils.data)": [[25, "matminer.utils.data.CohesiveEnergyData"]], "demldata (class in matminer.utils.data)": [[25, "matminer.utils.data.DemlData"]], "dropexcluded (class in matminer.utils.pipeline)": [[25, "matminer.utils.pipeline.DropExcluded"]], "iucrbondvalencedata (class in matminer.utils.data)": [[25, "matminer.utils.data.IUCrBondValenceData"]], "itemselector (class in matminer.utils.pipeline)": [[25, "matminer.utils.pipeline.ItemSelector"]], "megnetelementdata (class in matminer.utils.data)": [[25, "matminer.utils.data.MEGNetElementData"]], "magpiedata (class in matminer.utils.data)": [[25, "matminer.utils.data.MagpieData"]], "matscholarelementdata (class in matminer.utils.data)": [[25, "matminer.utils.data.MatscholarElementData"]], "mixingenthalpy (class in matminer.utils.data)": [[25, "matminer.utils.data.MixingEnthalpy"]], "oxidationstatedependentdata (class in matminer.utils.data)": [[25, "matminer.utils.data.OxidationStateDependentData"]], "oxidationstatesmixin (class in matminer.utils.data)": [[25, "matminer.utils.data.OxidationStatesMixin"]], "pymatgendata (class in matminer.utils.data)": [[25, "matminer.utils.data.PymatgenData"]], "__init__() (matminer.utils.data.cohesiveenergydata method)": [[25, "matminer.utils.data.CohesiveEnergyData.__init__"]], "__init__() (matminer.utils.data.demldata method)": [[25, "matminer.utils.data.DemlData.__init__"]], "__init__() (matminer.utils.data.iucrbondvalencedata method)": [[25, "matminer.utils.data.IUCrBondValenceData.__init__"]], "__init__() (matminer.utils.data.megnetelementdata method)": [[25, "matminer.utils.data.MEGNetElementData.__init__"]], "__init__() (matminer.utils.data.magpiedata method)": [[25, "matminer.utils.data.MagpieData.__init__"]], "__init__() (matminer.utils.data.matscholarelementdata method)": [[25, "matminer.utils.data.MatscholarElementData.__init__"]], "__init__() (matminer.utils.data.mixingenthalpy method)": [[25, "matminer.utils.data.MixingEnthalpy.__init__"]], "__init__() (matminer.utils.data.pymatgendata method)": [[25, "matminer.utils.data.PymatgenData.__init__"]], "__init__() (matminer.utils.pipeline.dropexcluded method)": [[25, "matminer.utils.pipeline.DropExcluded.__init__"]], "__init__() (matminer.utils.pipeline.itemselector method)": [[25, "matminer.utils.pipeline.ItemSelector.__init__"]], "fit() (matminer.utils.pipeline.dropexcluded method)": [[25, "matminer.utils.pipeline.DropExcluded.fit"]], "fit() (matminer.utils.pipeline.itemselector method)": [[25, "matminer.utils.pipeline.ItemSelector.fit"]], "flatten_dict() (in module matminer.utils.flatten_dict)": [[25, "matminer.utils.flatten_dict.flatten_dict"]], "gaussian_kernel() (in module matminer.utils.kernels)": [[25, "matminer.utils.kernels.gaussian_kernel"]], "get_all_nearest_neighbors() (in module matminer.utils.caching)": [[25, "matminer.utils.caching.get_all_nearest_neighbors"]], "get_bv_params() (matminer.utils.data.iucrbondvalencedata method)": [[25, "matminer.utils.data.IUCrBondValenceData.get_bv_params"]], "get_charge_dependent_property() (matminer.utils.data.demldata method)": [[25, "matminer.utils.data.DemlData.get_charge_dependent_property"]], "get_charge_dependent_property() (matminer.utils.data.oxidationstatedependentdata method)": [[25, "matminer.utils.data.OxidationStateDependentData.get_charge_dependent_property"]], "get_charge_dependent_property() (matminer.utils.data.pymatgendata method)": [[25, "matminer.utils.data.PymatgenData.get_charge_dependent_property"]], "get_charge_dependent_property_from_specie() (matminer.utils.data.oxidationstatedependentdata method)": [[25, "matminer.utils.data.OxidationStateDependentData.get_charge_dependent_property_from_specie"]], "get_elemental_properties() (matminer.utils.data.abstractdata method)": [[25, "matminer.utils.data.AbstractData.get_elemental_properties"]], "get_elemental_property() (matminer.utils.data.abstractdata method)": [[25, "matminer.utils.data.AbstractData.get_elemental_property"]], "get_elemental_property() (matminer.utils.data.cohesiveenergydata method)": [[25, "matminer.utils.data.CohesiveEnergyData.get_elemental_property"]], "get_elemental_property() (matminer.utils.data.demldata method)": [[25, "matminer.utils.data.DemlData.get_elemental_property"]], "get_elemental_property() (matminer.utils.data.megnetelementdata method)": [[25, "matminer.utils.data.MEGNetElementData.get_elemental_property"]], "get_elemental_property() (matminer.utils.data.magpiedata method)": [[25, "matminer.utils.data.MagpieData.get_elemental_property"]], "get_elemental_property() (matminer.utils.data.matscholarelementdata method)": [[25, "matminer.utils.data.MatscholarElementData.get_elemental_property"]], "get_elemental_property() (matminer.utils.data.pymatgendata method)": [[25, "matminer.utils.data.PymatgenData.get_elemental_property"]], "get_mixing_enthalpy() (matminer.utils.data.mixingenthalpy method)": [[25, "matminer.utils.data.MixingEnthalpy.get_mixing_enthalpy"]], "get_nearest_neighbors() (in module matminer.utils.caching)": [[25, "matminer.utils.caching.get_nearest_neighbors"]], "get_oxidation_states() (matminer.utils.data.demldata method)": [[25, "matminer.utils.data.DemlData.get_oxidation_states"]], "get_oxidation_states() (matminer.utils.data.magpiedata method)": [[25, "matminer.utils.data.MagpieData.get_oxidation_states"]], "get_oxidation_states() (matminer.utils.data.oxidationstatesmixin method)": [[25, "matminer.utils.data.OxidationStatesMixin.get_oxidation_states"]], "get_oxidation_states() (matminer.utils.data.pymatgendata method)": [[25, "matminer.utils.data.PymatgenData.get_oxidation_states"]], "homogenize_multiindex() (in module matminer.utils.utils)": [[25, "matminer.utils.utils.homogenize_multiindex"]], "interpolate_soft_anions() (matminer.utils.data.iucrbondvalencedata method)": [[25, "matminer.utils.data.IUCrBondValenceData.interpolate_soft_anions"]], "laplacian_kernel() (in module matminer.utils.kernels)": [[25, "matminer.utils.kernels.laplacian_kernel"]], "load_dataframe_from_json() (in module matminer.utils.io)": [[25, "matminer.utils.io.load_dataframe_from_json"]], "matminer.utils": [[25, "module-matminer.utils"]], "matminer.utils.caching": [[25, "module-matminer.utils.caching"]], "matminer.utils.data": [[25, "module-matminer.utils.data"]], "matminer.utils.flatten_dict": [[25, "module-matminer.utils.flatten_dict"]], "matminer.utils.io": [[25, "module-matminer.utils.io"]], "matminer.utils.kernels": [[25, "module-matminer.utils.kernels"]], "matminer.utils.pipeline": [[25, "module-matminer.utils.pipeline"]], "matminer.utils.utils": [[25, "module-matminer.utils.utils"]], "store_dataframe_as_json() (in module matminer.utils.io)": [[25, "matminer.utils.io.store_dataframe_as_json"]], "transform() (matminer.utils.pipeline.dropexcluded method)": [[25, "matminer.utils.pipeline.DropExcluded.transform"]], "transform() (matminer.utils.pipeline.itemselector method)": [[25, "matminer.utils.pipeline.ItemSelector.transform"]], "matminer.utils.data_files": [[26, "module-matminer.utils.data_files"]], "matminer.utils.data_files.deml_elementdata": [[26, "module-matminer.utils.data_files.deml_elementdata"]], "flattendicttest (class in matminer.utils.tests.test_flatten_dict)": [[27, "matminer.utils.tests.test_flatten_dict.FlattenDictTest"]], "iotest (class in matminer.utils.tests.test_io)": [[27, "matminer.utils.tests.test_io.IOTest"]], "testcaching (class in matminer.utils.tests.test_caching)": [[27, "matminer.utils.tests.test_caching.TestCaching"]], "testdemldata (class in matminer.utils.tests.test_data)": [[27, "matminer.utils.tests.test_data.TestDemlData"]], "testiucrbondvalencedata (class in matminer.utils.tests.test_data)": [[27, "matminer.utils.tests.test_data.TestIUCrBondValenceData"]], "testmegnetdata (class in matminer.utils.tests.test_data)": [[27, "matminer.utils.tests.test_data.TestMEGNetData"]], "testmagpiedata (class in matminer.utils.tests.test_data)": [[27, "matminer.utils.tests.test_data.TestMagpieData"]], "testmatscholardata (class in matminer.utils.tests.test_data)": [[27, "matminer.utils.tests.test_data.TestMatScholarData"]], "testmixingenthalpy (class in matminer.utils.tests.test_data)": [[27, "matminer.utils.tests.test_data.TestMixingEnthalpy"]], "testpymatgendata (class in matminer.utils.tests.test_data)": [[27, "matminer.utils.tests.test_data.TestPymatgenData"]], "generate_json_files() (in module matminer.utils.tests.test_io)": [[27, "matminer.utils.tests.test_io.generate_json_files"]], "matminer.utils.tests": [[27, "module-matminer.utils.tests"]], "matminer.utils.tests.test_caching": [[27, "module-matminer.utils.tests.test_caching"]], "matminer.utils.tests.test_data": [[27, "module-matminer.utils.tests.test_data"]], "matminer.utils.tests.test_flatten_dict": [[27, "module-matminer.utils.tests.test_flatten_dict"]], "matminer.utils.tests.test_io": [[27, "module-matminer.utils.tests.test_io"]], "setup() (matminer.utils.tests.test_data.testdemldata method)": [[27, "matminer.utils.tests.test_data.TestDemlData.setUp"]], "setup() (matminer.utils.tests.test_data.testiucrbondvalencedata method)": [[27, "matminer.utils.tests.test_data.TestIUCrBondValenceData.setUp"]], "setup() (matminer.utils.tests.test_data.testmegnetdata method)": [[27, "matminer.utils.tests.test_data.TestMEGNetData.setUp"]], "setup() (matminer.utils.tests.test_data.testmagpiedata method)": [[27, "matminer.utils.tests.test_data.TestMagpieData.setUp"]], "setup() (matminer.utils.tests.test_data.testmatscholardata method)": [[27, "matminer.utils.tests.test_data.TestMatScholarData.setUp"]], "setup() (matminer.utils.tests.test_data.testmixingenthalpy method)": [[27, "matminer.utils.tests.test_data.TestMixingEnthalpy.setUp"]], "setup() (matminer.utils.tests.test_data.testpymatgendata method)": [[27, "matminer.utils.tests.test_data.TestPymatgenData.setUp"]], "setup() (matminer.utils.tests.test_io.iotest method)": [[27, "matminer.utils.tests.test_io.IOTest.setUp"]], "teardown() (matminer.utils.tests.test_io.iotest method)": [[27, "matminer.utils.tests.test_io.IOTest.tearDown"]], "test_cache() (matminer.utils.tests.test_caching.testcaching method)": [[27, "matminer.utils.tests.test_caching.TestCaching.test_cache"]], "test_flatten_nested_dict() (matminer.utils.tests.test_flatten_dict.flattendicttest method)": [[27, "matminer.utils.tests.test_flatten_dict.FlattenDictTest.test_flatten_nested_dict"]], "test_get_data() (matminer.utils.tests.test_data.testiucrbondvalencedata method)": [[27, "matminer.utils.tests.test_data.TestIUCrBondValenceData.test_get_data"]], "test_get_data() (matminer.utils.tests.test_data.testmixingenthalpy method)": [[27, "matminer.utils.tests.test_data.TestMixingEnthalpy.test_get_data"]], "test_get_oxidation() (matminer.utils.tests.test_data.testdemldata method)": [[27, "matminer.utils.tests.test_data.TestDemlData.test_get_oxidation"]], "test_get_oxidation() (matminer.utils.tests.test_data.testmagpiedata method)": [[27, "matminer.utils.tests.test_data.TestMagpieData.test_get_oxidation"]], "test_get_oxidation() (matminer.utils.tests.test_data.testpymatgendata method)": [[27, "matminer.utils.tests.test_data.TestPymatgenData.test_get_oxidation"]], "test_get_property() (matminer.utils.tests.test_data.testdemldata method)": [[27, "matminer.utils.tests.test_data.TestDemlData.test_get_property"]], "test_get_property() (matminer.utils.tests.test_data.testmegnetdata method)": [[27, "matminer.utils.tests.test_data.TestMEGNetData.test_get_property"]], "test_get_property() (matminer.utils.tests.test_data.testmagpiedata method)": [[27, "matminer.utils.tests.test_data.TestMagpieData.test_get_property"]], "test_get_property() (matminer.utils.tests.test_data.testmatscholardata method)": [[27, "matminer.utils.tests.test_data.TestMatScholarData.test_get_property"]], "test_get_property() (matminer.utils.tests.test_data.testpymatgendata method)": [[27, "matminer.utils.tests.test_data.TestPymatgenData.test_get_property"]], "test_load_dataframe_from_json() (matminer.utils.tests.test_io.iotest method)": [[27, "matminer.utils.tests.test_io.IOTest.test_load_dataframe_from_json"]], "test_store_dataframe_as_json() (matminer.utils.tests.test_io.iotest method)": [[27, "matminer.utils.tests.test_io.IOTest.test_store_dataframe_as_json"]]}}) \ No newline at end of file