+
+ Read the Docs
+ v: ${config.versions.current.slug}
+
+
+
+
+ ${renderLanguages(config)}
+ ${renderVersions(config)}
+ ${renderDownloads(config)}
+
+ On Read the Docs
+
+ Project Home
+
+
+ Builds
+
+
+ Downloads
+
+
+
+ Search
+
+
+
+
+
+
+ Hosted by Read the Docs
+
+
+
+ `;
+
+ // Inject the generated flyout into the body HTML element.
+ document.body.insertAdjacentHTML("beforeend", flyout);
+
+ // Trigger the Read the Docs Addons Search modal when clicking on the "Search docs" input from inside the flyout.
+ document
+ .querySelector("#flyout-search-form")
+ .addEventListener("focusin", () => {
+ const event = new CustomEvent("readthedocs-search-show");
+ document.dispatchEvent(event);
+ });
+ })
+}
+
+if (themeLanguageSelector || themeVersionSelector) {
+ function onSelectorSwitch(event) {
+ const option = event.target.selectedIndex;
+ const item = event.target.options[option];
+ window.location.href = item.dataset.url;
+ }
+
+ document.addEventListener("readthedocs-addons-data-ready", function (event) {
+ const config = event.detail.data();
+
+ const versionSwitch = document.querySelector(
+ "div.switch-menus > div.version-switch",
+ );
+ if (themeVersionSelector) {
+ let versions = config.versions.active;
+ if (config.versions.current.hidden || config.versions.current.type === "external") {
+ versions.unshift(config.versions.current);
+ }
+ const versionSelect = `
+
+ ${versions
+ .map(
+ (version) => `
+
+ ${version.slug}
+ `,
+ )
+ .join("\n")}
+
+ `;
+
+ versionSwitch.innerHTML = versionSelect;
+ versionSwitch.firstElementChild.addEventListener("change", onSelectorSwitch);
+ }
+
+ const languageSwitch = document.querySelector(
+ "div.switch-menus > div.language-switch",
+ );
+
+ if (themeLanguageSelector) {
+ if (config.projects.translations.length) {
+ // Add the current language to the options on the selector
+ let languages = config.projects.translations.concat(
+ config.projects.current,
+ );
+ languages = languages.sort((a, b) =>
+ a.language.name.localeCompare(b.language.name),
+ );
+
+ const languageSelect = `
+
+ ${languages
+ .map(
+ (language) => `
+
+ ${language.language.name}
+ `,
+ )
+ .join("\n")}
+
+ `;
+
+ languageSwitch.innerHTML = languageSelect;
+ languageSwitch.firstElementChild.addEventListener("change", onSelectorSwitch);
+ }
+ else {
+ languageSwitch.remove();
+ }
+ }
+ });
+}
+
+document.addEventListener("readthedocs-addons-data-ready", function (event) {
+ // Trigger the Read the Docs Addons Search modal when clicking on "Search docs" input from the topnav.
+ document
+ .querySelector("[role='search'] input")
+ .addEventListener("focusin", () => {
+ const event = new CustomEvent("readthedocs-search-show");
+ document.dispatchEvent(event);
+ });
+});
\ No newline at end of file
diff --git a/docs/_static/language_data.js b/docs/_static/language_data.js
new file mode 100644
index 0000000..367b8ed
--- /dev/null
+++ b/docs/_static/language_data.js
@@ -0,0 +1,199 @@
+/*
+ * language_data.js
+ * ~~~~~~~~~~~~~~~~
+ *
+ * This script contains the language-specific data used by searchtools.js,
+ * namely the list of stopwords, stemmer, scorer and splitter.
+ *
+ * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"];
+
+
+/* Non-minified version is copied as a separate JS file, if available */
+
+/**
+ * Porter Stemmer
+ */
+var Stemmer = function() {
+
+ var step2list = {
+ ational: 'ate',
+ tional: 'tion',
+ enci: 'ence',
+ anci: 'ance',
+ izer: 'ize',
+ bli: 'ble',
+ alli: 'al',
+ entli: 'ent',
+ eli: 'e',
+ ousli: 'ous',
+ ization: 'ize',
+ ation: 'ate',
+ ator: 'ate',
+ alism: 'al',
+ iveness: 'ive',
+ fulness: 'ful',
+ ousness: 'ous',
+ aliti: 'al',
+ iviti: 'ive',
+ biliti: 'ble',
+ logi: 'log'
+ };
+
+ var step3list = {
+ icate: 'ic',
+ ative: '',
+ alize: 'al',
+ iciti: 'ic',
+ ical: 'ic',
+ ful: '',
+ ness: ''
+ };
+
+ var c = "[^aeiou]"; // consonant
+ var v = "[aeiouy]"; // vowel
+ var C = c + "[^aeiouy]*"; // consonant sequence
+ var V = v + "[aeiou]*"; // vowel sequence
+
+ var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0
+ var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1
+ var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1
+ var s_v = "^(" + C + ")?" + v; // vowel in stem
+
+ this.stemWord = function (w) {
+ var stem;
+ var suffix;
+ var firstch;
+ var origword = w;
+
+ if (w.length < 3)
+ return w;
+
+ var re;
+ var re2;
+ var re3;
+ var re4;
+
+ firstch = w.substr(0,1);
+ if (firstch == "y")
+ w = firstch.toUpperCase() + w.substr(1);
+
+ // Step 1a
+ re = /^(.+?)(ss|i)es$/;
+ re2 = /^(.+?)([^s])s$/;
+
+ if (re.test(w))
+ w = w.replace(re,"$1$2");
+ else if (re2.test(w))
+ w = w.replace(re2,"$1$2");
+
+ // Step 1b
+ re = /^(.+?)eed$/;
+ re2 = /^(.+?)(ed|ing)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ re = new RegExp(mgr0);
+ if (re.test(fp[1])) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ }
+ else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1];
+ re2 = new RegExp(s_v);
+ if (re2.test(stem)) {
+ w = stem;
+ re2 = /(at|bl|iz)$/;
+ re3 = new RegExp("([^aeiouylsz])\\1$");
+ re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re2.test(w))
+ w = w + "e";
+ else if (re3.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ else if (re4.test(w))
+ w = w + "e";
+ }
+ }
+
+ // Step 1c
+ re = /^(.+?)y$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(s_v);
+ if (re.test(stem))
+ w = stem + "i";
+ }
+
+ // Step 2
+ re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem))
+ w = stem + step2list[suffix];
+ }
+
+ // Step 3
+ re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem))
+ w = stem + step3list[suffix];
+ }
+
+ // Step 4
+ re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
+ re2 = /^(.+?)(s|t)(ion)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ if (re.test(stem))
+ w = stem;
+ }
+ else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1] + fp[2];
+ re2 = new RegExp(mgr1);
+ if (re2.test(stem))
+ w = stem;
+ }
+
+ // Step 5
+ re = /^(.+?)e$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ re2 = new RegExp(meq1);
+ re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
+ w = stem;
+ }
+ re = /ll$/;
+ re2 = new RegExp(mgr1);
+ if (re.test(w) && re2.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+
+ // and turn initial Y back to y
+ if (firstch == "y")
+ w = firstch.toLowerCase() + w.substr(1);
+ return w;
+ }
+}
+
diff --git a/docs/_static/minus.png b/docs/_static/minus.png
new file mode 100644
index 0000000..d96755f
Binary files /dev/null and b/docs/_static/minus.png differ
diff --git a/docs/_static/plus.png b/docs/_static/plus.png
new file mode 100644
index 0000000..7107cec
Binary files /dev/null and b/docs/_static/plus.png differ
diff --git a/docs/_static/pygments.css b/docs/_static/pygments.css
new file mode 100644
index 0000000..84ab303
--- /dev/null
+++ b/docs/_static/pygments.css
@@ -0,0 +1,75 @@
+pre { line-height: 125%; }
+td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #f8f8f8; }
+.highlight .c { color: #3D7B7B; font-style: italic } /* Comment */
+.highlight .err { border: 1px solid #FF0000 } /* Error */
+.highlight .k { color: #008000; font-weight: bold } /* Keyword */
+.highlight .o { color: #666666 } /* Operator */
+.highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
+.highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #9C6500 } /* Comment.Preproc */
+.highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
+.highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+.highlight .gr { color: #E40000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #008400 } /* Generic.Inserted */
+.highlight .go { color: #717171 } /* Generic.Output */
+.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #008000 } /* Keyword.Pseudo */
+.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #B00040 } /* Keyword.Type */
+.highlight .m { color: #666666 } /* Literal.Number */
+.highlight .s { color: #BA2121 } /* Literal.String */
+.highlight .na { color: #687822 } /* Name.Attribute */
+.highlight .nb { color: #008000 } /* Name.Builtin */
+.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
+.highlight .no { color: #880000 } /* Name.Constant */
+.highlight .nd { color: #AA22FF } /* Name.Decorator */
+.highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0000FF } /* Name.Function */
+.highlight .nl { color: #767600 } /* Name.Label */
+.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
+.highlight .nv { color: #19177C } /* Name.Variable */
+.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #666666 } /* Literal.Number.Bin */
+.highlight .mf { color: #666666 } /* Literal.Number.Float */
+.highlight .mh { color: #666666 } /* Literal.Number.Hex */
+.highlight .mi { color: #666666 } /* Literal.Number.Integer */
+.highlight .mo { color: #666666 } /* Literal.Number.Oct */
+.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
+.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
+.highlight .sc { color: #BA2121 } /* Literal.String.Char */
+.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
+.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
+.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
+.highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
+.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
+.highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
+.highlight .sx { color: #008000 } /* Literal.String.Other */
+.highlight .sr { color: #A45A77 } /* Literal.String.Regex */
+.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
+.highlight .ss { color: #19177C } /* Literal.String.Symbol */
+.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0000FF } /* Name.Function.Magic */
+.highlight .vc { color: #19177C } /* Name.Variable.Class */
+.highlight .vg { color: #19177C } /* Name.Variable.Global */
+.highlight .vi { color: #19177C } /* Name.Variable.Instance */
+.highlight .vm { color: #19177C } /* Name.Variable.Magic */
+.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
\ No newline at end of file
diff --git a/docs/_static/searchtools.js b/docs/_static/searchtools.js
new file mode 100644
index 0000000..b08d58c
--- /dev/null
+++ b/docs/_static/searchtools.js
@@ -0,0 +1,620 @@
+/*
+ * searchtools.js
+ * ~~~~~~~~~~~~~~~~
+ *
+ * Sphinx JavaScript utilities for the full-text search.
+ *
+ * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+"use strict";
+
+/**
+ * Simple result scoring code.
+ */
+if (typeof Scorer === "undefined") {
+ var Scorer = {
+ // Implement the following function to further tweak the score for each result
+ // The function takes a result array [docname, title, anchor, descr, score, filename]
+ // and returns the new score.
+ /*
+ score: result => {
+ const [docname, title, anchor, descr, score, filename] = result
+ return score
+ },
+ */
+
+ // query matches the full name of an object
+ objNameMatch: 11,
+ // or matches in the last dotted part of the object name
+ objPartialMatch: 6,
+ // Additive scores depending on the priority of the object
+ objPrio: {
+ 0: 15, // used to be importantResults
+ 1: 5, // used to be objectResults
+ 2: -5, // used to be unimportantResults
+ },
+ // Used when the priority is not in the mapping.
+ objPrioDefault: 0,
+
+ // query found in title
+ title: 15,
+ partialTitle: 7,
+ // query found in terms
+ term: 5,
+ partialTerm: 2,
+ };
+}
+
+const _removeChildren = (element) => {
+ while (element && element.lastChild) element.removeChild(element.lastChild);
+};
+
+/**
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
+ */
+const _escapeRegExp = (string) =>
+ string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
+
+const _displayItem = (item, searchTerms, highlightTerms) => {
+ const docBuilder = DOCUMENTATION_OPTIONS.BUILDER;
+ const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX;
+ const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX;
+ const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY;
+ const contentRoot = document.documentElement.dataset.content_root;
+
+ const [docName, title, anchor, descr, score, _filename] = item;
+
+ let listItem = document.createElement("li");
+ let requestUrl;
+ let linkUrl;
+ if (docBuilder === "dirhtml") {
+ // dirhtml builder
+ let dirname = docName + "/";
+ if (dirname.match(/\/index\/$/))
+ dirname = dirname.substring(0, dirname.length - 6);
+ else if (dirname === "index/") dirname = "";
+ requestUrl = contentRoot + dirname;
+ linkUrl = requestUrl;
+ } else {
+ // normal html builders
+ requestUrl = contentRoot + docName + docFileSuffix;
+ linkUrl = docName + docLinkSuffix;
+ }
+ let linkEl = listItem.appendChild(document.createElement("a"));
+ linkEl.href = linkUrl + anchor;
+ linkEl.dataset.score = score;
+ linkEl.innerHTML = title;
+ if (descr) {
+ listItem.appendChild(document.createElement("span")).innerHTML =
+ " (" + descr + ")";
+ // highlight search terms in the description
+ if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js
+ highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
+ }
+ else if (showSearchSummary)
+ fetch(requestUrl)
+ .then((responseData) => responseData.text())
+ .then((data) => {
+ if (data)
+ listItem.appendChild(
+ Search.makeSearchSummary(data, searchTerms, anchor)
+ );
+ // highlight search terms in the summary
+ if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js
+ highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
+ });
+ Search.output.appendChild(listItem);
+};
+const _finishSearch = (resultCount) => {
+ Search.stopPulse();
+ Search.title.innerText = _("Search Results");
+ if (!resultCount)
+ Search.status.innerText = Documentation.gettext(
+ "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories."
+ );
+ else
+ Search.status.innerText = _(
+ "Search finished, found ${resultCount} page(s) matching the search query."
+ ).replace('${resultCount}', resultCount);
+};
+const _displayNextItem = (
+ results,
+ resultCount,
+ searchTerms,
+ highlightTerms,
+) => {
+ // results left, load the summary and display it
+ // this is intended to be dynamic (don't sub resultsCount)
+ if (results.length) {
+ _displayItem(results.pop(), searchTerms, highlightTerms);
+ setTimeout(
+ () => _displayNextItem(results, resultCount, searchTerms, highlightTerms),
+ 5
+ );
+ }
+ // search finished, update title and status message
+ else _finishSearch(resultCount);
+};
+// Helper function used by query() to order search results.
+// Each input is an array of [docname, title, anchor, descr, score, filename].
+// Order the results by score (in opposite order of appearance, since the
+// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically.
+const _orderResultsByScoreThenName = (a, b) => {
+ const leftScore = a[4];
+ const rightScore = b[4];
+ if (leftScore === rightScore) {
+ // same score: sort alphabetically
+ const leftTitle = a[1].toLowerCase();
+ const rightTitle = b[1].toLowerCase();
+ if (leftTitle === rightTitle) return 0;
+ return leftTitle > rightTitle ? -1 : 1; // inverted is intentional
+ }
+ return leftScore > rightScore ? 1 : -1;
+};
+
+/**
+ * Default splitQuery function. Can be overridden in ``sphinx.search`` with a
+ * custom function per language.
+ *
+ * The regular expression works by splitting the string on consecutive characters
+ * that are not Unicode letters, numbers, underscores, or emoji characters.
+ * This is the same as ``\W+`` in Python, preserving the surrogate pair area.
+ */
+if (typeof splitQuery === "undefined") {
+ var splitQuery = (query) => query
+ .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu)
+ .filter(term => term) // remove remaining empty strings
+}
+
+/**
+ * Search Module
+ */
+const Search = {
+ _index: null,
+ _queued_query: null,
+ _pulse_status: -1,
+
+ htmlToText: (htmlString, anchor) => {
+ const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html');
+ for (const removalQuery of [".headerlink", "script", "style"]) {
+ htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() });
+ }
+ if (anchor) {
+ const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`);
+ if (anchorContent) return anchorContent.textContent;
+
+ console.warn(
+ `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.`
+ );
+ }
+
+ // if anchor not specified or not found, fall back to main content
+ const docContent = htmlElement.querySelector('[role="main"]');
+ if (docContent) return docContent.textContent;
+
+ console.warn(
+ "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template."
+ );
+ return "";
+ },
+
+ init: () => {
+ const query = new URLSearchParams(window.location.search).get("q");
+ document
+ .querySelectorAll('input[name="q"]')
+ .forEach((el) => (el.value = query));
+ if (query) Search.performSearch(query);
+ },
+
+ loadIndex: (url) =>
+ (document.body.appendChild(document.createElement("script")).src = url),
+
+ setIndex: (index) => {
+ Search._index = index;
+ if (Search._queued_query !== null) {
+ const query = Search._queued_query;
+ Search._queued_query = null;
+ Search.query(query);
+ }
+ },
+
+ hasIndex: () => Search._index !== null,
+
+ deferQuery: (query) => (Search._queued_query = query),
+
+ stopPulse: () => (Search._pulse_status = -1),
+
+ startPulse: () => {
+ if (Search._pulse_status >= 0) return;
+
+ const pulse = () => {
+ Search._pulse_status = (Search._pulse_status + 1) % 4;
+ Search.dots.innerText = ".".repeat(Search._pulse_status);
+ if (Search._pulse_status >= 0) window.setTimeout(pulse, 500);
+ };
+ pulse();
+ },
+
+ /**
+ * perform a search for something (or wait until index is loaded)
+ */
+ performSearch: (query) => {
+ // create the required interface elements
+ const searchText = document.createElement("h2");
+ searchText.textContent = _("Searching");
+ const searchSummary = document.createElement("p");
+ searchSummary.classList.add("search-summary");
+ searchSummary.innerText = "";
+ const searchList = document.createElement("ul");
+ searchList.classList.add("search");
+
+ const out = document.getElementById("search-results");
+ Search.title = out.appendChild(searchText);
+ Search.dots = Search.title.appendChild(document.createElement("span"));
+ Search.status = out.appendChild(searchSummary);
+ Search.output = out.appendChild(searchList);
+
+ const searchProgress = document.getElementById("search-progress");
+ // Some themes don't use the search progress node
+ if (searchProgress) {
+ searchProgress.innerText = _("Preparing search...");
+ }
+ Search.startPulse();
+
+ // index already loaded, the browser was quick!
+ if (Search.hasIndex()) Search.query(query);
+ else Search.deferQuery(query);
+ },
+
+ _parseQuery: (query) => {
+ // stem the search terms and add them to the correct list
+ const stemmer = new Stemmer();
+ const searchTerms = new Set();
+ const excludedTerms = new Set();
+ const highlightTerms = new Set();
+ const objectTerms = new Set(splitQuery(query.toLowerCase().trim()));
+ splitQuery(query.trim()).forEach((queryTerm) => {
+ const queryTermLower = queryTerm.toLowerCase();
+
+ // maybe skip this "word"
+ // stopwords array is from language_data.js
+ if (
+ stopwords.indexOf(queryTermLower) !== -1 ||
+ queryTerm.match(/^\d+$/)
+ )
+ return;
+
+ // stem the word
+ let word = stemmer.stemWord(queryTermLower);
+ // select the correct list
+ if (word[0] === "-") excludedTerms.add(word.substr(1));
+ else {
+ searchTerms.add(word);
+ highlightTerms.add(queryTermLower);
+ }
+ });
+
+ if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js
+ localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" "))
+ }
+
+ // console.debug("SEARCH: searching for:");
+ // console.info("required: ", [...searchTerms]);
+ // console.info("excluded: ", [...excludedTerms]);
+
+ return [query, searchTerms, excludedTerms, highlightTerms, objectTerms];
+ },
+
+ /**
+ * execute search (requires search index to be loaded)
+ */
+ _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => {
+ const filenames = Search._index.filenames;
+ const docNames = Search._index.docnames;
+ const titles = Search._index.titles;
+ const allTitles = Search._index.alltitles;
+ const indexEntries = Search._index.indexentries;
+
+ // Collect multiple result groups to be sorted separately and then ordered.
+ // Each is an array of [docname, title, anchor, descr, score, filename].
+ const normalResults = [];
+ const nonMainIndexResults = [];
+
+ _removeChildren(document.getElementById("search-progress"));
+
+ const queryLower = query.toLowerCase().trim();
+ for (const [title, foundTitles] of Object.entries(allTitles)) {
+ if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) {
+ for (const [file, id] of foundTitles) {
+ const score = Math.round(Scorer.title * queryLower.length / title.length);
+ const boost = titles[file] === title ? 1 : 0; // add a boost for document titles
+ normalResults.push([
+ docNames[file],
+ titles[file] !== title ? `${titles[file]} > ${title}` : title,
+ id !== null ? "#" + id : "",
+ null,
+ score + boost,
+ filenames[file],
+ ]);
+ }
+ }
+ }
+
+ // search for explicit entries in index directives
+ for (const [entry, foundEntries] of Object.entries(indexEntries)) {
+ if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) {
+ for (const [file, id, isMain] of foundEntries) {
+ const score = Math.round(100 * queryLower.length / entry.length);
+ const result = [
+ docNames[file],
+ titles[file],
+ id ? "#" + id : "",
+ null,
+ score,
+ filenames[file],
+ ];
+ if (isMain) {
+ normalResults.push(result);
+ } else {
+ nonMainIndexResults.push(result);
+ }
+ }
+ }
+ }
+
+ // lookup as object
+ objectTerms.forEach((term) =>
+ normalResults.push(...Search.performObjectSearch(term, objectTerms))
+ );
+
+ // lookup as search terms in fulltext
+ normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms));
+
+ // let the scorer override scores with a custom scoring function
+ if (Scorer.score) {
+ normalResults.forEach((item) => (item[4] = Scorer.score(item)));
+ nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item)));
+ }
+
+ // Sort each group of results by score and then alphabetically by name.
+ normalResults.sort(_orderResultsByScoreThenName);
+ nonMainIndexResults.sort(_orderResultsByScoreThenName);
+
+ // Combine the result groups in (reverse) order.
+ // Non-main index entries are typically arbitrary cross-references,
+ // so display them after other results.
+ let results = [...nonMainIndexResults, ...normalResults];
+
+ // remove duplicate search results
+ // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept
+ let seen = new Set();
+ results = results.reverse().reduce((acc, result) => {
+ let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(',');
+ if (!seen.has(resultStr)) {
+ acc.push(result);
+ seen.add(resultStr);
+ }
+ return acc;
+ }, []);
+
+ return results.reverse();
+ },
+
+ query: (query) => {
+ const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query);
+ const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms);
+
+ // for debugging
+ //Search.lastresults = results.slice(); // a copy
+ // console.info("search results:", Search.lastresults);
+
+ // print the results
+ _displayNextItem(results, results.length, searchTerms, highlightTerms);
+ },
+
+ /**
+ * search for object names
+ */
+ performObjectSearch: (object, objectTerms) => {
+ const filenames = Search._index.filenames;
+ const docNames = Search._index.docnames;
+ const objects = Search._index.objects;
+ const objNames = Search._index.objnames;
+ const titles = Search._index.titles;
+
+ const results = [];
+
+ const objectSearchCallback = (prefix, match) => {
+ const name = match[4]
+ const fullname = (prefix ? prefix + "." : "") + name;
+ const fullnameLower = fullname.toLowerCase();
+ if (fullnameLower.indexOf(object) < 0) return;
+
+ let score = 0;
+ const parts = fullnameLower.split(".");
+
+ // check for different match types: exact matches of full name or
+ // "last name" (i.e. last dotted part)
+ if (fullnameLower === object || parts.slice(-1)[0] === object)
+ score += Scorer.objNameMatch;
+ else if (parts.slice(-1)[0].indexOf(object) > -1)
+ score += Scorer.objPartialMatch; // matches in last name
+
+ const objName = objNames[match[1]][2];
+ const title = titles[match[0]];
+
+ // If more than one term searched for, we require other words to be
+ // found in the name/title/description
+ const otherTerms = new Set(objectTerms);
+ otherTerms.delete(object);
+ if (otherTerms.size > 0) {
+ const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase();
+ if (
+ [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0)
+ )
+ return;
+ }
+
+ let anchor = match[3];
+ if (anchor === "") anchor = fullname;
+ else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname;
+
+ const descr = objName + _(", in ") + title;
+
+ // add custom score for some objects according to scorer
+ if (Scorer.objPrio.hasOwnProperty(match[2]))
+ score += Scorer.objPrio[match[2]];
+ else score += Scorer.objPrioDefault;
+
+ results.push([
+ docNames[match[0]],
+ fullname,
+ "#" + anchor,
+ descr,
+ score,
+ filenames[match[0]],
+ ]);
+ };
+ Object.keys(objects).forEach((prefix) =>
+ objects[prefix].forEach((array) =>
+ objectSearchCallback(prefix, array)
+ )
+ );
+ return results;
+ },
+
+ /**
+ * search for full-text terms in the index
+ */
+ performTermsSearch: (searchTerms, excludedTerms) => {
+ // prepare search
+ const terms = Search._index.terms;
+ const titleTerms = Search._index.titleterms;
+ const filenames = Search._index.filenames;
+ const docNames = Search._index.docnames;
+ const titles = Search._index.titles;
+
+ const scoreMap = new Map();
+ const fileMap = new Map();
+
+ // perform the search on the required terms
+ searchTerms.forEach((word) => {
+ const files = [];
+ const arr = [
+ { files: terms[word], score: Scorer.term },
+ { files: titleTerms[word], score: Scorer.title },
+ ];
+ // add support for partial matches
+ if (word.length > 2) {
+ const escapedWord = _escapeRegExp(word);
+ if (!terms.hasOwnProperty(word)) {
+ Object.keys(terms).forEach((term) => {
+ if (term.match(escapedWord))
+ arr.push({ files: terms[term], score: Scorer.partialTerm });
+ });
+ }
+ if (!titleTerms.hasOwnProperty(word)) {
+ Object.keys(titleTerms).forEach((term) => {
+ if (term.match(escapedWord))
+ arr.push({ files: titleTerms[term], score: Scorer.partialTitle });
+ });
+ }
+ }
+
+ // no match but word was a required one
+ if (arr.every((record) => record.files === undefined)) return;
+
+ // found search word in contents
+ arr.forEach((record) => {
+ if (record.files === undefined) return;
+
+ let recordFiles = record.files;
+ if (recordFiles.length === undefined) recordFiles = [recordFiles];
+ files.push(...recordFiles);
+
+ // set score for the word in each file
+ recordFiles.forEach((file) => {
+ if (!scoreMap.has(file)) scoreMap.set(file, {});
+ scoreMap.get(file)[word] = record.score;
+ });
+ });
+
+ // create the mapping
+ files.forEach((file) => {
+ if (!fileMap.has(file)) fileMap.set(file, [word]);
+ else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word);
+ });
+ });
+
+ // now check if the files don't contain excluded terms
+ const results = [];
+ for (const [file, wordList] of fileMap) {
+ // check if all requirements are matched
+
+ // as search terms with length < 3 are discarded
+ const filteredTermCount = [...searchTerms].filter(
+ (term) => term.length > 2
+ ).length;
+ if (
+ wordList.length !== searchTerms.size &&
+ wordList.length !== filteredTermCount
+ )
+ continue;
+
+ // ensure that none of the excluded terms is in the search result
+ if (
+ [...excludedTerms].some(
+ (term) =>
+ terms[term] === file ||
+ titleTerms[term] === file ||
+ (terms[term] || []).includes(file) ||
+ (titleTerms[term] || []).includes(file)
+ )
+ )
+ break;
+
+ // select one (max) score for the file.
+ const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w]));
+ // add result to the result list
+ results.push([
+ docNames[file],
+ titles[file],
+ "",
+ null,
+ score,
+ filenames[file],
+ ]);
+ }
+ return results;
+ },
+
+ /**
+ * helper function to return a node containing the
+ * search summary for a given text. keywords is a list
+ * of stemmed words.
+ */
+ makeSearchSummary: (htmlText, keywords, anchor) => {
+ const text = Search.htmlToText(htmlText, anchor);
+ if (text === "") return null;
+
+ const textLower = text.toLowerCase();
+ const actualStartPosition = [...keywords]
+ .map((k) => textLower.indexOf(k.toLowerCase()))
+ .filter((i) => i > -1)
+ .slice(-1)[0];
+ const startWithContext = Math.max(actualStartPosition - 120, 0);
+
+ const top = startWithContext === 0 ? "" : "...";
+ const tail = startWithContext + 240 < text.length ? "..." : "";
+
+ let summary = document.createElement("p");
+ summary.classList.add("context");
+ summary.textContent = top + text.substr(startWithContext, 240).trim() + tail;
+
+ return summary;
+ },
+};
+
+_ready(Search.init);
diff --git a/docs/_static/sphinx_highlight.js b/docs/_static/sphinx_highlight.js
new file mode 100644
index 0000000..8a96c69
--- /dev/null
+++ b/docs/_static/sphinx_highlight.js
@@ -0,0 +1,154 @@
+/* Highlighting utilities for Sphinx HTML documentation. */
+"use strict";
+
+const SPHINX_HIGHLIGHT_ENABLED = true
+
+/**
+ * highlight a given string on a node by wrapping it in
+ * span elements with the given class name.
+ */
+const _highlight = (node, addItems, text, className) => {
+ if (node.nodeType === Node.TEXT_NODE) {
+ const val = node.nodeValue;
+ const parent = node.parentNode;
+ const pos = val.toLowerCase().indexOf(text);
+ if (
+ pos >= 0 &&
+ !parent.classList.contains(className) &&
+ !parent.classList.contains("nohighlight")
+ ) {
+ let span;
+
+ const closestNode = parent.closest("body, svg, foreignObject");
+ const isInSVG = closestNode && closestNode.matches("svg");
+ if (isInSVG) {
+ span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+ } else {
+ span = document.createElement("span");
+ span.classList.add(className);
+ }
+
+ span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+ const rest = document.createTextNode(val.substr(pos + text.length));
+ parent.insertBefore(
+ span,
+ parent.insertBefore(
+ rest,
+ node.nextSibling
+ )
+ );
+ node.nodeValue = val.substr(0, pos);
+ /* There may be more occurrences of search term in this node. So call this
+ * function recursively on the remaining fragment.
+ */
+ _highlight(rest, addItems, text, className);
+
+ if (isInSVG) {
+ const rect = document.createElementNS(
+ "http://www.w3.org/2000/svg",
+ "rect"
+ );
+ const bbox = parent.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: parent, target: rect });
+ }
+ }
+ } else if (node.matches && !node.matches("button, select, textarea")) {
+ node.childNodes.forEach((el) => _highlight(el, addItems, text, className));
+ }
+};
+const _highlightText = (thisNode, text, className) => {
+ let addItems = [];
+ _highlight(thisNode, addItems, text, className);
+ addItems.forEach((obj) =>
+ obj.parent.insertAdjacentElement("beforebegin", obj.target)
+ );
+};
+
+/**
+ * Small JavaScript module for the documentation.
+ */
+const SphinxHighlight = {
+
+ /**
+ * highlight the search words provided in localstorage in the text
+ */
+ highlightSearchWords: () => {
+ if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight
+
+ // get and clear terms from localstorage
+ const url = new URL(window.location);
+ const highlight =
+ localStorage.getItem("sphinx_highlight_terms")
+ || url.searchParams.get("highlight")
+ || "";
+ localStorage.removeItem("sphinx_highlight_terms")
+ url.searchParams.delete("highlight");
+ window.history.replaceState({}, "", url);
+
+ // get individual terms from highlight string
+ const terms = highlight.toLowerCase().split(/\s+/).filter(x => x);
+ if (terms.length === 0) return; // nothing to do
+
+ // There should never be more than one element matching "div.body"
+ const divBody = document.querySelectorAll("div.body");
+ const body = divBody.length ? divBody[0] : document.querySelector("body");
+ window.setTimeout(() => {
+ terms.forEach((term) => _highlightText(body, term, "highlighted"));
+ }, 10);
+
+ const searchBox = document.getElementById("searchbox");
+ if (searchBox === null) return;
+ searchBox.appendChild(
+ document
+ .createRange()
+ .createContextualFragment(
+ '
' +
+ '' +
+ _("Hide Search Matches") +
+ "
"
+ )
+ );
+ },
+
+ /**
+ * helper function to hide the search marks again
+ */
+ hideSearchWords: () => {
+ document
+ .querySelectorAll("#searchbox .highlight-link")
+ .forEach((el) => el.remove());
+ document
+ .querySelectorAll("span.highlighted")
+ .forEach((el) => el.classList.remove("highlighted"));
+ localStorage.removeItem("sphinx_highlight_terms")
+ },
+
+ initEscapeListener: () => {
+ // only install a listener if it is really needed
+ if (!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.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return;
+ if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) {
+ SphinxHighlight.hideSearchWords();
+ event.preventDefault();
+ }
+ });
+ },
+};
+
+_ready(() => {
+ /* Do not call highlightSearchWords() when we are on the search page.
+ * It will highlight words from the *previous* search query.
+ */
+ if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords();
+ SphinxHighlight.initEscapeListener();
+});
diff --git a/docs/antares.ansatze.html b/docs/antares.ansatze.html
new file mode 100644
index 0000000..bfbdec5
--- /dev/null
+++ b/docs/antares.ansatze.html
@@ -0,0 +1,176 @@
+
+
+
+
+
+
+
+
+
antares.ansatze package — antares 0.6.1 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ antares
+
+
+
+
+
+
+
+
+
+antares.ansatze package
+
+
+antares.ansatze.Numerator_Ansatz_Generator_CP_SAT module
+
+
+antares.ansatze.Numerator_Ansatz_Generator_CP_SAT_2Higgses module
+
+
+antares.ansatze.Numerator_Ansatz_Generator_CP_SAT_Higgs module
+
+
+antares.ansatze.Numerator_Ansatz_Generator_CP_SAT_W_Boson module
+
+
+antares.ansatze.eigenbasis module
+
+
+antares.ansatze.eigenbasis. CanonicalOrdering ( ProductOfSpinorsAsString , DimOneBasis )
+
+
+
+
+antares.ansatze.eigenbasis. Image ( Spinor , Rule , verbose = False )
+
+
+
+
+antares.ansatze.fitter module
+
+
+antares.ansatze.generator module
+
+
+antares.ansatze.interface module
+
+
+antares.ansatze.matrix_loader module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/antares.core.html b/docs/antares.core.html
new file mode 100644
index 0000000..5ea76e9
--- /dev/null
+++ b/docs/antares.core.html
@@ -0,0 +1,1047 @@
+
+
+
+
+
+
+
+
+
antares.core package — antares 0.6.1 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ antares
+
+
+
+
+
+
+
+
+
+antares.core package
+
+
+antares.core.bh_patch module
+
+
+antares.core.bh_patch. accuracy ( )
+
+
+
+
+antares.core.bh_patch. file_compatible_print ( * args , ** kwargs )
+
+
+
+
+antares.core.bh_unknown module
+
+
+class antares.core.bh_unknown. BHUnknown ( helconf , loopid = None , amppart = None , ampindex = None )
+Bases: Numerical_Methods
, object
+
+
+property BH_process
+
+
+
+
+property BH_vectori
+
+
+
+
+property ampindex
+
+
+
+
+property amppart
+
+
+
+
+property amppart_and_ampindex
+
+
+
+
+property basis_functions
+
+
+
+
+property basis_functions_invs
+
+
+
+
+property call_cache_path
+
+
+
+
+property count_gluons
+
+
+
+
+property count_photons
+
+
+
+
+property count_quarks
+
+
+
+
+property easy_boxes
+
+
+
+
+get_analytical_boxes ( )
+
+
+
+
+get_call_cache ( )
+
+
+
+
+get_topology_info ( )
+
+
+
+
+property helconf
+Helicity configuration. Accepts string or list with following words: (qp|qm|qbp|qbm|gp|gm|p|m). Returns a list.
+
+
+
+
+property helconf_and_loopid
+
+
+
+
+property loopid
+Id of the particle in the loop. An helicity configuration needs to be set beforehand.
+
+
+
+
+property multiplicity
+
+
+
+
+print_graphs ( )
+
+
+
+
+print_topology_info ( )
+
+
+
+
+property process_name
+
+
+
+
+reload_call_cache ( )
+
+
+
+
+property res_path
+
+
+
+
+save_call_cache ( )
+
+
+
+
+property shelconf
+
+
+
+
+property short_process_name
+
+
+
+
+property spurious_poles
+
+
+
+
+property upper_res_path
+
+
+
+
+
+
+antares.core.bh_unknown. Upload_Momentum_Configuration ( oParticles )
+
+
+
+
+antares.core.my_warnings module
+
+
+class antares.core.my_warnings. warnings
+Bases: object
+
+
+clear ( )
+
+
+
+
+raise_error ( message , warning = None )
+
+
+
+
+property silent
+
+
+
+
+warn ( message , warning = None )
+
+
+
+
+property warning
+
+
+
+
+
+
+antares.core.numerical_methods module
+
+
+class antares.core.numerical_methods. Numerical_Methods
+Bases: object
+
+
+property all_symmetries
+Obtain the symmetries of the function, by numerical evaluation.
+
+
+
+
+property collinear_data
+
+
+
+
+do_double_collinear_limits ( silent = False )
+
+
+
+
+do_single_collinear_limits ( silent = False )
+
+
+
+
+static finite_field_mass_dimension ( ratio , search_range , powers )
+
+
+
+
+static finite_field_phase_weight ( ratio , search_range , powers )
+
+
+
+
+property internal_masses
+
+
+
+
+property is_iterable
+
+
+
+
+property is_zero
+
+
+
+
+property mass_dimension
+Returns the mass (a.k.a. energy) dimension. The value is expected to be a (half-)integer. Return type is float, vectorized depending on input.
+
+
+
+
+static mass_dimension_and_phase_weights_lParticles ( multiplicity )
+
+
+
+
+static mass_dimension_lParticles ( multiplicity )
+
+
+
+
+static mpc_mass_dimension ( ratio , z )
+
+
+
+
+static mpc_phase_weight ( ratio , z )
+
+
+
+
+static padic_mass_dimension ( ratio , z )
+
+
+
+
+static padic_phase_weight ( ratio , z )
+
+
+
+
+property phase_weights
+Returns the phase weights (a.k.a. little group scalings). Return type is a list of int’s, vectorized depending on input.
+
+
+
+
+static phase_weights_lParticles ( multiplicity )
+
+
+
+
+property soft_weights
+
+
+
+
+
+
+antares.core.numerical_methods. as_scalar_if_scalar ( func )
+Turns numpy arrays with zero dimensions into ‘real’ scalars.
+
+
+
+
+antares.core.numerical_methods. composed ( * decorators )
+Apply an arbitrary number of decorators in a single line.
+The following are equivalent:
+
+Examples
+Using composed :
+>>> @composed ( decorator1 , decorator2 )
+... def func ( ... ):
+... pass
+
+
+Using individual decorators:
+>>> @decorator1
+... @decorator2
+... def func ( ... ):
+... pass
+
+
+
+
+Parameters
+
+decoratorscallable An arbitrary number of decorator functions to be applied.
+
+
+
+
+Returns
+
+callable A function decorated with all the provided decorators.
+
+
+
+
+
+
+
+antares.core.numerical_methods. memoized ( * decorator_args , ** decorator_kwargs )
+Diskcaching decorator generator.
+
+
+
+
+class antares.core.numerical_methods. num_func ( evaluable_function , verbose = False )
+Bases: Numerical_Methods
, object
+
+
+
+
+antares.core.numerical_methods. numpy_vectorized ( * decorator_args , ** decorator_kwargs )
+Similar to numpy.vectorize when used as a decorator, but retains the __name__ of the decorated function and accepts args and kwargs.
+
+
+
+
+antares.core.numerical_methods. regulated_division ( x , y )
+Like division, but sends 0 / 0 to 1.
+
+
+
+
+class antares.core.numerical_methods. tensor_function ( callable_function )
+Bases: Numerical_Methods
, _tensor_function
+
+
+
+
+
+antares.core.se_unknown module
+
+
+class antares.core.se_unknown. SEUnknown ( se_arguement )
+Bases: object
+
+
+
+
+antares.core.se_unknown. upload_mom_conf_joe ( oParticles )
+
+
+
+
+antares.core.settings module
+
+
+class antares.core.settings. Settings
+Bases: object
+
+
+property BHsettings
+
+
+
+
+property Cores
+
+
+
+
+property PWTestingCachePath
+
+
+
+
+property base_cache_path
+
+
+
+
+property base_res_path
+
+
+
+
+property gmp_precision
+
+
+
+
+property logfile
+
+
+
+
+read_from_file ( file_full_path )
+
+
+
+
+property run_file_name
+
+
+
+
+property to_int_prec
+
+
+
+
+
+
+
+antares.core.unknown module
+
+
+class antares.core.unknown. Unknown ( original_unknown , load_partial_results = False , silent = True )
+Bases: Numerical_Methods
, object
+
+
+add_partial_piece ( partial_piece )
+
+
+
+
+property ampindex
+
+
+
+
+property amppart
+
+
+
+
+property amppart_and_ampindex
+
+
+
+
+property basis_functions
+
+
+
+
+property basis_functions_invs
+
+
+
+
+does_not_require_partial_fractioning ( )
+
+
+
+
+property easy_boxes
+
+
+
+
+fit_single_scalings_result ( split_pole_orders = True )
+
+
+
+
+get_partial_fractioned_terms ( invariant , max_nbr_terms = 1 )
+
+
+
+
+property helconf
+
+
+
+
+property helconf_and_loopid
+
+
+
+
+property internal_masses
+
+
+
+
+property loopid
+
+
+
+
+property mass_dimension
+Returns the mass (a.k.a. energy) dimension. The value is expected to be a (half-)integer. Return type is float, vectorized depending on input.
+
+
+
+
+property multiplicity
+
+
+
+
+property phase_weights
+Returns the phase weights (a.k.a. little group scalings). Return type is a list of int’s, vectorized depending on input.
+
+
+
+
+property poles_to_be_eliminated
+
+
+
+
+print_partial_result ( partial = True , compile_tex_to_pdf = False )
+
+
+
+
+
+
+
+
+
+
+
+
+remove_last_partial_piece ( )
+
+
+
+
+reorder_invariants_for_partial_fractioning ( )
+
+
+
+
+property res_path
+
+
+
+
+reset ( )
+
+
+
+
+save_original_unknown_call_cache ( )
+
+
+
+
+property soft_weights
+
+
+
+
+property spurious_poles
+
+
+
+
+property what_am_I
+
+
+
+
+
+
+antares.core.unknown. caching_decorator ( func )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/antares.html b/docs/antares.html
new file mode 100644
index 0000000..adac33f
--- /dev/null
+++ b/docs/antares.html
@@ -0,0 +1,557 @@
+
+
+
+
+
+
+
+
+
antares package — antares 0.6.1 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ antares
+
+
+
+
+
+
+
+
+
+antares package
+
+
+
+antares.analytical_to_analytical module
+
+
+antares.bh_to_readable module
+
+
+antares.check_results module
+
+
+antares.encode_cut_constructible_parts module
+
+
+antares.numerical_to_analytical module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/antares.partial_fractioning.html b/docs/antares.partial_fractioning.html
new file mode 100644
index 0000000..7eea6fe
--- /dev/null
+++ b/docs/antares.partial_fractioning.html
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+
+
+
antares.partial_fractioning package — antares 0.6.1 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ antares
+
+
+
+
+
+
+
+
+
+antares.partial_fractioning package
+
+
+antares.partial_fractioning.automatic module
+
+
+antares.partial_fractioning.by_guesses module
+
+
+antares.partial_fractioning.v3 module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/antares.scalings.html b/docs/antares.scalings.html
new file mode 100644
index 0000000..0d89333
--- /dev/null
+++ b/docs/antares.scalings.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
antares.scalings package — antares 0.6.1 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ antares
+
+
+
+
+
+
+
+
+
+antares.scalings package
+
+
+antares.scalings.pair module
+
+
+antares.scalings.pair. clean_pair_scalings_from_numerator ( oUnknown , pair_invs , pair_exps , pair_friends )
+
+
+
+
+antares.scalings.pair. pair_scaling ( oUnknown , all_invariants , relative , sFriends , invs_tuple , seed = 0 )
+
+
+
+
+antares.scalings.pair. pair_scalings ( oUnknown , some_invs , other_invs , all_invariants , relative = 1 , seed = 0 , silent = True )
+
+
+
+
+antares.scalings.single module
+
+
+antares.scalings.single. single_scaling ( oUnknown , invariant , seed = 0 )
+
+
+
+
+antares.scalings.single. single_scalings ( oUnknown , invariants , seed = 0 , silent = True )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/antares.scripts.html b/docs/antares.scripts.html
new file mode 100644
index 0000000..c390ce2
--- /dev/null
+++ b/docs/antares.scripts.html
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+
+
+
antares.scripts package — antares 0.6.1 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ antares
+
+
+
+
+
+
+
+
+
+antares.scripts package
+
+
+antares.scripts.CoeffBuilder module
+
+
+antares.scripts.SpinorLatexCompiler module
+
+
+antares.scripts.SpinorLatexCompiler. generate_pdf ( tex , texfile , output_dir = None , interaction = None , verbose = False )
+Genertates the pdf from string
+
+
+
+
+antares.scripts.SpinorLatexCompiler. main ( )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/antares.terms.html b/docs/antares.terms.html
new file mode 100644
index 0000000..9e41905
--- /dev/null
+++ b/docs/antares.terms.html
@@ -0,0 +1,525 @@
+
+
+
+
+
+
+
+
+
antares.terms package — antares 0.6.1 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ antares
+
+
+
+
+
+
+
+
+
+antares.terms package
+
+
+antares.terms.term module
+
+
+class antares.terms.term. Denominator ( lInvs = [] , lExps = [] )
+Bases: object
+
+
+
+
+class antares.terms.term. Numerator ( llInvs = [[]] , llExps = [[]] , lCoefs = [] , lCommonInvs = [] , lCommonExps = [] )
+Bases: object
+
+
+property CommonInvsString
+
+
+
+
+isolate_common_invariants_and_exponents ( )
+
+
+
+
+property lCoefsString
+
+
+
+
+property lInvsString
+
+
+
+
+
+
+class antares.terms.term. Term ( object1 , object2 = None )
+Bases: Numerical_Methods
, object
+
+
+Image ( Rule )
+
+
+
+
+property am_I_a_symmetry
+
+
+
+
+canonical_ordering ( )
+
+
+
+
+cluster ( rule )
+
+
+
+
+classmethod from_single_scalings ( oUnknown , silent = True )
+
+
+
+
+property internal_masses
+
+
+
+
+property is_fully_reduced
+
+
+
+
+property multiplicity
+
+
+
+
+rawImage ( Rule )
+
+
+
+
+simplify_factored_monomials ( )
+Cancels powers of manifestly common factors between numerator and denominator.
+Lighter than rerunning single scaling study, but less powerful, since single scalings
+can also handle cancellations involving non-trivial rewritings (e.g. shoutens).
+
+
+
+
+
+
+antares.terms.term. cluster_invariant ( invariant , rule )
+
+
+
+
+antares.terms.term. cluster_symmetry ( symmetry , rule )
+
+
+
+
+antares.terms.term. make_proper ( fraction )
+
+
+
+
+antares.terms.term. parse_monomial ( string )
+
+
+
+
+antares.terms.terms module
+
+
+class antares.terms.terms. FittingSettings
+Bases: object
+
+
+
+
+antares.terms.terms. LoadResults ( res_path , load_partial_results_only = False , silent = True , callable_to_check_with = None )
+
+
+
+
+class antares.terms.terms. Terms ( lllNumInvs_or_Terms , lllNumExps = None , llNumCoefs_or_Sym = None , llDenInvs = None , llDenExps = None )
+Bases: Numerical_Methods
, Terms_numerators_fit
, list
+
+
+Image ( Rule )
+
+
+
+
+Write_LaTex ( )
+
+
+
+
+property ansatze_angle_degrees
+
+
+
+
+property ansatze_mass_dimensions
+
+
+
+
+property ansatze_phase_weights
+
+
+
+
+property ansatze_square_degrees
+
+
+
+
+property are_fully_reduced
+
+
+
+
+canonical_ordering ( )
+
+
+
+
+check_against_unknown ( )
+
+
+
+
+check_md_pw_consistency ( )
+
+
+
+
+cluster ( rule )
+
+
+
+
+collapse ( )
+
+
+
+
+property common_coeff_factor
+
+
+
+
+compactify_symmetries ( )
+
+
+
+
+do_exploratory_double_collinear_limits ( )
+
+
+
+
+explicit_representation ( raw = False )
+
+
+
+
+index_of_last_symmetry ( )
+
+
+
+
+property internal_masses
+
+
+
+
+invs_only_in_iDen ( i )
+
+
+
+
+property llCoefs
+
+
+
+
+property llDenExps
+
+
+
+
+property llDenInvs
+
+
+
+
+property lllNumExps
+
+
+
+
+property lllNumInvs
+
+
+
+
+property lphase_weights
+
+
+
+
+property mass_dimensions
+
+
+
+
+property max_abs_numerator
+
+
+
+
+property max_denominator
+
+
+
+
+property multiplicity
+
+
+
+
+order_terms_by_complexity ( )
+
+
+
+
+rearrange_and_finalise ( )
+
+
+
+
+relevant_old_Terms ( i )
+
+
+
+
+remove_duplicates ( )
+
+
+
+
+summarise ( print_ansatze_info = True )
+
+
+
+
+toFORM ( )
+
+
+
+
+toFortran ( dsubs = None )
+
+
+
+
+toSaM ( )
+
+
+
+
+toSympy ( )
+
+
+
+
+update_invs_set ( )
+
+
+
+
+property with_normalized_coeffs
+
+
+
+
+
+
+antares.terms.terms. caching_decorator ( func )
+
+
+
+
+antares.terms.terms. fix_old_automatic_partial_fractioning_format ( lTerms )
+
+
+
+
+antares.terms.terms. parse_pNBs_to_functions ( match )
+Converts a pNB to a function with the zab12 notation.
+
+
+
+
+antares.terms.terms. string_toSaM ( string )
+
+
+
+
+antares.terms.terms_ad_hoc_ansatze module
+
+
+antares.terms.terms_numerator_fit module
+
+
+class antares.terms.terms_numerator_fit. Terms_numerators_fit
+Bases: object
+
+
+fit_numerators ( llTrialNumInvs = [] , accept_all_zeros = True )
+Obtains numerators by fitting the coefficients of an ansatz. Updates self if succesful. Makes self an empty list otherwise.
+
+
+
+
+refine_fit ( tempTerms , llTrialNumInvs )
+
+
+
+
+set_inversion_accuracy ( silent = False )
+
+
+
+
+
+
+antares.terms.vs_basis module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/antares.topologies.html b/docs/antares.topologies.html
new file mode 100644
index 0000000..59c02b9
--- /dev/null
+++ b/docs/antares.topologies.html
@@ -0,0 +1,271 @@
+
+
+
+
+
+
+
+
+
antares.topologies package — antares 0.6.1 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ antares
+
+
+
+
+
+
+
+
+
+antares.topologies package
+
+
+antares.topologies.topology module
+
+
+class antares.topologies.topology. Topology ( helconf_or_BHUnknown )
+Bases: str
+
+
+property equivalence_class
+
+
+
+
+property models
+
+
+
+
+property nbr_external_antiquarks
+
+
+
+
+property nbr_external_gluons
+
+
+
+
+property nbr_external_photons
+
+
+
+
+property nbr_external_quarks
+
+
+
+
+property topology
+
+
+
+
+
+
+antares.topologies.topology. all_topologies ( oBHUnknown )
+
+
+
+
+antares.topologies.topology. box_topologies ( oBHUnknown )
+
+
+
+
+antares.topologies.topology. bubble_topologies ( oBHUnknown )
+
+
+
+
+antares.topologies.topology. conversion_rules ( source_label_or_bhunknown , target_label_or_bhunknown )
+
+
+
+
+antares.topologies.topology. convert_invariant ( Invariant , Rule )
+
+
+
+
+antares.topologies.topology. corners_from_label ( label )
+
+
+
+
+antares.topologies.topology. equivalent_strings ( string )
+
+
+
+
+antares.topologies.topology. flip_helicities ( string )
+
+
+
+
+antares.topologies.topology. flip_quark_line ( string , quark_line_nbr )
+
+
+
+
+antares.topologies.topology. get_external_quarks ( label )
+
+
+
+
+antares.topologies.topology. get_label ( oBHUnknown )
+
+
+
+
+antares.topologies.topology. get_nbr_quark_lines ( string )
+
+
+
+
+antares.topologies.topology. helconf_from_label ( label )
+
+
+
+
+antares.topologies.topology. independent_topologies ( oBHUnknown )
+
+
+
+
+antares.topologies.topology. internal_symmetry ( oBHUnknown )
+
+
+
+
+antares.topologies.topology. sign_of_permutation ( permutation )
+
+
+
+
+antares.topologies.topology. topology_info ( oBHUnknown )
+
+
+
+
+antares.topologies.topology. triangle_topologies ( oBHUnknown )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/genindex.html b/docs/genindex.html
new file mode 100644
index 0000000..8fec9ad
--- /dev/null
+++ b/docs/genindex.html
@@ -0,0 +1,1082 @@
+
+
+
+
+
+
+
+
Index — antares 0.6.1 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ antares
+
+
+
+
+
+
+
+
+
+
Index
+
+
+
A
+ |
B
+ |
C
+ |
D
+ |
E
+ |
F
+ |
G
+ |
H
+ |
I
+ |
L
+ |
M
+ |
N
+ |
O
+ |
P
+ |
R
+ |
S
+ |
T
+ |
U
+ |
V
+ |
W
+
+
+
A
+
+
+
B
+
+
+
C
+
+
+
D
+
+
+
E
+
+
+
F
+
+
+
G
+
+
+
H
+
+
+
I
+
+
+
L
+
+
+
M
+
+
+
N
+
+
+
O
+
+
+
P
+
+
+
R
+
+
+
S
+
+
+
T
+
+
+
U
+
+
+
V
+
+
+
W
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
new file mode 100644
index 0000000..3f428c4
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
Automated Numerical To Analytical Rational function Extraction for Scattering amplitudes — antares 0.6.1 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ antares
+
+
+
+
+
+
+
+ Automated Numerical To Analytical Rational function Extraction for Scattering amplitudes
+
+ View page source
+
+
+
+
+
+
+
+
+
+Indices and tables
+
+
+
Modules Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/modules.html b/docs/modules.html
new file mode 100644
index 0000000..6954d93
--- /dev/null
+++ b/docs/modules.html
@@ -0,0 +1,195 @@
+
+
+
+
+
+
+
+
+
antares — antares 0.6.1 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/objects.inv b/docs/objects.inv
new file mode 100644
index 0000000..2c98174
Binary files /dev/null and b/docs/objects.inv differ
diff --git a/docs/py-modindex.html b/docs/py-modindex.html
new file mode 100644
index 0000000..b5ba1c8
--- /dev/null
+++ b/docs/py-modindex.html
@@ -0,0 +1,235 @@
+
+
+
+
+
+
+
+
Python Module Index — antares 0.6.1 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ antares
+
+
+
+
+
+
+
+ Python Module Index
+
+
+
+
+
+
+
+
+
+
Python Module Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/search.html b/docs/search.html
new file mode 100644
index 0000000..19faf2f
--- /dev/null
+++ b/docs/search.html
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
Search — antares 0.6.1 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ antares
+
+
+
+
+
+
+
+
+
+
+
+ Please activate JavaScript to enable the search functionality.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/searchindex.js b/docs/searchindex.js
new file mode 100644
index 0000000..0bcabe8
--- /dev/null
+++ b/docs/searchindex.js
@@ -0,0 +1 @@
+Search.setIndex({"alltitles": {"Automated Numerical To Analytical Rational function Extraction for Scattering amplitudes": [[8, null]], "Examples": [[2, "examples"]], "Indices and tables": [[8, "indices-and-tables"]], "Installation": [[8, "installation"]], "Module contents": [[0, "module-antares"], [1, "module-antares.ansatze"], [2, "module-antares.core"], [3, "module-antares.partial_fractioning"], [4, "module-antares.scalings"], [5, "module-antares.scripts"], [6, "module-antares.terms"], [7, "module-antares.topologies"]], "Modules Documentation": [[8, null]], "Parameters": [[2, "parameters"]], "Quick start": [[8, "quick-start"]], "Returns": [[2, "returns"]], "Submodules": [[0, "submodules"], [1, "submodules"], [2, "submodules"], [3, "submodules"], [4, "submodules"], [5, "submodules"], [6, "submodules"], [7, "submodules"]], "Subpackages": [[0, "subpackages"]], "antares": [[9, null]], "antares package": [[0, null]], "antares.analytical_to_analytical module": [[0, "antares-analytical-to-analytical-module"]], "antares.ansatze package": [[1, null]], "antares.ansatze.Numerator_Ansatz_Generator_CP_SAT module": [[1, "antares-ansatze-numerator-ansatz-generator-cp-sat-module"]], "antares.ansatze.Numerator_Ansatz_Generator_CP_SAT_2Higgses module": [[1, "antares-ansatze-numerator-ansatz-generator-cp-sat-2higgses-module"]], "antares.ansatze.Numerator_Ansatz_Generator_CP_SAT_Higgs module": [[1, "antares-ansatze-numerator-ansatz-generator-cp-sat-higgs-module"]], "antares.ansatze.Numerator_Ansatz_Generator_CP_SAT_W_Boson module": [[1, "antares-ansatze-numerator-ansatz-generator-cp-sat-w-boson-module"]], "antares.ansatze.eigenbasis module": [[1, "module-antares.ansatze.eigenbasis"]], "antares.ansatze.fitter module": [[1, "antares-ansatze-fitter-module"]], "antares.ansatze.generator module": [[1, "antares-ansatze-generator-module"]], "antares.ansatze.interface module": [[1, "antares-ansatze-interface-module"]], "antares.ansatze.matrix_loader module": [[1, "antares-ansatze-matrix-loader-module"]], "antares.bh_to_readable module": [[0, "antares-bh-to-readable-module"]], "antares.check_results module": [[0, "antares-check-results-module"]], "antares.core package": [[2, null]], "antares.core.bh_patch module": [[2, "module-antares.core.bh_patch"]], "antares.core.bh_unknown module": [[2, "module-antares.core.bh_unknown"]], "antares.core.my_warnings module": [[2, "module-antares.core.my_warnings"]], "antares.core.numerical_methods module": [[2, "module-antares.core.numerical_methods"]], "antares.core.pycuda_tools module": [[2, "antares-core-pycuda-tools-module"]], "antares.core.se_unknown module": [[2, "module-antares.core.se_unknown"]], "antares.core.settings module": [[2, "module-antares.core.settings"]], "antares.core.tools module": [[2, "module-antares.core.tools"]], "antares.core.unknown module": [[2, "module-antares.core.unknown"]], "antares.encode_cut_constructible_parts module": [[0, "antares-encode-cut-constructible-parts-module"]], "antares.numerical_to_analytical module": [[0, "antares-numerical-to-analytical-module"]], "antares.partial_fractioning package": [[3, null]], "antares.partial_fractioning.automatic module": [[3, "antares-partial-fractioning-automatic-module"]], "antares.partial_fractioning.by_guesses module": [[3, "antares-partial-fractioning-by-guesses-module"]], "antares.partial_fractioning.v3 module": [[3, "antares-partial-fractioning-v3-module"]], "antares.scalings package": [[4, null]], "antares.scalings.pair module": [[4, "module-antares.scalings.pair"]], "antares.scalings.single module": [[4, "module-antares.scalings.single"]], "antares.scripts package": [[5, null]], "antares.scripts.CoeffBuilder module": [[5, "antares-scripts-coeffbuilder-module"]], "antares.scripts.SpinorLatexCompiler module": [[5, "module-antares.scripts.SpinorLatexCompiler"]], "antares.terms package": [[6, null]], "antares.terms.term module": [[6, "module-antares.terms.term"]], "antares.terms.terms module": [[6, "module-antares.terms.terms"]], "antares.terms.terms_ad_hoc_ansatze module": [[6, "antares-terms-terms-ad-hoc-ansatze-module"]], "antares.terms.terms_numerator_fit module": [[6, "module-antares.terms.terms_numerator_fit"]], "antares.terms.vs_basis module": [[6, "antares-terms-vs-basis-module"]], "antares.topologies package": [[7, null]], "antares.topologies.topology module": [[7, "module-antares.topologies.topology"]]}, "docnames": ["antares", "antares.ansatze", "antares.core", "antares.partial_fractioning", "antares.scalings", "antares.scripts", "antares.terms", "antares.topologies", "index", "modules"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["antares.rst", "antares.ansatze.rst", "antares.core.rst", "antares.partial_fractioning.rst", "antares.scalings.rst", "antares.scripts.rst", "antares.terms.rst", "antares.topologies.rst", "index.rst", "modules.rst"], "indexentries": {"accuracy() (in module antares.core.bh_patch)": [[2, "antares.core.bh_patch.accuracy", false]], "add_partial_piece() (antares.core.unknown.unknown method)": [[2, "antares.core.unknown.Unknown.add_partial_piece", false]], "all_non_empty_subsets() (in module antares.core.tools)": [[2, "antares.core.tools.all_non_empty_subsets", false]], "all_symmetries (antares.core.numerical_methods.numerical_methods property)": [[2, "antares.core.numerical_methods.Numerical_Methods.all_symmetries", false]], "all_topologies() (in module antares.topologies.topology)": [[7, "antares.topologies.topology.all_topologies", false]], "am_i_a_symmetry (antares.terms.term.term property)": [[6, "antares.terms.term.Term.am_I_a_symmetry", false]], "ampindex (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.ampindex", false]], "ampindex (antares.core.unknown.unknown property)": [[2, "antares.core.unknown.Unknown.ampindex", false]], "amppart (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.amppart", false]], "amppart (antares.core.unknown.unknown property)": [[2, "antares.core.unknown.Unknown.amppart", false]], "amppart_and_ampindex (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.amppart_and_ampindex", false]], "amppart_and_ampindex (antares.core.unknown.unknown property)": [[2, "antares.core.unknown.Unknown.amppart_and_ampindex", false]], "ansatze_angle_degrees (antares.terms.terms.terms property)": [[6, "antares.terms.terms.Terms.ansatze_angle_degrees", false]], "ansatze_mass_dimensions (antares.terms.terms.terms property)": [[6, "antares.terms.terms.Terms.ansatze_mass_dimensions", false]], "ansatze_phase_weights (antares.terms.terms.terms property)": [[6, "antares.terms.terms.Terms.ansatze_phase_weights", false]], "ansatze_square_degrees (antares.terms.terms.terms property)": [[6, "antares.terms.terms.Terms.ansatze_square_degrees", false]], "antares": [[0, "module-antares", false]], "antares.ansatze": [[1, "module-antares.ansatze", false]], "antares.ansatze.eigenbasis": [[1, "module-antares.ansatze.eigenbasis", false]], "antares.core": [[2, "module-antares.core", false]], "antares.core.bh_patch": [[2, "module-antares.core.bh_patch", false]], "antares.core.bh_unknown": [[2, "module-antares.core.bh_unknown", false]], "antares.core.my_warnings": [[2, "module-antares.core.my_warnings", false]], "antares.core.numerical_methods": [[2, "module-antares.core.numerical_methods", false]], "antares.core.se_unknown": [[2, "module-antares.core.se_unknown", false]], "antares.core.settings": [[2, "module-antares.core.settings", false]], "antares.core.tools": [[2, "module-antares.core.tools", false]], "antares.core.unknown": [[2, "module-antares.core.unknown", false]], "antares.partial_fractioning": [[3, "module-antares.partial_fractioning", false]], "antares.scalings": [[4, "module-antares.scalings", false]], "antares.scalings.pair": [[4, "module-antares.scalings.pair", false]], "antares.scalings.single": [[4, "module-antares.scalings.single", false]], "antares.scripts": [[5, "module-antares.scripts", false]], "antares.scripts.spinorlatexcompiler": [[5, "module-antares.scripts.SpinorLatexCompiler", false]], "antares.terms": [[6, "module-antares.terms", false]], "antares.terms.term": [[6, "module-antares.terms.term", false]], "antares.terms.terms": [[6, "module-antares.terms.terms", false]], "antares.terms.terms_numerator_fit": [[6, "module-antares.terms.terms_numerator_fit", false]], "antares.topologies": [[7, "module-antares.topologies", false]], "antares.topologies.topology": [[7, "module-antares.topologies.topology", false]], "are_fully_reduced (antares.terms.terms.terms property)": [[6, "antares.terms.terms.Terms.are_fully_reduced", false]], "as_scalar_if_scalar() (in module antares.core.numerical_methods)": [[2, "antares.core.numerical_methods.as_scalar_if_scalar", false]], "base_cache_path (antares.core.settings.settings property)": [[2, "antares.core.settings.Settings.base_cache_path", false]], "base_res_path (antares.core.settings.settings property)": [[2, "antares.core.settings.Settings.base_res_path", false]], "basis_functions (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.basis_functions", false]], "basis_functions (antares.core.unknown.unknown property)": [[2, "antares.core.unknown.Unknown.basis_functions", false]], "basis_functions_invs (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.basis_functions_invs", false]], "basis_functions_invs (antares.core.unknown.unknown property)": [[2, "antares.core.unknown.Unknown.basis_functions_invs", false]], "bh_process (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.BH_process", false]], "bh_vectori (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.BH_vectori", false]], "bhsettings (antares.core.settings.settings property)": [[2, "antares.core.settings.Settings.BHsettings", false]], "bhunknown (class in antares.core.bh_unknown)": [[2, "antares.core.bh_unknown.BHUnknown", false]], "box_topologies() (in module antares.topologies.topology)": [[7, "antares.topologies.topology.box_topologies", false]], "bubble_topologies() (in module antares.topologies.topology)": [[7, "antares.topologies.topology.bubble_topologies", false]], "caching_decorator() (in module antares.core.unknown)": [[2, "antares.core.unknown.caching_decorator", false]], "caching_decorator() (in module antares.terms.terms)": [[6, "antares.terms.terms.caching_decorator", false]], "call_cache_path (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.call_cache_path", false]], "canonical_ordering() (antares.terms.term.term method)": [[6, "antares.terms.term.Term.canonical_ordering", false]], "canonical_ordering() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.canonical_ordering", false]], "canonicalordering() (in module antares.ansatze.eigenbasis)": [[1, "antares.ansatze.eigenbasis.CanonicalOrdering", false]], "cgmp_to_mpc() (in module antares.core.tools)": [[2, "antares.core.tools.cgmp_to_mpc", false]], "chained_gcd() (in module antares.core.tools)": [[2, "antares.core.tools.chained_gcd", false]], "check_against_unknown() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.check_against_unknown", false]], "check_md_pw_consistency() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.check_md_pw_consistency", false]], "chunks() (in module antares.core.tools)": [[2, "antares.core.tools.chunks", false]], "clean_pair_scalings_from_numerator() (in module antares.scalings.pair)": [[4, "antares.scalings.pair.clean_pair_scalings_from_numerator", false]], "clear() (antares.core.my_warnings.warnings method)": [[2, "antares.core.my_warnings.warnings.clear", false]], "cluster() (antares.terms.term.term method)": [[6, "antares.terms.term.Term.cluster", false]], "cluster() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.cluster", false]], "cluster_invariant() (in module antares.terms.term)": [[6, "antares.terms.term.cluster_invariant", false]], "cluster_symmetry() (in module antares.terms.term)": [[6, "antares.terms.term.cluster_symmetry", false]], "collapse() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.collapse", false]], "collinear_data (antares.core.numerical_methods.numerical_methods property)": [[2, "antares.core.numerical_methods.Numerical_Methods.collinear_data", false]], "common_coeff_factor (antares.terms.terms.terms property)": [[6, "antares.terms.terms.Terms.common_coeff_factor", false]], "commoninvsstring (antares.terms.term.numerator property)": [[6, "antares.terms.term.Numerator.CommonInvsString", false]], "compactify_symmetries() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.compactify_symmetries", false]], "composed() (in module antares.core.numerical_methods)": [[2, "antares.core.numerical_methods.composed", false]], "compute() (in module antares.core.tools)": [[2, "antares.core.tools.Compute", false]], "configuration_unpacker() (in module antares.core.tools)": [[2, "antares.core.tools.configuration_unpacker", false]], "conversion_rules() (in module antares.topologies.topology)": [[7, "antares.topologies.topology.conversion_rules", false]], "convert_invariant() (in module antares.topologies.topology)": [[7, "antares.topologies.topology.convert_invariant", false]], "cores (antares.core.settings.settings property)": [[2, "antares.core.settings.Settings.Cores", false]], "corners_from_label() (in module antares.topologies.topology)": [[7, "antares.topologies.topology.corners_from_label", false]], "count_gluons (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.count_gluons", false]], "count_photons (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.count_photons", false]], "count_quarks (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.count_quarks", false]], "daemon (antares.core.tools.nodaemonprocess property)": [[2, "antares.core.tools.NoDaemonProcess.daemon", false]], "decrement() (antares.core.tools.progress method)": [[2, "antares.core.tools.Progress.decrement", false]], "denominator (class in antares.terms.term)": [[6, "antares.terms.term.Denominator", false]], "do_double_collinear_limits() (antares.core.numerical_methods.numerical_methods method)": [[2, "antares.core.numerical_methods.Numerical_Methods.do_double_collinear_limits", false]], "do_exploratory_double_collinear_limits() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.do_exploratory_double_collinear_limits", false]], "do_single_collinear_limits() (antares.core.numerical_methods.numerical_methods method)": [[2, "antares.core.numerical_methods.Numerical_Methods.do_single_collinear_limits", false]], "does_not_require_partial_fractioning() (antares.core.unknown.unknown method)": [[2, "antares.core.unknown.Unknown.does_not_require_partial_fractioning", false]], "easy_boxes (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.easy_boxes", false]], "easy_boxes (antares.core.unknown.unknown property)": [[2, "antares.core.unknown.Unknown.easy_boxes", false]], "equivalence_class (antares.topologies.topology.topology property)": [[7, "antares.topologies.topology.Topology.equivalence_class", false]], "equivalent_strings() (in module antares.topologies.topology)": [[7, "antares.topologies.topology.equivalent_strings", false]], "escape_char (antares.core.tools.outputgrabber attribute)": [[2, "antares.core.tools.OutputGrabber.escape_char", false]], "explicit_representation() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.explicit_representation", false]], "fakemanager (class in antares.core.tools)": [[2, "antares.core.tools.fakeManager", false]], "fakevalue (class in antares.core.tools)": [[2, "antares.core.tools.fakeValue", false]], "file_compatible_print() (in module antares.core.bh_patch)": [[2, "antares.core.bh_patch.file_compatible_print", false]], "filterthreads() (in module antares.core.tools)": [[2, "antares.core.tools.filterThreads", false]], "finite_field_mass_dimension() (antares.core.numerical_methods.numerical_methods static method)": [[2, "antares.core.numerical_methods.Numerical_Methods.finite_field_mass_dimension", false]], "finite_field_phase_weight() (antares.core.numerical_methods.numerical_methods static method)": [[2, "antares.core.numerical_methods.Numerical_Methods.finite_field_phase_weight", false]], "fit_numerators() (antares.terms.terms_numerator_fit.terms_numerators_fit method)": [[6, "antares.terms.terms_numerator_fit.Terms_numerators_fit.fit_numerators", false]], "fit_single_scalings_result() (antares.core.unknown.unknown method)": [[2, "antares.core.unknown.Unknown.fit_single_scalings_result", false]], "fittingsettings (class in antares.terms.terms)": [[6, "antares.terms.terms.FittingSettings", false]], "fix_old_automatic_partial_fractioning_format() (in module antares.terms.terms)": [[6, "antares.terms.terms.fix_old_automatic_partial_fractioning_format", false]], "flatten() (in module antares.core.tools)": [[2, "antares.core.tools.flatten", false]], "flip_helicities() (in module antares.topologies.topology)": [[7, "antares.topologies.topology.flip_helicities", false]], "flip_quark_line() (in module antares.topologies.topology)": [[7, "antares.topologies.topology.flip_quark_line", false]], "forbidden_ordering() (in module antares.core.tools)": [[2, "antares.core.tools.forbidden_ordering", false]], "fraction_to_proper_fraction() (in module antares.core.tools)": [[2, "antares.core.tools.fraction_to_proper_fraction", false]], "from_single_scalings() (antares.terms.term.term class method)": [[6, "antares.terms.term.Term.from_single_scalings", false]], "generate_bh_cpp_files() (in module antares.core.tools)": [[2, "antares.core.tools.generate_BH_cpp_files", false]], "generate_latex_and_pdf() (in module antares.core.tools)": [[2, "antares.core.tools.Generate_LaTeX_and_PDF", false]], "generate_pdf() (in module antares.scripts.spinorlatexcompiler)": [[5, "antares.scripts.SpinorLatexCompiler.generate_pdf", false]], "get_analytical_boxes() (antares.core.bh_unknown.bhunknown method)": [[2, "antares.core.bh_unknown.BHUnknown.get_analytical_boxes", false]], "get_call_cache() (antares.core.bh_unknown.bhunknown method)": [[2, "antares.core.bh_unknown.BHUnknown.get_call_cache", false]], "get_common_q_factor() (in module antares.core.tools)": [[2, "antares.core.tools.get_common_Q_factor", false]], "get_external_quarks() (in module antares.topologies.topology)": [[7, "antares.topologies.topology.get_external_quarks", false]], "get_label() (in module antares.topologies.topology)": [[7, "antares.topologies.topology.get_label", false]], "get_max_abs_numerator() (in module antares.core.tools)": [[2, "antares.core.tools.get_max_abs_numerator", false]], "get_max_denominator() (in module antares.core.tools)": [[2, "antares.core.tools.get_max_denominator", false]], "get_nbr_quark_lines() (in module antares.topologies.topology)": [[7, "antares.topologies.topology.get_nbr_quark_lines", false]], "get_partial_fractioned_terms() (antares.core.unknown.unknown method)": [[2, "antares.core.unknown.Unknown.get_partial_fractioned_terms", false]], "get_topology_info() (antares.core.bh_unknown.bhunknown method)": [[2, "antares.core.bh_unknown.BHUnknown.get_topology_info", false]], "gmp_precision (antares.core.settings.settings property)": [[2, "antares.core.settings.Settings.gmp_precision", false]], "helconf (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.helconf", false]], "helconf (antares.core.unknown.unknown property)": [[2, "antares.core.unknown.Unknown.helconf", false]], "helconf_and_loopid (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.helconf_and_loopid", false]], "helconf_and_loopid (antares.core.unknown.unknown property)": [[2, "antares.core.unknown.Unknown.helconf_and_loopid", false]], "helconf_from_label() (in module antares.topologies.topology)": [[7, "antares.topologies.topology.helconf_from_label", false]], "image() (antares.terms.term.term method)": [[6, "antares.terms.term.Term.Image", false]], "image() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.Image", false]], "image() (in module antares.ansatze.eigenbasis)": [[1, "antares.ansatze.eigenbasis.Image", false]], "increment() (antares.core.tools.progress method)": [[2, "antares.core.tools.Progress.increment", false]], "independent_topologies() (in module antares.topologies.topology)": [[7, "antares.topologies.topology.independent_topologies", false]], "index_of_last_symmetry() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.index_of_last_symmetry", false]], "internal_masses (antares.core.numerical_methods.numerical_methods property)": [[2, "antares.core.numerical_methods.Numerical_Methods.internal_masses", false]], "internal_masses (antares.core.unknown.unknown property)": [[2, "antares.core.unknown.Unknown.internal_masses", false]], "internal_masses (antares.terms.term.term property)": [[6, "antares.terms.term.Term.internal_masses", false]], "internal_masses (antares.terms.terms.terms property)": [[6, "antares.terms.terms.Terms.internal_masses", false]], "internal_symmetry() (in module antares.topologies.topology)": [[7, "antares.topologies.topology.internal_symmetry", false]], "invs_only_in_iden() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.invs_only_in_iDen", false]], "is_fully_reduced (antares.terms.term.term property)": [[6, "antares.terms.term.Term.is_fully_reduced", false]], "is_iterable (antares.core.numerical_methods.numerical_methods property)": [[2, "antares.core.numerical_methods.Numerical_Methods.is_iterable", false]], "is_zero (antares.core.numerical_methods.numerical_methods property)": [[2, "antares.core.numerical_methods.Numerical_Methods.is_zero", false]], "isolate_common_invariants_and_exponents() (antares.terms.term.numerator method)": [[6, "antares.terms.term.Numerator.isolate_common_invariants_and_exponents", false]], "latextopython() (in module antares.core.tools)": [[2, "antares.core.tools.LaTeXToPython", false]], "lcoefsstring (antares.terms.term.numerator property)": [[6, "antares.terms.term.Numerator.lCoefsString", false]], "linvsstring (antares.terms.term.numerator property)": [[6, "antares.terms.term.Numerator.lInvsString", false]], "llcoefs (antares.terms.terms.terms property)": [[6, "antares.terms.terms.Terms.llCoefs", false]], "lldenexps (antares.terms.terms.terms property)": [[6, "antares.terms.terms.Terms.llDenExps", false]], "lldeninvs (antares.terms.terms.terms property)": [[6, "antares.terms.terms.Terms.llDenInvs", false]], "lllnumexps (antares.terms.terms.terms property)": [[6, "antares.terms.terms.Terms.lllNumExps", false]], "lllnuminvs (antares.terms.terms.terms property)": [[6, "antares.terms.terms.Terms.lllNumInvs", false]], "loadresults() (in module antares.terms.terms)": [[6, "antares.terms.terms.LoadResults", false]], "log_linear_fit() (in module antares.core.tools)": [[2, "antares.core.tools.log_linear_fit", false]], "log_linear_fit_exception": [[2, "antares.core.tools.log_linear_fit_Exception", false]], "logfile (antares.core.settings.settings property)": [[2, "antares.core.settings.Settings.logfile", false]], "loopid (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.loopid", false]], "loopid (antares.core.unknown.unknown property)": [[2, "antares.core.unknown.Unknown.loopid", false]], "lphase_weights (antares.terms.terms.terms property)": [[6, "antares.terms.terms.Terms.lphase_weights", false]], "main() (in module antares.scripts.spinorlatexcompiler)": [[5, "antares.scripts.SpinorLatexCompiler.main", false]], "make_proper() (in module antares.terms.term)": [[6, "antares.terms.term.make_proper", false]], "mapthreads() (in module antares.core.tools)": [[2, "antares.core.tools.mapThreads", false]], "mass_dimension (antares.core.numerical_methods.numerical_methods property)": [[2, "antares.core.numerical_methods.Numerical_Methods.mass_dimension", false]], "mass_dimension (antares.core.unknown.unknown property)": [[2, "antares.core.unknown.Unknown.mass_dimension", false]], "mass_dimension_and_phase_weights_lparticles() (antares.core.numerical_methods.numerical_methods static method)": [[2, "antares.core.numerical_methods.Numerical_Methods.mass_dimension_and_phase_weights_lParticles", false]], "mass_dimension_lparticles() (antares.core.numerical_methods.numerical_methods static method)": [[2, "antares.core.numerical_methods.Numerical_Methods.mass_dimension_lParticles", false]], "mass_dimensions (antares.terms.terms.terms property)": [[6, "antares.terms.terms.Terms.mass_dimensions", false]], "max_abs_numerator (antares.terms.terms.terms property)": [[6, "antares.terms.terms.Terms.max_abs_numerator", false]], "max_denominator (antares.terms.terms.terms property)": [[6, "antares.terms.terms.Terms.max_denominator", false]], "memoized() (in module antares.core.numerical_methods)": [[2, "antares.core.numerical_methods.memoized", false]], "models (antares.topologies.topology.topology property)": [[7, "antares.topologies.topology.Topology.models", false]], "module": [[0, "module-antares", false], [1, "module-antares.ansatze", false], [1, "module-antares.ansatze.eigenbasis", false], [2, "module-antares.core", false], [2, "module-antares.core.bh_patch", false], [2, "module-antares.core.bh_unknown", false], [2, "module-antares.core.my_warnings", false], [2, "module-antares.core.numerical_methods", false], [2, "module-antares.core.se_unknown", false], [2, "module-antares.core.settings", false], [2, "module-antares.core.tools", false], [2, "module-antares.core.unknown", false], [3, "module-antares.partial_fractioning", false], [4, "module-antares.scalings", false], [4, "module-antares.scalings.pair", false], [4, "module-antares.scalings.single", false], [5, "module-antares.scripts", false], [5, "module-antares.scripts.SpinorLatexCompiler", false], [6, "module-antares.terms", false], [6, "module-antares.terms.term", false], [6, "module-antares.terms.terms", false], [6, "module-antares.terms.terms_numerator_fit", false], [7, "module-antares.topologies", false], [7, "module-antares.topologies.topology", false]], "mpc_mass_dimension() (antares.core.numerical_methods.numerical_methods static method)": [[2, "antares.core.numerical_methods.Numerical_Methods.mpc_mass_dimension", false]], "mpc_phase_weight() (antares.core.numerical_methods.numerical_methods static method)": [[2, "antares.core.numerical_methods.Numerical_Methods.mpc_phase_weight", false]], "mpc_to_cgmp() (in module antares.core.tools)": [[2, "antares.core.tools.mpc_to_cgmp", false]], "multiplicity (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.multiplicity", false]], "multiplicity (antares.core.unknown.unknown property)": [[2, "antares.core.unknown.Unknown.multiplicity", false]], "multiplicity (antares.terms.term.term property)": [[6, "antares.terms.term.Term.multiplicity", false]], "multiplicity (antares.terms.terms.terms property)": [[6, "antares.terms.terms.Terms.multiplicity", false]], "myprocesspool (class in antares.core.tools)": [[2, "antares.core.tools.MyProcessPool", false]], "myshelf (class in antares.core.tools)": [[2, "antares.core.tools.MyShelf", false]], "mythreadpool (class in antares.core.tools)": [[2, "antares.core.tools.MyThreadPool", false]], "nbr_external_antiquarks (antares.topologies.topology.topology property)": [[7, "antares.topologies.topology.Topology.nbr_external_antiquarks", false]], "nbr_external_gluons (antares.topologies.topology.topology property)": [[7, "antares.topologies.topology.Topology.nbr_external_gluons", false]], "nbr_external_photons (antares.topologies.topology.topology property)": [[7, "antares.topologies.topology.Topology.nbr_external_photons", false]], "nbr_external_quarks (antares.topologies.topology.topology property)": [[7, "antares.topologies.topology.Topology.nbr_external_quarks", false]], "negative_entries() (in module antares.core.tools)": [[2, "antares.core.tools.Negative_Entries", false]], "nodaemonprocess (class in antares.core.tools)": [[2, "antares.core.tools.NoDaemonProcess", false]], "nodaemonprocesspool (class in antares.core.tools)": [[2, "antares.core.tools.NoDaemonProcessPool", false]], "nullcontext (class in antares.core.tools)": [[2, "antares.core.tools.nullcontext", false]], "num_func (class in antares.core.numerical_methods)": [[2, "antares.core.numerical_methods.num_func", false]], "numerator (class in antares.terms.term)": [[6, "antares.terms.term.Numerator", false]], "numerical_methods (class in antares.core.numerical_methods)": [[2, "antares.core.numerical_methods.Numerical_Methods", false]], "numpy_vectorized() (in module antares.core.numerical_methods)": [[2, "antares.core.numerical_methods.numpy_vectorized", false]], "order_terms_by_complexity() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.order_terms_by_complexity", false]], "output_needs_grabbing() (in module antares.core.tools)": [[2, "antares.core.tools.output_needs_grabbing", false]], "outputgrabber (class in antares.core.tools)": [[2, "antares.core.tools.OutputGrabber", false]], "padic_mass_dimension() (antares.core.numerical_methods.numerical_methods static method)": [[2, "antares.core.numerical_methods.Numerical_Methods.padic_mass_dimension", false]], "padic_phase_weight() (antares.core.numerical_methods.numerical_methods static method)": [[2, "antares.core.numerical_methods.Numerical_Methods.padic_phase_weight", false]], "pair_scaling() (in module antares.scalings.pair)": [[4, "antares.scalings.pair.pair_scaling", false]], "pair_scalings() (in module antares.scalings.pair)": [[4, "antares.scalings.pair.pair_scalings", false]], "parse_monomial() (in module antares.terms.term)": [[6, "antares.terms.term.parse_monomial", false]], "parse_pnbs_to_functions() (in module antares.terms.terms)": [[6, "antares.terms.terms.parse_pNBs_to_functions", false]], "partialcompute() (in module antares.core.tools)": [[2, "antares.core.tools.PartialCompute", false]], "phase_weights (antares.core.numerical_methods.numerical_methods property)": [[2, "antares.core.numerical_methods.Numerical_Methods.phase_weights", false]], "phase_weights (antares.core.unknown.unknown property)": [[2, "antares.core.unknown.Unknown.phase_weights", false]], "phase_weights_lparticles() (antares.core.numerical_methods.numerical_methods static method)": [[2, "antares.core.numerical_methods.Numerical_Methods.phase_weights_lParticles", false]], "poles_to_be_eliminated (antares.core.unknown.unknown property)": [[2, "antares.core.unknown.Unknown.poles_to_be_eliminated", false]], "positive_entries() (in module antares.core.tools)": [[2, "antares.core.tools.Positive_Entries", false]], "print_graphs() (antares.core.bh_unknown.bhunknown method)": [[2, "antares.core.bh_unknown.BHUnknown.print_graphs", false]], "print_partial_result() (antares.core.unknown.unknown method)": [[2, "antares.core.unknown.Unknown.print_partial_result", false]], "print_topology_info() (antares.core.bh_unknown.bhunknown method)": [[2, "antares.core.bh_unknown.BHUnknown.print_topology_info", false]], "printbhcpp() (in module antares.core.tools)": [[2, "antares.core.tools.printBHcpp", false]], "printbhcpp_inner() (in module antares.core.tools)": [[2, "antares.core.tools.printBHcpp_inner", false]], "process() (antares.core.tools.nodaemonprocesspool method)": [[2, "antares.core.tools.NoDaemonProcessPool.Process", false]], "process_name (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.process_name", false]], "progress (class in antares.core.tools)": [[2, "antares.core.tools.Progress", false]], "progress_wrapper() (in module antares.core.tools)": [[2, "antares.core.tools.progress_wrapper", false]], "pwtestingcachepath (antares.core.settings.settings property)": [[2, "antares.core.settings.Settings.PWTestingCachePath", false]], "raise_error() (antares.core.my_warnings.warnings method)": [[2, "antares.core.my_warnings.warnings.raise_error", false]], "rand_frac() (in module antares.core.tools)": [[2, "antares.core.tools.rand_frac", false]], "rawimage() (antares.terms.term.term method)": [[6, "antares.terms.term.Term.rawImage", false]], "read_from_file() (antares.core.settings.settings method)": [[2, "antares.core.settings.Settings.read_from_file", false]], "readoutput() (antares.core.tools.outputgrabber method)": [[2, "antares.core.tools.OutputGrabber.readOutput", false]], "rearrange_and_finalise() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.rearrange_and_finalise", false]], "recursively_extract_original_unknown() (antares.core.unknown.unknown method)": [[2, "antares.core.unknown.Unknown.recursively_extract_original_unknown", false]], "recursively_extract_terms() (antares.core.unknown.unknown method)": [[2, "antares.core.unknown.Unknown.recursively_extract_terms", false]], "refine_fit() (antares.terms.terms_numerator_fit.terms_numerators_fit method)": [[6, "antares.terms.terms_numerator_fit.Terms_numerators_fit.refine_fit", false]], "regulated_division() (in module antares.core.numerical_methods)": [[2, "antares.core.numerical_methods.regulated_division", false]], "relevant_old_terms() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.relevant_old_Terms", false]], "reload_call_cache() (antares.core.bh_unknown.bhunknown method)": [[2, "antares.core.bh_unknown.BHUnknown.reload_call_cache", false]], "remove_duplicates() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.remove_duplicates", false]], "remove_last_partial_piece() (antares.core.unknown.unknown method)": [[2, "antares.core.unknown.Unknown.remove_last_partial_piece", false]], "reorder_invariants_for_partial_fractioning() (antares.core.unknown.unknown method)": [[2, "antares.core.unknown.Unknown.reorder_invariants_for_partial_fractioning", false]], "res_path (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.res_path", false]], "res_path (antares.core.unknown.unknown property)": [[2, "antares.core.unknown.Unknown.res_path", false]], "reset() (antares.core.unknown.unknown method)": [[2, "antares.core.unknown.Unknown.reset", false]], "retry() (in module antares.core.tools)": [[2, "antares.core.tools.retry", false]], "run_file_name (antares.core.settings.settings property)": [[2, "antares.core.settings.Settings.run_file_name", false]], "save_call_cache() (antares.core.bh_unknown.bhunknown method)": [[2, "antares.core.bh_unknown.BHUnknown.save_call_cache", false]], "save_original_unknown_call_cache() (antares.core.unknown.unknown method)": [[2, "antares.core.unknown.Unknown.save_original_unknown_call_cache", false]], "set_inversion_accuracy() (antares.terms.terms_numerator_fit.terms_numerators_fit method)": [[6, "antares.terms.terms_numerator_fit.Terms_numerators_fit.set_inversion_accuracy", false]], "settings (class in antares.core.settings)": [[2, "antares.core.settings.Settings", false]], "seunknown (class in antares.core.se_unknown)": [[2, "antares.core.se_unknown.SEUnknown", false]], "shelconf (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.shelconf", false]], "short_process_name (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.short_process_name", false]], "sign_of_permutation() (in module antares.topologies.topology)": [[7, "antares.topologies.topology.sign_of_permutation", false]], "silent (antares.core.my_warnings.warnings property)": [[2, "antares.core.my_warnings.warnings.silent", false]], "simplify_factored_monomials() (antares.terms.term.term method)": [[6, "antares.terms.term.Term.simplify_factored_monomials", false]], "single_scaling() (in module antares.scalings.single)": [[4, "antares.scalings.single.single_scaling", false]], "single_scalings() (in module antares.scalings.single)": [[4, "antares.scalings.single.single_scalings", false]], "soft_weights (antares.core.numerical_methods.numerical_methods property)": [[2, "antares.core.numerical_methods.Numerical_Methods.soft_weights", false]], "soft_weights (antares.core.unknown.unknown property)": [[2, "antares.core.unknown.Unknown.soft_weights", false]], "spurious_poles (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.spurious_poles", false]], "spurious_poles (antares.core.unknown.unknown property)": [[2, "antares.core.unknown.Unknown.spurious_poles", false]], "start() (antares.core.tools.outputgrabber method)": [[2, "antares.core.tools.OutputGrabber.start", false]], "stop() (antares.core.tools.outputgrabber method)": [[2, "antares.core.tools.OutputGrabber.stop", false]], "string_tosam() (in module antares.terms.terms)": [[6, "antares.terms.terms.string_toSaM", false]], "sum_abs() (in module antares.core.tools)": [[2, "antares.core.tools.Sum_Abs", false]], "summarise() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.summarise", false]], "tensor_function (class in antares.core.numerical_methods)": [[2, "antares.core.numerical_methods.tensor_function", false]], "term (class in antares.terms.term)": [[6, "antares.terms.term.Term", false]], "terms (class in antares.terms.terms)": [[6, "antares.terms.terms.Terms", false]], "terms_numerators_fit (class in antares.terms.terms_numerator_fit)": [[6, "antares.terms.terms_numerator_fit.Terms_numerators_fit", false]], "to_int_prec (antares.core.settings.settings property)": [[2, "antares.core.settings.Settings.to_int_prec", false]], "toform() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.toFORM", false]], "tofortran() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.toFortran", false]], "topology (antares.topologies.topology.topology property)": [[7, "antares.topologies.topology.Topology.topology", false]], "topology (class in antares.topologies.topology)": [[7, "antares.topologies.topology.Topology", false]], "topology_info() (in module antares.topologies.topology)": [[7, "antares.topologies.topology.topology_info", false]], "tosam() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.toSaM", false]], "tosympy() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.toSympy", false]], "triangle_topologies() (in module antares.topologies.topology)": [[7, "antares.topologies.topology.triangle_topologies", false]], "unknown (class in antares.core.unknown)": [[2, "antares.core.unknown.Unknown", false]], "update_invs_set() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.update_invs_set", false]], "upload_mom_conf_joe() (in module antares.core.se_unknown)": [[2, "antares.core.se_unknown.upload_mom_conf_joe", false]], "upload_momentum_configuration() (in module antares.core.bh_unknown)": [[2, "antares.core.bh_unknown.Upload_Momentum_Configuration", false]], "upper_res_path (antares.core.bh_unknown.bhunknown property)": [[2, "antares.core.bh_unknown.BHUnknown.upper_res_path", false]], "value() (antares.core.tools.fakemanager static method)": [[2, "antares.core.tools.fakeManager.Value", false]], "warn() (antares.core.my_warnings.warnings method)": [[2, "antares.core.my_warnings.warnings.warn", false]], "warning (antares.core.my_warnings.warnings property)": [[2, "antares.core.my_warnings.warnings.warning", false]], "warnings (class in antares.core.my_warnings)": [[2, "antares.core.my_warnings.warnings", false]], "what_am_i (antares.core.unknown.unknown property)": [[2, "antares.core.unknown.Unknown.what_am_I", false]], "with_normalized_coeffs (antares.terms.terms.terms property)": [[6, "antares.terms.terms.Terms.with_normalized_coeffs", false]], "worker() (in module antares.core.tools)": [[2, "antares.core.tools.worker", false]], "write() (antares.core.tools.progress method)": [[2, "antares.core.tools.Progress.write", false]], "write() (in module antares.core.tools)": [[2, "antares.core.tools.Write", false]], "write_latex() (antares.terms.terms.terms method)": [[6, "antares.terms.terms.Terms.Write_LaTex", false]]}, "objects": {"": [[0, 0, 0, "-", "antares"]], "antares": [[1, 0, 0, "-", "ansatze"], [2, 0, 0, "-", "core"], [3, 0, 0, "-", "partial_fractioning"], [4, 0, 0, "-", "scalings"], [5, 0, 0, "-", "scripts"], [6, 0, 0, "-", "terms"], [7, 0, 0, "-", "topologies"]], "antares.ansatze": [[1, 0, 0, "-", "eigenbasis"]], "antares.ansatze.eigenbasis": [[1, 1, 1, "", "CanonicalOrdering"], [1, 1, 1, "", "Image"]], "antares.core": [[2, 0, 0, "-", "bh_patch"], [2, 0, 0, "-", "bh_unknown"], [2, 0, 0, "-", "my_warnings"], [2, 0, 0, "-", "numerical_methods"], [2, 0, 0, "-", "se_unknown"], [2, 0, 0, "-", "settings"], [2, 0, 0, "-", "tools"], [2, 0, 0, "-", "unknown"]], "antares.core.bh_patch": [[2, 1, 1, "", "accuracy"], [2, 1, 1, "", "file_compatible_print"]], "antares.core.bh_unknown": [[2, 2, 1, "", "BHUnknown"], [2, 1, 1, "", "Upload_Momentum_Configuration"]], "antares.core.bh_unknown.BHUnknown": [[2, 3, 1, "", "BH_process"], [2, 3, 1, "", "BH_vectori"], [2, 3, 1, "", "ampindex"], [2, 3, 1, "", "amppart"], [2, 3, 1, "", "amppart_and_ampindex"], [2, 3, 1, "", "basis_functions"], [2, 3, 1, "", "basis_functions_invs"], [2, 3, 1, "", "call_cache_path"], [2, 3, 1, "", "count_gluons"], [2, 3, 1, "", "count_photons"], [2, 3, 1, "", "count_quarks"], [2, 3, 1, "", "easy_boxes"], [2, 4, 1, "", "get_analytical_boxes"], [2, 4, 1, "", "get_call_cache"], [2, 4, 1, "", "get_topology_info"], [2, 3, 1, "", "helconf"], [2, 3, 1, "", "helconf_and_loopid"], [2, 3, 1, "", "loopid"], [2, 3, 1, "", "multiplicity"], [2, 4, 1, "", "print_graphs"], [2, 4, 1, "", "print_topology_info"], [2, 3, 1, "", "process_name"], [2, 4, 1, "", "reload_call_cache"], [2, 3, 1, "", "res_path"], [2, 4, 1, "", "save_call_cache"], [2, 3, 1, "", "shelconf"], [2, 3, 1, "", "short_process_name"], [2, 3, 1, "", "spurious_poles"], [2, 3, 1, "", "upper_res_path"]], "antares.core.my_warnings": [[2, 2, 1, "", "warnings"]], "antares.core.my_warnings.warnings": [[2, 4, 1, "", "clear"], [2, 4, 1, "", "raise_error"], [2, 3, 1, "", "silent"], [2, 4, 1, "", "warn"], [2, 3, 1, "", "warning"]], "antares.core.numerical_methods": [[2, 2, 1, "", "Numerical_Methods"], [2, 1, 1, "", "as_scalar_if_scalar"], [2, 1, 1, "", "composed"], [2, 1, 1, "", "memoized"], [2, 2, 1, "", "num_func"], [2, 1, 1, "", "numpy_vectorized"], [2, 1, 1, "", "regulated_division"], [2, 2, 1, "", "tensor_function"]], "antares.core.numerical_methods.Numerical_Methods": [[2, 3, 1, "", "all_symmetries"], [2, 3, 1, "", "collinear_data"], [2, 4, 1, "", "do_double_collinear_limits"], [2, 4, 1, "", "do_single_collinear_limits"], [2, 4, 1, "", "finite_field_mass_dimension"], [2, 4, 1, "", "finite_field_phase_weight"], [2, 3, 1, "", "internal_masses"], [2, 3, 1, "", "is_iterable"], [2, 3, 1, "", "is_zero"], [2, 3, 1, "", "mass_dimension"], [2, 4, 1, "", "mass_dimension_and_phase_weights_lParticles"], [2, 4, 1, "", "mass_dimension_lParticles"], [2, 4, 1, "", "mpc_mass_dimension"], [2, 4, 1, "", "mpc_phase_weight"], [2, 4, 1, "", "padic_mass_dimension"], [2, 4, 1, "", "padic_phase_weight"], [2, 3, 1, "", "phase_weights"], [2, 4, 1, "", "phase_weights_lParticles"], [2, 3, 1, "", "soft_weights"]], "antares.core.se_unknown": [[2, 2, 1, "", "SEUnknown"], [2, 1, 1, "", "upload_mom_conf_joe"]], "antares.core.settings": [[2, 2, 1, "", "Settings"]], "antares.core.settings.Settings": [[2, 3, 1, "", "BHsettings"], [2, 3, 1, "", "Cores"], [2, 3, 1, "", "PWTestingCachePath"], [2, 3, 1, "", "base_cache_path"], [2, 3, 1, "", "base_res_path"], [2, 3, 1, "", "gmp_precision"], [2, 3, 1, "", "logfile"], [2, 4, 1, "", "read_from_file"], [2, 3, 1, "", "run_file_name"], [2, 3, 1, "", "to_int_prec"]], "antares.core.tools": [[2, 1, 1, "", "Compute"], [2, 1, 1, "", "Generate_LaTeX_and_PDF"], [2, 1, 1, "", "LaTeXToPython"], [2, 2, 1, "", "MyProcessPool"], [2, 2, 1, "", "MyShelf"], [2, 2, 1, "", "MyThreadPool"], [2, 1, 1, "", "Negative_Entries"], [2, 2, 1, "", "NoDaemonProcess"], [2, 2, 1, "", "NoDaemonProcessPool"], [2, 2, 1, "", "OutputGrabber"], [2, 1, 1, "", "PartialCompute"], [2, 1, 1, "", "Positive_Entries"], [2, 2, 1, "", "Progress"], [2, 1, 1, "", "Sum_Abs"], [2, 1, 1, "", "Write"], [2, 1, 1, "", "all_non_empty_subsets"], [2, 1, 1, "", "cgmp_to_mpc"], [2, 1, 1, "", "chained_gcd"], [2, 1, 1, "", "chunks"], [2, 1, 1, "", "configuration_unpacker"], [2, 2, 1, "", "fakeManager"], [2, 2, 1, "", "fakeValue"], [2, 1, 1, "", "filterThreads"], [2, 1, 1, "", "flatten"], [2, 1, 1, "", "forbidden_ordering"], [2, 1, 1, "", "fraction_to_proper_fraction"], [2, 1, 1, "", "generate_BH_cpp_files"], [2, 1, 1, "", "get_common_Q_factor"], [2, 1, 1, "", "get_max_abs_numerator"], [2, 1, 1, "", "get_max_denominator"], [2, 1, 1, "", "log_linear_fit"], [2, 6, 1, "", "log_linear_fit_Exception"], [2, 1, 1, "", "mapThreads"], [2, 1, 1, "", "mpc_to_cgmp"], [2, 2, 1, "", "nullcontext"], [2, 1, 1, "", "output_needs_grabbing"], [2, 1, 1, "", "printBHcpp"], [2, 1, 1, "", "printBHcpp_inner"], [2, 1, 1, "", "progress_wrapper"], [2, 1, 1, "", "rand_frac"], [2, 1, 1, "", "retry"], [2, 1, 1, "", "worker"]], "antares.core.tools.NoDaemonProcess": [[2, 3, 1, "", "daemon"]], "antares.core.tools.NoDaemonProcessPool": [[2, 4, 1, "", "Process"]], "antares.core.tools.OutputGrabber": [[2, 5, 1, "", "escape_char"], [2, 4, 1, "", "readOutput"], [2, 4, 1, "", "start"], [2, 4, 1, "", "stop"]], "antares.core.tools.Progress": [[2, 4, 1, "", "decrement"], [2, 4, 1, "", "increment"], [2, 4, 1, "", "write"]], "antares.core.tools.fakeManager": [[2, 4, 1, "", "Value"]], "antares.core.unknown": [[2, 2, 1, "", "Unknown"], [2, 1, 1, "", "caching_decorator"]], "antares.core.unknown.Unknown": [[2, 4, 1, "", "add_partial_piece"], [2, 3, 1, "", "ampindex"], [2, 3, 1, "", "amppart"], [2, 3, 1, "", "amppart_and_ampindex"], [2, 3, 1, "", "basis_functions"], [2, 3, 1, "", "basis_functions_invs"], [2, 4, 1, "", "does_not_require_partial_fractioning"], [2, 3, 1, "", "easy_boxes"], [2, 4, 1, "", "fit_single_scalings_result"], [2, 4, 1, "", "get_partial_fractioned_terms"], [2, 3, 1, "", "helconf"], [2, 3, 1, "", "helconf_and_loopid"], [2, 3, 1, "", "internal_masses"], [2, 3, 1, "", "loopid"], [2, 3, 1, "", "mass_dimension"], [2, 3, 1, "", "multiplicity"], [2, 3, 1, "", "phase_weights"], [2, 3, 1, "", "poles_to_be_eliminated"], [2, 4, 1, "", "print_partial_result"], [2, 4, 1, "", "recursively_extract_original_unknown"], [2, 4, 1, "", "recursively_extract_terms"], [2, 4, 1, "", "remove_last_partial_piece"], [2, 4, 1, "", "reorder_invariants_for_partial_fractioning"], [2, 3, 1, "", "res_path"], [2, 4, 1, "", "reset"], [2, 4, 1, "", "save_original_unknown_call_cache"], [2, 3, 1, "", "soft_weights"], [2, 3, 1, "", "spurious_poles"], [2, 3, 1, "", "what_am_I"]], "antares.scalings": [[4, 0, 0, "-", "pair"], [4, 0, 0, "-", "single"]], "antares.scalings.pair": [[4, 1, 1, "", "clean_pair_scalings_from_numerator"], [4, 1, 1, "", "pair_scaling"], [4, 1, 1, "", "pair_scalings"]], "antares.scalings.single": [[4, 1, 1, "", "single_scaling"], [4, 1, 1, "", "single_scalings"]], "antares.scripts": [[5, 0, 0, "-", "SpinorLatexCompiler"]], "antares.scripts.SpinorLatexCompiler": [[5, 1, 1, "", "generate_pdf"], [5, 1, 1, "", "main"]], "antares.terms": [[6, 0, 0, "-", "term"], [6, 0, 0, "-", "terms"], [6, 0, 0, "-", "terms_numerator_fit"]], "antares.terms.term": [[6, 2, 1, "", "Denominator"], [6, 2, 1, "", "Numerator"], [6, 2, 1, "", "Term"], [6, 1, 1, "", "cluster_invariant"], [6, 1, 1, "", "cluster_symmetry"], [6, 1, 1, "", "make_proper"], [6, 1, 1, "", "parse_monomial"]], "antares.terms.term.Numerator": [[6, 3, 1, "", "CommonInvsString"], [6, 4, 1, "", "isolate_common_invariants_and_exponents"], [6, 3, 1, "", "lCoefsString"], [6, 3, 1, "", "lInvsString"]], "antares.terms.term.Term": [[6, 4, 1, "", "Image"], [6, 3, 1, "", "am_I_a_symmetry"], [6, 4, 1, "", "canonical_ordering"], [6, 4, 1, "", "cluster"], [6, 4, 1, "", "from_single_scalings"], [6, 3, 1, "", "internal_masses"], [6, 3, 1, "", "is_fully_reduced"], [6, 3, 1, "", "multiplicity"], [6, 4, 1, "", "rawImage"], [6, 4, 1, "", "simplify_factored_monomials"]], "antares.terms.terms": [[6, 2, 1, "", "FittingSettings"], [6, 1, 1, "", "LoadResults"], [6, 2, 1, "", "Terms"], [6, 1, 1, "", "caching_decorator"], [6, 1, 1, "", "fix_old_automatic_partial_fractioning_format"], [6, 1, 1, "", "parse_pNBs_to_functions"], [6, 1, 1, "", "string_toSaM"]], "antares.terms.terms.Terms": [[6, 4, 1, "", "Image"], [6, 4, 1, "", "Write_LaTex"], [6, 3, 1, "", "ansatze_angle_degrees"], [6, 3, 1, "", "ansatze_mass_dimensions"], [6, 3, 1, "", "ansatze_phase_weights"], [6, 3, 1, "", "ansatze_square_degrees"], [6, 3, 1, "", "are_fully_reduced"], [6, 4, 1, "", "canonical_ordering"], [6, 4, 1, "", "check_against_unknown"], [6, 4, 1, "", "check_md_pw_consistency"], [6, 4, 1, "", "cluster"], [6, 4, 1, "", "collapse"], [6, 3, 1, "", "common_coeff_factor"], [6, 4, 1, "", "compactify_symmetries"], [6, 4, 1, "", "do_exploratory_double_collinear_limits"], [6, 4, 1, "", "explicit_representation"], [6, 4, 1, "", "index_of_last_symmetry"], [6, 3, 1, "", "internal_masses"], [6, 4, 1, "", "invs_only_in_iDen"], [6, 3, 1, "", "llCoefs"], [6, 3, 1, "", "llDenExps"], [6, 3, 1, "", "llDenInvs"], [6, 3, 1, "", "lllNumExps"], [6, 3, 1, "", "lllNumInvs"], [6, 3, 1, "", "lphase_weights"], [6, 3, 1, "", "mass_dimensions"], [6, 3, 1, "", "max_abs_numerator"], [6, 3, 1, "", "max_denominator"], [6, 3, 1, "", "multiplicity"], [6, 4, 1, "", "order_terms_by_complexity"], [6, 4, 1, "", "rearrange_and_finalise"], [6, 4, 1, "", "relevant_old_Terms"], [6, 4, 1, "", "remove_duplicates"], [6, 4, 1, "", "summarise"], [6, 4, 1, "", "toFORM"], [6, 4, 1, "", "toFortran"], [6, 4, 1, "", "toSaM"], [6, 4, 1, "", "toSympy"], [6, 4, 1, "", "update_invs_set"], [6, 3, 1, "", "with_normalized_coeffs"]], "antares.terms.terms_numerator_fit": [[6, 2, 1, "", "Terms_numerators_fit"]], "antares.terms.terms_numerator_fit.Terms_numerators_fit": [[6, 4, 1, "", "fit_numerators"], [6, 4, 1, "", "refine_fit"], [6, 4, 1, "", "set_inversion_accuracy"]], "antares.topologies": [[7, 0, 0, "-", "topology"]], "antares.topologies.topology": [[7, 2, 1, "", "Topology"], [7, 1, 1, "", "all_topologies"], [7, 1, 1, "", "box_topologies"], [7, 1, 1, "", "bubble_topologies"], [7, 1, 1, "", "conversion_rules"], [7, 1, 1, "", "convert_invariant"], [7, 1, 1, "", "corners_from_label"], [7, 1, 1, "", "equivalent_strings"], [7, 1, 1, "", "flip_helicities"], [7, 1, 1, "", "flip_quark_line"], [7, 1, 1, "", "get_external_quarks"], [7, 1, 1, "", "get_label"], [7, 1, 1, "", "get_nbr_quark_lines"], [7, 1, 1, "", "helconf_from_label"], [7, 1, 1, "", "independent_topologies"], [7, 1, 1, "", "internal_symmetry"], [7, 1, 1, "", "sign_of_permutation"], [7, 1, 1, "", "topology_info"], [7, 1, 1, "", "triangle_topologies"]], "antares.topologies.topology.Topology": [[7, 3, 1, "", "equivalence_class"], [7, 3, 1, "", "models"], [7, 3, 1, "", "nbr_external_antiquarks"], [7, 3, 1, "", "nbr_external_gluons"], [7, 3, 1, "", "nbr_external_photons"], [7, 3, 1, "", "nbr_external_quarks"], [7, 3, 1, "", "topology"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "property", "Python property"], "4": ["py", "method", "Python method"], "5": ["py", "attribute", "Python attribute"], "6": ["py", "exception", "Python exception"]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:property", "4": "py:method", "5": "py:attribute", "6": "py:exception"}, "terms": {"": 2, "0": [2, 4], "1": [2, 4], "2": 2, "20": 2, "A": 2, "The": 2, "__name__": 2, "_tensor_funct": 2, "accept": 2, "accept_all_zero": 6, "accuraci": [0, 2], "add_partial_piec": [0, 2], "all": 2, "all_invari": 4, "all_non_empty_subset": [0, 2], "all_symmetri": [0, 2], "all_topologi": [0, 7], "also": 6, "am_i_a_symmetri": [0, 6], "ampindex": [0, 2], "amppart": [0, 2], "amppart_and_ampindex": [0, 2], "an": [2, 6], "analytical_to_analyt": 9, "anoth": 2, "ansatz": [0, 6, 9], "ansatze_angle_degre": [0, 6], "ansatze_mass_dimens": [0, 6], "ansatze_phase_weight": [0, 6], "ansatze_square_degre": [0, 6], "antar": 8, "appli": 2, "ar": 2, "arbitrari": 2, "are_fully_reduc": [0, 6], "arg": 2, "arrai": 2, "as_scalar_if_scalar": [0, 2], "automat": [0, 9], "base": [2, 6, 7], "base_cache_path": [0, 2], "base_res_path": [0, 2], "basis_funct": [0, 2], "basis_functions_inv": [0, 2], "beforehand": 2, "between": 6, "bh_patch": [0, 9], "bh_process": [0, 2], "bh_to_read": 9, "bh_unknown": [0, 9], "bh_vectori": [0, 2], "bhcpp": 2, "bhset": [0, 2], "bhunknown": [0, 2], "both": 2, "box_topologi": [0, 7], "bubble_topologi": [0, 7], "by_guess": [0, 9], "byte": 2, "caching_decor": [0, 2, 6], "call_cache_path": [0, 2], "callabl": 2, "callable_funct": 2, "callable_to_check_with": 6, "can": 6, "cancel": 6, "canonical_ord": [0, 6], "canonicalord": [0, 1], "captur": 2, "capturedtext": 2, "cgmp_nbr": 2, "cgmp_to_mpc": [0, 2], "chained_gcd": [0, 2], "check_against_unknown": [0, 6], "check_md_pw_consist": [0, 6], "check_result": 9, "chunk": [0, 2], "class": [2, 6, 7], "classmethod": 6, "clean_pair_scalings_from_numer": [0, 4], "clear": [0, 2], "cluster": [0, 6], "cluster_invari": [0, 6], "cluster_symmetri": [0, 6], "coef_index": 2, "coeffbuild": [0, 9], "coeffici": 6, "collaps": [0, 6], "collinear_data": [0, 2], "common": 6, "common_coeff_factor": [0, 6], "commoninvsstr": [0, 6], "compactify_symmetri": [0, 6], "compile_tex_to_pdf": 2, "compos": [0, 2], "comput": [0, 2], "configur": 2, "configuration_unpack": [0, 2], "content": 9, "context": 2, "conversion_rul": [0, 7], "convert": 6, "convert_cut": 2, "convert_invari": [0, 7], "convert_r": 2, "core": [0, 9], "corners_from_label": [0, 7], "count_gluon": [0, 2], "count_photon": [0, 2], "count_quark": [0, 2], "daemon": [0, 2], "data": 2, "decor": 2, "decorator1": 2, "decorator2": 2, "decorator_arg": 2, "decorator_kwarg": 2, "decrement": [0, 2], "def": 2, "denomin": [0, 6], "depend": 2, "dimens": 2, "dimonebasi": 1, "diskcach": 2, "divis": 2, "do_double_collinear_limit": [0, 2], "do_exploratory_double_collinear_limit": [0, 6], "do_single_collinear_limit": [0, 2], "does_not_require_partial_fract": [0, 2], "dsub": 6, "e": 6, "easy_box": [0, 2], "eigenbasi": [0, 9], "empti": 6, "encode_cut_constructible_part": 9, "end": 2, "energi": 2, "enter_result": 2, "equival": 2, "equivalence_class": [0, 7], "equivalent_str": [0, 7], "escape_char": [0, 2], "evalu": 2, "evaluable_funct": 2, "except": 2, "exceptionstocheck": 2, "exlud": 2, "expect": 2, "explicit_represent": [0, 6], "factor": 6, "fakemanag": [0, 2], "fakevalu": [0, 2], "fals": [1, 2, 5, 6], "file_compatible_print": [0, 2], "file_full_path": 2, "filenam": 2, "filterthread": [0, 2], "finite_field_mass_dimens": [0, 2], "finite_field_phase_weight": [0, 2], "fit": [2, 6], "fit_numer": [0, 6], "fit_single_scalings_result": [0, 2], "fitter": [0, 9], "fittingset": [0, 6], "fix_old_automatic_partial_fractioning_format": [0, 6], "flag": 2, "flatten": [0, 2], "flip_hel": [0, 7], "flip_quark_lin": [0, 7], "float": 2, "follow": 2, "forbidden_ord": [0, 2], "fraction": 6, "fraction_to_proper_fract": [0, 2], "from": [2, 5], "from_single_sc": [0, 6], "func": [2, 6], "function": [2, 6], "g": 6, "gcd": 2, "gener": [0, 2, 9], "generate_bh_cpp_fil": [0, 2], "generate_latex_and_pdf": [0, 2], "generate_pdf": [0, 5], "genert": 5, "get_analytical_box": [0, 2], "get_call_cach": [0, 2], "get_common_q_factor": [0, 2], "get_external_quark": [0, 7], "get_label": [0, 7], "get_max_abs_numer": [0, 2], "get_max_denomin": [0, 2], "get_nbr_quark_lin": [0, 7], "get_partial_fractioned_term": [0, 2], "get_topology_info": [0, 2], "gm": 2, "gmp_precis": [0, 2], "gp": 2, "grab": 2, "group": 2, "ha": 2, "half": 2, "handl": 6, "helconf": [0, 2], "helconf_and_loopid": [0, 2], "helconf_from_label": [0, 7], "helconf_or_bhunknown": 7, "helic": 2, "i": [2, 6], "id": 2, "imag": [0, 1, 6], "increment": [0, 2], "independent_topologi": [0, 7], "index": 8, "index_of_last_symmetri": [0, 6], "individu": 2, "init_valu": 2, "initarg": 2, "initi": 2, "input": 2, "int": 2, "integ": 2, "interact": 5, "interfac": [0, 9], "internal_mass": [0, 2, 6], "internal_symmetri": [0, 7], "invari": [2, 4, 6, 7], "involv": 6, "invs_only_in_iden": [0, 6], "invs_tupl": 4, "is_fully_reduc": [0, 6], "is_iter": [0, 2], "is_zero": [0, 2], "isolate_common_invariants_and_expon": [0, 6], "iter": 2, "k": 2, "kwarg": 2, "l": 2, "label": 7, "lambda_func": 2, "latextopython": [0, 2], "lbracket": 2, "lcoef": 6, "lcoeffici": 2, "lcoefsstr": [0, 6], "lcommonexp": 6, "lcommoninv": 6, "less": 6, "lexp": 6, "lexpon": 2, "lighter": 6, "like": 2, "line": 2, "linteg": 2, "linv": 6, "linvsstr": [0, 6], "list": [2, 6], "list_on": 2, "list_two": 2, "littl": 2, "llcoef": [0, 6], "lldenexp": [0, 6], "lldeninv": [0, 6], "llexp": 6, "llinv": 6, "lllnumexp": [0, 6], "lllnuminv": [0, 6], "lllnuminvs_or_term": 6, "llnumcoefs_or_sym": 6, "lltrialnuminv": 6, "load_partial_result": 2, "load_partial_results_onli": 6, "loadresult": [0, 6], "log": 2, "log_linear_fit": [0, 2], "log_linear_fit_except": [0, 2], "logfil": [0, 2], "loop": 2, "loopid": [0, 2], "lphase_weight": [0, 6], "lterm": 6, "m": 2, "main": [0, 5], "make": 6, "make_prop": [0, 6], "manifestli": 6, "mapthread": [0, 2], "mass": 2, "mass_dimens": [0, 2, 6], "mass_dimension_and_phase_weights_lparticl": [0, 2], "mass_dimension_lparticl": [0, 2], "match": [2, 6], "matrix_load": [0, 9], "max_abs_numer": [0, 6], "max_denomin": [0, 6], "max_nbr_term": 2, "max_recurs": 2, "max_tri": 2, "maximum": 2, "maxtasksperchild": 2, "memoiz": [0, 2], "messag": 2, "model": [0, 7], "modul": 9, "mpc_mass_dimens": [0, 2], "mpc_nbr": 2, "mpc_phase_weight": [0, 2], "mpc_to_cgmp": [0, 2], "multipl": [0, 2, 6], "my_warn": [0, 9], "myprocesspool": [0, 2], "myshelf": [0, 2], "mythreadpool": [0, 2], "n": 2, "name": 2, "nameampl": 2, "nbr_external_antiquark": [0, 7], "nbr_external_gluon": [0, 7], "nbr_external_photon": [0, 7], "nbr_external_quark": [0, 7], "need": 2, "negative_entri": [0, 2], "nodaemonprocess": [0, 2], "nodaemonprocesspool": [0, 2], "non": 6, "none": [2, 5, 6], "notat": 6, "nullcontext": [0, 2], "num_func": [0, 2], "number": 2, "numer": [0, 2, 6], "numerator_ansatz_generator_cp_sat": [0, 9], "numerator_ansatz_generator_cp_sat_2higgs": [0, 9], "numerator_ansatz_generator_cp_sat_higg": [0, 9], "numerator_ansatz_generator_cp_sat_w_boson": [0, 9], "numerical_method": [0, 6, 9], "numerical_to_analyt": 9, "numpi": 2, "numpy_vector": [0, 2], "obhunknown": 7, "object": [2, 6], "object1": 6, "object2": 6, "obtain": [2, 6], "one": 2, "oparticl": 2, "order_terms_by_complex": [0, 6], "original_unknown": 2, "oterm": 2, "other_inv": 4, "otherwis": 6, "ounknown": [2, 4, 6], "outlier": 2, "outlier_fract": 2, "output": 2, "output_dir": 5, "output_needs_grab": [0, 2], "outputgrabb": [0, 2], "p": 2, "packag": [8, 9], "padic_mass_dimens": [0, 2], "padic_phase_weight": [0, 2], "page": 8, "pair": [0, 9], "pair_exp": 4, "pair_friend": 4, "pair_inv": 4, "pair_scal": [0, 4], "parse_monomi": [0, 6], "parse_pnbs_to_funct": [0, 6], "partial": 2, "partial_fract": [0, 9], "partial_onli": 2, "partial_piec": 2, "partialcomput": [0, 2], "particl": 2, "pass": 2, "pdf": 5, "permut": 7, "phase": 2, "phase_weight": [0, 2], "phase_weights_lparticl": [0, 2], "plot": 2, "pnb": 6, "poles_to_be_elimin": [0, 2], "pool": 2, "positive_entri": [0, 2], "power": [2, 6], "print_ansatze_info": 6, "print_graph": [0, 2], "print_partial_result": [0, 2], "print_topology_info": [0, 2], "printbhcpp": [0, 2], "printbhcpp_inn": [0, 2], "process": [0, 2], "process_nam": [0, 2], "productofspinorsasstr": 1, "progress": [0, 2], "progress_wrapp": [0, 2], "properti": [2, 6, 7], "provid": 2, "pwrespath": 2, "pwtestingcachepath": [0, 2], "pycuda_tool": [0, 9], "qbm": 2, "qbp": 2, "qm": 2, "qp": 2, "quark_line_nbr": 7, "raise_error": [0, 2], "rand_frac": [0, 2], "ratio": 2, "raw": 6, "rawimag": [0, 6], "read": 2, "read_from_fil": [0, 2], "readoutput": [0, 2], "real": 2, "rearrange_and_finalis": [0, 6], "recursion_level": 2, "recursively_extract_original_unknown": [0, 2], "recursively_extract_term": [0, 2], "refine_fit": [0, 6], "regulated_divis": [0, 2], "rel": 4, "relevant_old_term": [0, 6], "reload_call_cach": [0, 2], "remove_dupl": [0, 6], "remove_last_partial_piec": [0, 2], "reorder_invariants_for_partial_fract": [0, 2], "rerun": 6, "res_path": [0, 2, 6], "reset": [0, 2], "retain": 2, "retri": [0, 2], "rewrit": 6, "rule": [1, 6, 7], "run_file_nam": [0, 2], "save": 2, "save_call_cach": [0, 2], "save_original_unknown_call_cach": [0, 2], "scalar": 2, "scale": [0, 2, 6, 9], "scatter": 2, "script": [0, 9], "se_argu": 2, "se_unknown": [0, 9], "search": 8, "search_rang": 2, "seed": 4, "self": 6, "send": 2, "set": [0, 9], "set_inversion_accuraci": [0, 6], "seunknown": [0, 2], "sfriend": 4, "shelconf": [0, 2], "short_process_nam": [0, 2], "shouten": 6, "sign_of_permut": [0, 7], "silent": [0, 2, 4, 6], "similar": 2, "simplify_factored_monomi": [0, 6], "sinc": 6, "singl": [0, 2, 6, 9], "single_sc": [0, 4], "size": 2, "size_limit": 2, "slope": 2, "soft_weight": [0, 2], "some_inv": 4, "sort": 2, "source_label_or_bhunknown": 7, "spinor": 1, "spinorlatexcompil": [0, 9], "split_pole_ord": 2, "spurious_pol": [0, 2], "standard": 2, "start": [0, 2], "static": 2, "stop": [0, 2], "str": 7, "straight": 2, "stream": 2, "string": [2, 5, 6, 7], "string_tosam": [0, 6], "studi": 6, "submodul": 9, "subpackag": 9, "succes": 6, "success": 2, "sum_ab": [0, 2], "summaris": [0, 6], "symmetri": [2, 6], "sys_argv": 2, "target": 2, "target_label_or_bhunknown": 7, "temp_list": 2, "tempterm": 6, "tensor_funct": [0, 2], "term": [0, 9], "terms_ad_hoc_ansatz": [0, 9], "terms_numerator_fit": [0, 9], "terms_numerators_fit": [0, 6], "tex": 5, "texfil": 5, "text": 2, "than": 6, "thread": 2, "time": 2, "to_int_prec": [0, 2], "toform": [0, 6], "tofortran": [0, 6], "tool": [0, 9], "topologi": [0, 9], "topology_info": [0, 7], "tosam": [0, 6], "tosympi": [0, 6], "treat_list_subclasses_as_list": 2, "treat_tuples_as_list": 2, "triangle_topologi": [0, 7], "trivial": 6, "true": [2, 4, 6], "turn": 2, "type": 2, "type_": 2, "unknown": [0, 9], "updat": 6, "update_invs_set": [0, 6], "upload_mom_conf_jo": [0, 2], "upload_momentum_configur": [0, 2], "upper_res_path": [0, 2], "us": 2, "useparallelis": 2, "v3": [0, 9], "valu": [0, 2], "vector": 2, "verbos": [1, 2, 5], "vs_basi": [0, 9], "warn": [0, 2], "weight": 2, "what_am_i": [0, 2], "when": 2, "whether": 2, "with_normalized_coeff": [0, 6], "word": 2, "worker": [0, 2], "write": [0, 2], "write_latex": [0, 6], "x": 2, "x08": 2, "xaxi": 2, "y": 2, "yaxi": 2, "yield": 2, "z": 2, "zab12": 6, "zero": 2}, "titles": ["antares package", "antares.ansatze package", "antares.core package", "antares.partial_fractioning package", "antares.scalings package", "antares.scripts package", "antares.terms package", "antares.topologies package", "Automated Numerical To Analytical Rational function Extraction for Scattering amplitudes", "antares"], "titleterms": {"To": 8, "amplitud": 8, "analyt": 8, "analytical_to_analyt": 0, "ansatz": 1, "antar": [0, 1, 2, 3, 4, 5, 6, 7, 9], "autom": 8, "automat": 3, "bh_patch": 2, "bh_to_read": 0, "bh_unknown": 2, "by_guess": 3, "check_result": 0, "coeffbuild": 5, "content": [0, 1, 2, 3, 4, 5, 6, 7], "core": 2, "document": 8, "eigenbasi": 1, "encode_cut_constructible_part": 0, "exampl": 2, "extract": 8, "fitter": 1, "function": 8, "gener": 1, "indic": 8, "instal": 8, "interfac": 1, "matrix_load": 1, "modul": [0, 1, 2, 3, 4, 5, 6, 7, 8], "my_warn": 2, "numer": 8, "numerator_ansatz_generator_cp_sat": 1, "numerator_ansatz_generator_cp_sat_2higgs": 1, "numerator_ansatz_generator_cp_sat_higg": 1, "numerator_ansatz_generator_cp_sat_w_boson": 1, "numerical_method": 2, "numerical_to_analyt": 0, "packag": [0, 1, 2, 3, 4, 5, 6, 7], "pair": 4, "paramet": 2, "partial_fract": 3, "pycuda_tool": 2, "quick": 8, "ration": 8, "return": 2, "scale": 4, "scatter": 8, "script": 5, "se_unknown": 2, "set": 2, "singl": 4, "spinorlatexcompil": 5, "start": 8, "submodul": [0, 1, 2, 3, 4, 5, 6, 7], "subpackag": 0, "tabl": 8, "term": 6, "terms_ad_hoc_ansatz": 6, "terms_numerator_fit": 6, "tool": 2, "topologi": 7, "unknown": 2, "v3": 3, "vs_basi": 6}})
\ No newline at end of file