Documentation updated

This commit is contained in:
fjosw 2024-09-13 06:35:52 +00:00
parent b1774646f4
commit 3cb0b7ab26
24 changed files with 2087 additions and 1636 deletions

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.correlators API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.covobs API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.dirac API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

File diff suppressed because it is too large Load diff

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.input API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.input.bdio API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.input.dobs API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.input.hadrons API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.input.json API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.input.misc API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.input.openQCD API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.input.pandas API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.input.sfcf API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.input.utils API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.integrate API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.linalg API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.misc API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.mpm API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.obs API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
@ -295,6 +295,12 @@
<li>
<a class="function" href="#covariance">covariance</a>
</li>
<li>
<a class="function" href="#invert_corr_cov_cholesky">invert_corr_cov_cholesky</a>
</li>
<li>
<a class="function" href="#sort_corr">sort_corr</a>
</li>
<li>
<a class="function" href="#import_jackknife">import_jackknife</a>
</li>
@ -1874,234 +1880,320 @@
</span><span id="L-1544"><a href="#L-1544"><span class="linenos">1544</span></a> <span class="k">return</span> <span class="n">cov</span>
</span><span id="L-1545"><a href="#L-1545"><span class="linenos">1545</span></a>
</span><span id="L-1546"><a href="#L-1546"><span class="linenos">1546</span></a>
</span><span id="L-1547"><a href="#L-1547"><span class="linenos">1547</span></a><span class="k">def</span> <span class="nf">_smooth_eigenvalues</span><span class="p">(</span><span class="n">corr</span><span class="p">,</span> <span class="n">E</span><span class="p">):</span>
</span><span id="L-1548"><a href="#L-1548"><span class="linenos">1548</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Eigenvalue smoothing as described in hep-lat/9412087</span>
</span><span id="L-1549"><a href="#L-1549"><span class="linenos">1549</span></a>
</span><span id="L-1550"><a href="#L-1550"><span class="linenos">1550</span></a><span class="sd"> corr : np.ndarray</span>
</span><span id="L-1551"><a href="#L-1551"><span class="linenos">1551</span></a><span class="sd"> correlation matrix</span>
</span><span id="L-1552"><a href="#L-1552"><span class="linenos">1552</span></a><span class="sd"> E : integer</span>
</span><span id="L-1553"><a href="#L-1553"><span class="linenos">1553</span></a><span class="sd"> Number of eigenvalues to be left substantially unchanged</span>
</span><span id="L-1554"><a href="#L-1554"><span class="linenos">1554</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1555"><a href="#L-1555"><span class="linenos">1555</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="mi">2</span> <span class="o">&lt;</span> <span class="n">E</span> <span class="o">&lt;</span> <span class="n">corr</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-</span> <span class="mi">1</span><span class="p">):</span>
</span><span id="L-1556"><a href="#L-1556"><span class="linenos">1556</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;&#39;E&#39; has to be between 2 and the dimension of the correlation matrix minus 1 (</span><span class="si">{</span><span class="n">corr</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="si">}</span><span class="s2">).&quot;</span><span class="p">)</span>
</span><span id="L-1557"><a href="#L-1557"><span class="linenos">1557</span></a> <span class="n">vals</span><span class="p">,</span> <span class="n">vec</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">eigh</span><span class="p">(</span><span class="n">corr</span><span class="p">)</span>
</span><span id="L-1558"><a href="#L-1558"><span class="linenos">1558</span></a> <span class="n">lambda_min</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">vals</span><span class="p">[:</span><span class="o">-</span><span class="n">E</span><span class="p">])</span>
</span><span id="L-1559"><a href="#L-1559"><span class="linenos">1559</span></a> <span class="n">vals</span><span class="p">[</span><span class="n">vals</span> <span class="o">&lt;</span> <span class="n">lambda_min</span><span class="p">]</span> <span class="o">=</span> <span class="n">lambda_min</span>
</span><span id="L-1560"><a href="#L-1560"><span class="linenos">1560</span></a> <span class="n">vals</span> <span class="o">/=</span> <span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">vals</span><span class="p">)</span>
</span><span id="L-1561"><a href="#L-1561"><span class="linenos">1561</span></a> <span class="k">return</span> <span class="n">vec</span> <span class="o">@</span> <span class="n">np</span><span class="o">.</span><span class="n">diag</span><span class="p">(</span><span class="n">vals</span><span class="p">)</span> <span class="o">@</span> <span class="n">vec</span><span class="o">.</span><span class="n">T</span>
</span><span id="L-1562"><a href="#L-1562"><span class="linenos">1562</span></a>
</span><span id="L-1563"><a href="#L-1563"><span class="linenos">1563</span></a>
</span><span id="L-1564"><a href="#L-1564"><span class="linenos">1564</span></a><span class="k">def</span> <span class="nf">_covariance_element</span><span class="p">(</span><span class="n">obs1</span><span class="p">,</span> <span class="n">obs2</span><span class="p">):</span>
</span><span id="L-1565"><a href="#L-1565"><span class="linenos">1565</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Estimates the covariance of two Obs objects, neglecting autocorrelations.&quot;&quot;&quot;</span>
</span><span id="L-1547"><a href="#L-1547"><span class="linenos">1547</span></a><span class="k">def</span> <span class="nf">invert_corr_cov_cholesky</span><span class="p">(</span><span class="n">corr</span><span class="p">,</span> <span class="n">inverrdiag</span><span class="p">):</span>
</span><span id="L-1548"><a href="#L-1548"><span class="linenos">1548</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Constructs a lower triangular matrix `chol` via the Cholesky decomposition of the correlation matrix `corr`</span>
</span><span id="L-1549"><a href="#L-1549"><span class="linenos">1549</span></a><span class="sd"> and then returns the inverse covariance matrix `chol_inv` as a lower triangular matrix by solving `chol * x = inverrdiag`.</span>
</span><span id="L-1550"><a href="#L-1550"><span class="linenos">1550</span></a>
</span><span id="L-1551"><a href="#L-1551"><span class="linenos">1551</span></a><span class="sd"> Parameters</span>
</span><span id="L-1552"><a href="#L-1552"><span class="linenos">1552</span></a><span class="sd"> ----------</span>
</span><span id="L-1553"><a href="#L-1553"><span class="linenos">1553</span></a><span class="sd"> corr : np.ndarray</span>
</span><span id="L-1554"><a href="#L-1554"><span class="linenos">1554</span></a><span class="sd"> correlation matrix</span>
</span><span id="L-1555"><a href="#L-1555"><span class="linenos">1555</span></a><span class="sd"> inverrdiag : np.ndarray</span>
</span><span id="L-1556"><a href="#L-1556"><span class="linenos">1556</span></a><span class="sd"> diagonal matrix, the entries are the inverse errors of the data points considered</span>
</span><span id="L-1557"><a href="#L-1557"><span class="linenos">1557</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1558"><a href="#L-1558"><span class="linenos">1558</span></a>
</span><span id="L-1559"><a href="#L-1559"><span class="linenos">1559</span></a> <span class="n">condn</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">cond</span><span class="p">(</span><span class="n">corr</span><span class="p">)</span>
</span><span id="L-1560"><a href="#L-1560"><span class="linenos">1560</span></a> <span class="k">if</span> <span class="n">condn</span> <span class="o">&gt;</span> <span class="mf">0.1</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">finfo</span><span class="p">(</span><span class="nb">float</span><span class="p">)</span><span class="o">.</span><span class="n">eps</span><span class="p">:</span>
</span><span id="L-1561"><a href="#L-1561"><span class="linenos">1561</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Cannot invert correlation matrix as its condition number exceeds machine precision (</span><span class="si">{</span><span class="n">condn</span><span class="si">:</span><span class="s2">1.2e</span><span class="si">}</span><span class="s2">)&quot;</span><span class="p">)</span>
</span><span id="L-1562"><a href="#L-1562"><span class="linenos">1562</span></a> <span class="k">if</span> <span class="n">condn</span> <span class="o">&gt;</span> <span class="mf">1e13</span><span class="p">:</span>
</span><span id="L-1563"><a href="#L-1563"><span class="linenos">1563</span></a> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">&quot;Correlation matrix may be ill-conditioned, condition number: {</span><span class="si">%1.2e</span><span class="s2">}&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">condn</span><span class="p">),</span> <span class="ne">RuntimeWarning</span><span class="p">)</span>
</span><span id="L-1564"><a href="#L-1564"><span class="linenos">1564</span></a> <span class="n">chol</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">cholesky</span><span class="p">(</span><span class="n">corr</span><span class="p">)</span>
</span><span id="L-1565"><a href="#L-1565"><span class="linenos">1565</span></a> <span class="n">chol_inv</span> <span class="o">=</span> <span class="n">scipy</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">solve_triangular</span><span class="p">(</span><span class="n">chol</span><span class="p">,</span> <span class="n">inverrdiag</span><span class="p">,</span> <span class="n">lower</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
</span><span id="L-1566"><a href="#L-1566"><span class="linenos">1566</span></a>
</span><span id="L-1567"><a href="#L-1567"><span class="linenos">1567</span></a> <span class="k">def</span> <span class="nf">calc_gamma</span><span class="p">(</span><span class="n">deltas1</span><span class="p">,</span> <span class="n">deltas2</span><span class="p">,</span> <span class="n">idx1</span><span class="p">,</span> <span class="n">idx2</span><span class="p">,</span> <span class="n">new_idx</span><span class="p">):</span>
</span><span id="L-1568"><a href="#L-1568"><span class="linenos">1568</span></a> <span class="n">deltas1</span> <span class="o">=</span> <span class="n">_reduce_deltas</span><span class="p">(</span><span class="n">deltas1</span><span class="p">,</span> <span class="n">idx1</span><span class="p">,</span> <span class="n">new_idx</span><span class="p">)</span>
</span><span id="L-1569"><a href="#L-1569"><span class="linenos">1569</span></a> <span class="n">deltas2</span> <span class="o">=</span> <span class="n">_reduce_deltas</span><span class="p">(</span><span class="n">deltas2</span><span class="p">,</span> <span class="n">idx2</span><span class="p">,</span> <span class="n">new_idx</span><span class="p">)</span>
</span><span id="L-1570"><a href="#L-1570"><span class="linenos">1570</span></a> <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">deltas1</span> <span class="o">*</span> <span class="n">deltas2</span><span class="p">)</span>
</span><span id="L-1571"><a href="#L-1571"><span class="linenos">1571</span></a>
</span><span id="L-1572"><a href="#L-1572"><span class="linenos">1572</span></a> <span class="k">if</span> <span class="nb">set</span><span class="p">(</span><span class="n">obs1</span><span class="o">.</span><span class="n">names</span><span class="p">)</span><span class="o">.</span><span class="n">isdisjoint</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">obs2</span><span class="o">.</span><span class="n">names</span><span class="p">)):</span>
</span><span id="L-1573"><a href="#L-1573"><span class="linenos">1573</span></a> <span class="k">return</span> <span class="mf">0.0</span>
</span><span id="L-1574"><a href="#L-1574"><span class="linenos">1574</span></a>
</span><span id="L-1575"><a href="#L-1575"><span class="linenos">1575</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">obs1</span><span class="p">,</span> <span class="s1">&#39;e_dvalue&#39;</span><span class="p">)</span> <span class="ow">or</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">obs2</span><span class="p">,</span> <span class="s1">&#39;e_dvalue&#39;</span><span class="p">):</span>
</span><span id="L-1576"><a href="#L-1576"><span class="linenos">1576</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;The gamma method has to be applied to both Obs first.&#39;</span><span class="p">)</span>
</span><span id="L-1577"><a href="#L-1577"><span class="linenos">1577</span></a>
</span><span id="L-1578"><a href="#L-1578"><span class="linenos">1578</span></a> <span class="n">dvalue</span> <span class="o">=</span> <span class="mf">0.0</span>
</span><span id="L-1567"><a href="#L-1567"><span class="linenos">1567</span></a> <span class="k">return</span> <span class="n">chol_inv</span>
</span><span id="L-1568"><a href="#L-1568"><span class="linenos">1568</span></a>
</span><span id="L-1569"><a href="#L-1569"><span class="linenos">1569</span></a>
</span><span id="L-1570"><a href="#L-1570"><span class="linenos">1570</span></a><span class="k">def</span> <span class="nf">sort_corr</span><span class="p">(</span><span class="n">corr</span><span class="p">,</span> <span class="n">kl</span><span class="p">,</span> <span class="n">yd</span><span class="p">):</span>
</span><span id="L-1571"><a href="#L-1571"><span class="linenos">1571</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Reorders a correlation matrix to match the alphabetical order of its underlying y data.</span>
</span><span id="L-1572"><a href="#L-1572"><span class="linenos">1572</span></a>
</span><span id="L-1573"><a href="#L-1573"><span class="linenos">1573</span></a><span class="sd"> The ordering of the input correlation matrix `corr` is given by the list of keys `kl`.</span>
</span><span id="L-1574"><a href="#L-1574"><span class="linenos">1574</span></a><span class="sd"> The input dictionary `yd` (with the same keys `kl`) must contain the corresponding y data</span>
</span><span id="L-1575"><a href="#L-1575"><span class="linenos">1575</span></a><span class="sd"> that the correlation matrix is based on.</span>
</span><span id="L-1576"><a href="#L-1576"><span class="linenos">1576</span></a><span class="sd"> This function sorts the list of keys `kl` alphabetically and sorts the matrix `corr`</span>
</span><span id="L-1577"><a href="#L-1577"><span class="linenos">1577</span></a><span class="sd"> according to this alphabetical order such that the sorted matrix `corr_sorted` corresponds</span>
</span><span id="L-1578"><a href="#L-1578"><span class="linenos">1578</span></a><span class="sd"> to the y data `yd` when arranged in an alphabetical order by its keys.</span>
</span><span id="L-1579"><a href="#L-1579"><span class="linenos">1579</span></a>
</span><span id="L-1580"><a href="#L-1580"><span class="linenos">1580</span></a> <span class="k">for</span> <span class="n">e_name</span> <span class="ow">in</span> <span class="n">obs1</span><span class="o">.</span><span class="n">mc_names</span><span class="p">:</span>
</span><span id="L-1581"><a href="#L-1581"><span class="linenos">1581</span></a>
</span><span id="L-1582"><a href="#L-1582"><span class="linenos">1582</span></a> <span class="k">if</span> <span class="n">e_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">obs2</span><span class="o">.</span><span class="n">mc_names</span><span class="p">:</span>
</span><span id="L-1583"><a href="#L-1583"><span class="linenos">1583</span></a> <span class="k">continue</span>
</span><span id="L-1584"><a href="#L-1584"><span class="linenos">1584</span></a>
</span><span id="L-1585"><a href="#L-1585"><span class="linenos">1585</span></a> <span class="n">idl_d</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="L-1586"><a href="#L-1586"><span class="linenos">1586</span></a> <span class="k">for</span> <span class="n">r_name</span> <span class="ow">in</span> <span class="n">obs1</span><span class="o">.</span><span class="n">e_content</span><span class="p">[</span><span class="n">e_name</span><span class="p">]:</span>
</span><span id="L-1587"><a href="#L-1587"><span class="linenos">1587</span></a> <span class="k">if</span> <span class="n">r_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">obs2</span><span class="o">.</span><span class="n">e_content</span><span class="p">[</span><span class="n">e_name</span><span class="p">]:</span>
</span><span id="L-1588"><a href="#L-1588"><span class="linenos">1588</span></a> <span class="k">continue</span>
</span><span id="L-1589"><a href="#L-1589"><span class="linenos">1589</span></a> <span class="n">idl_d</span><span class="p">[</span><span class="n">r_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">_intersection_idx</span><span class="p">([</span><span class="n">obs1</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs2</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">]])</span>
</span><span id="L-1590"><a href="#L-1590"><span class="linenos">1590</span></a>
</span><span id="L-1591"><a href="#L-1591"><span class="linenos">1591</span></a> <span class="n">gamma</span> <span class="o">=</span> <span class="mf">0.0</span>
</span><span id="L-1580"><a href="#L-1580"><span class="linenos">1580</span></a><span class="sd"> Parameters</span>
</span><span id="L-1581"><a href="#L-1581"><span class="linenos">1581</span></a><span class="sd"> ----------</span>
</span><span id="L-1582"><a href="#L-1582"><span class="linenos">1582</span></a><span class="sd"> corr : np.ndarray</span>
</span><span id="L-1583"><a href="#L-1583"><span class="linenos">1583</span></a><span class="sd"> A square correlation matrix constructed using the order of the y data specified by `kl`.</span>
</span><span id="L-1584"><a href="#L-1584"><span class="linenos">1584</span></a><span class="sd"> The dimensions of `corr` should match the total number of y data points in `yd` combined.</span>
</span><span id="L-1585"><a href="#L-1585"><span class="linenos">1585</span></a><span class="sd"> kl : list of str</span>
</span><span id="L-1586"><a href="#L-1586"><span class="linenos">1586</span></a><span class="sd"> A list of keys that denotes the order in which the y data from `yd` was used to build the</span>
</span><span id="L-1587"><a href="#L-1587"><span class="linenos">1587</span></a><span class="sd"> input correlation matrix `corr`.</span>
</span><span id="L-1588"><a href="#L-1588"><span class="linenos">1588</span></a><span class="sd"> yd : dict of list</span>
</span><span id="L-1589"><a href="#L-1589"><span class="linenos">1589</span></a><span class="sd"> A dictionary where each key corresponds to a unique identifier, and its value is a list of</span>
</span><span id="L-1590"><a href="#L-1590"><span class="linenos">1590</span></a><span class="sd"> y data points. The total number of y data points across all keys must match the dimensions</span>
</span><span id="L-1591"><a href="#L-1591"><span class="linenos">1591</span></a><span class="sd"> of `corr`. The lists in the dictionary can be lists of Obs.</span>
</span><span id="L-1592"><a href="#L-1592"><span class="linenos">1592</span></a>
</span><span id="L-1593"><a href="#L-1593"><span class="linenos">1593</span></a> <span class="k">for</span> <span class="n">r_name</span> <span class="ow">in</span> <span class="n">obs1</span><span class="o">.</span><span class="n">e_content</span><span class="p">[</span><span class="n">e_name</span><span class="p">]:</span>
</span><span id="L-1594"><a href="#L-1594"><span class="linenos">1594</span></a> <span class="k">if</span> <span class="n">r_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">obs2</span><span class="o">.</span><span class="n">e_content</span><span class="p">[</span><span class="n">e_name</span><span class="p">]:</span>
</span><span id="L-1595"><a href="#L-1595"><span class="linenos">1595</span></a> <span class="k">continue</span>
</span><span id="L-1596"><a href="#L-1596"><span class="linenos">1596</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">idl_d</span><span class="p">[</span><span class="n">r_name</span><span class="p">])</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
</span><span id="L-1597"><a href="#L-1597"><span class="linenos">1597</span></a> <span class="k">continue</span>
</span><span id="L-1598"><a href="#L-1598"><span class="linenos">1598</span></a> <span class="n">gamma</span> <span class="o">+=</span> <span class="n">calc_gamma</span><span class="p">(</span><span class="n">obs1</span><span class="o">.</span><span class="n">deltas</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs2</span><span class="o">.</span><span class="n">deltas</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs1</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs2</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">idl_d</span><span class="p">[</span><span class="n">r_name</span><span class="p">])</span>
</span><span id="L-1599"><a href="#L-1599"><span class="linenos">1599</span></a>
</span><span id="L-1600"><a href="#L-1600"><span class="linenos">1600</span></a> <span class="k">if</span> <span class="n">gamma</span> <span class="o">==</span> <span class="mf">0.0</span><span class="p">:</span>
</span><span id="L-1601"><a href="#L-1601"><span class="linenos">1601</span></a> <span class="k">continue</span>
</span><span id="L-1602"><a href="#L-1602"><span class="linenos">1602</span></a>
</span><span id="L-1603"><a href="#L-1603"><span class="linenos">1603</span></a> <span class="n">gamma_div</span> <span class="o">=</span> <span class="mf">0.0</span>
</span><span id="L-1604"><a href="#L-1604"><span class="linenos">1604</span></a> <span class="k">for</span> <span class="n">r_name</span> <span class="ow">in</span> <span class="n">obs1</span><span class="o">.</span><span class="n">e_content</span><span class="p">[</span><span class="n">e_name</span><span class="p">]:</span>
</span><span id="L-1605"><a href="#L-1605"><span class="linenos">1605</span></a> <span class="k">if</span> <span class="n">r_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">obs2</span><span class="o">.</span><span class="n">e_content</span><span class="p">[</span><span class="n">e_name</span><span class="p">]:</span>
</span><span id="L-1606"><a href="#L-1606"><span class="linenos">1606</span></a> <span class="k">continue</span>
</span><span id="L-1607"><a href="#L-1607"><span class="linenos">1607</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">idl_d</span><span class="p">[</span><span class="n">r_name</span><span class="p">])</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
</span><span id="L-1608"><a href="#L-1608"><span class="linenos">1608</span></a> <span class="k">continue</span>
</span><span id="L-1609"><a href="#L-1609"><span class="linenos">1609</span></a> <span class="n">gamma_div</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">calc_gamma</span><span class="p">(</span><span class="n">obs1</span><span class="o">.</span><span class="n">deltas</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs1</span><span class="o">.</span><span class="n">deltas</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs1</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs1</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">idl_d</span><span class="p">[</span><span class="n">r_name</span><span class="p">])</span> <span class="o">*</span> <span class="n">calc_gamma</span><span class="p">(</span><span class="n">obs2</span><span class="o">.</span><span class="n">deltas</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs2</span><span class="o">.</span><span class="n">deltas</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs2</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs2</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">idl_d</span><span class="p">[</span><span class="n">r_name</span><span class="p">]))</span>
</span><span id="L-1610"><a href="#L-1610"><span class="linenos">1610</span></a> <span class="n">gamma</span> <span class="o">/=</span> <span class="n">gamma_div</span>
</span><span id="L-1611"><a href="#L-1611"><span class="linenos">1611</span></a>
</span><span id="L-1612"><a href="#L-1612"><span class="linenos">1612</span></a> <span class="n">dvalue</span> <span class="o">+=</span> <span class="n">gamma</span>
</span><span id="L-1593"><a href="#L-1593"><span class="linenos">1593</span></a><span class="sd"> Returns</span>
</span><span id="L-1594"><a href="#L-1594"><span class="linenos">1594</span></a><span class="sd"> -------</span>
</span><span id="L-1595"><a href="#L-1595"><span class="linenos">1595</span></a><span class="sd"> np.ndarray</span>
</span><span id="L-1596"><a href="#L-1596"><span class="linenos">1596</span></a><span class="sd"> A new, sorted correlation matrix that corresponds to the y data from `yd` when arranged alphabetically by its keys.</span>
</span><span id="L-1597"><a href="#L-1597"><span class="linenos">1597</span></a>
</span><span id="L-1598"><a href="#L-1598"><span class="linenos">1598</span></a><span class="sd"> Example</span>
</span><span id="L-1599"><a href="#L-1599"><span class="linenos">1599</span></a><span class="sd"> -------</span>
</span><span id="L-1600"><a href="#L-1600"><span class="linenos">1600</span></a><span class="sd"> &gt;&gt;&gt; import numpy as np</span>
</span><span id="L-1601"><a href="#L-1601"><span class="linenos">1601</span></a><span class="sd"> &gt;&gt;&gt; import pyerrors as pe</span>
</span><span id="L-1602"><a href="#L-1602"><span class="linenos">1602</span></a><span class="sd"> &gt;&gt;&gt; corr = np.array([[1, 0.2, 0.3], [0.2, 1, 0.4], [0.3, 0.4, 1]])</span>
</span><span id="L-1603"><a href="#L-1603"><span class="linenos">1603</span></a><span class="sd"> &gt;&gt;&gt; kl = [&#39;b&#39;, &#39;a&#39;]</span>
</span><span id="L-1604"><a href="#L-1604"><span class="linenos">1604</span></a><span class="sd"> &gt;&gt;&gt; yd = {&#39;a&#39;: [1, 2], &#39;b&#39;: [3]}</span>
</span><span id="L-1605"><a href="#L-1605"><span class="linenos">1605</span></a><span class="sd"> &gt;&gt;&gt; sorted_corr = pe.obs.sort_corr(corr, kl, yd)</span>
</span><span id="L-1606"><a href="#L-1606"><span class="linenos">1606</span></a><span class="sd"> &gt;&gt;&gt; print(sorted_corr)</span>
</span><span id="L-1607"><a href="#L-1607"><span class="linenos">1607</span></a><span class="sd"> array([[1. , 0.3, 0.4],</span>
</span><span id="L-1608"><a href="#L-1608"><span class="linenos">1608</span></a><span class="sd"> [0.3, 1. , 0.2],</span>
</span><span id="L-1609"><a href="#L-1609"><span class="linenos">1609</span></a><span class="sd"> [0.4, 0.2, 1. ]])</span>
</span><span id="L-1610"><a href="#L-1610"><span class="linenos">1610</span></a>
</span><span id="L-1611"><a href="#L-1611"><span class="linenos">1611</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1612"><a href="#L-1612"><span class="linenos">1612</span></a> <span class="n">kl_sorted</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">kl</span><span class="p">)</span>
</span><span id="L-1613"><a href="#L-1613"><span class="linenos">1613</span></a>
</span><span id="L-1614"><a href="#L-1614"><span class="linenos">1614</span></a> <span class="k">for</span> <span class="n">e_name</span> <span class="ow">in</span> <span class="n">obs1</span><span class="o">.</span><span class="n">cov_names</span><span class="p">:</span>
</span><span id="L-1615"><a href="#L-1615"><span class="linenos">1615</span></a>
</span><span id="L-1616"><a href="#L-1616"><span class="linenos">1616</span></a> <span class="k">if</span> <span class="n">e_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">obs2</span><span class="o">.</span><span class="n">cov_names</span><span class="p">:</span>
</span><span id="L-1617"><a href="#L-1617"><span class="linenos">1617</span></a> <span class="k">continue</span>
</span><span id="L-1618"><a href="#L-1618"><span class="linenos">1618</span></a>
</span><span id="L-1619"><a href="#L-1619"><span class="linenos">1619</span></a> <span class="n">dvalue</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">transpose</span><span class="p">(</span><span class="n">obs1</span><span class="o">.</span><span class="n">covobs</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span><span class="o">.</span><span class="n">grad</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">obs1</span><span class="o">.</span><span class="n">covobs</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span><span class="o">.</span><span class="n">cov</span><span class="p">,</span> <span class="n">obs2</span><span class="o">.</span><span class="n">covobs</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span><span class="o">.</span><span class="n">grad</span><span class="p">))</span><span class="o">.</span><span class="n">item</span><span class="p">()</span>
</span><span id="L-1620"><a href="#L-1620"><span class="linenos">1620</span></a>
</span><span id="L-1621"><a href="#L-1621"><span class="linenos">1621</span></a> <span class="k">return</span> <span class="n">dvalue</span>
</span><span id="L-1622"><a href="#L-1622"><span class="linenos">1622</span></a>
</span><span id="L-1623"><a href="#L-1623"><span class="linenos">1623</span></a>
</span><span id="L-1624"><a href="#L-1624"><span class="linenos">1624</span></a><span class="k">def</span> <span class="nf">import_jackknife</span><span class="p">(</span><span class="n">jacks</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-1625"><a href="#L-1625"><span class="linenos">1625</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Imports jackknife samples and returns an Obs</span>
</span><span id="L-1626"><a href="#L-1626"><span class="linenos">1626</span></a>
</span><span id="L-1627"><a href="#L-1627"><span class="linenos">1627</span></a><span class="sd"> Parameters</span>
</span><span id="L-1628"><a href="#L-1628"><span class="linenos">1628</span></a><span class="sd"> ----------</span>
</span><span id="L-1629"><a href="#L-1629"><span class="linenos">1629</span></a><span class="sd"> jacks : numpy.ndarray</span>
</span><span id="L-1630"><a href="#L-1630"><span class="linenos">1630</span></a><span class="sd"> numpy array containing the mean value as zeroth entry and</span>
</span><span id="L-1631"><a href="#L-1631"><span class="linenos">1631</span></a><span class="sd"> the N jackknife samples as first to Nth entry.</span>
</span><span id="L-1632"><a href="#L-1632"><span class="linenos">1632</span></a><span class="sd"> name : str</span>
</span><span id="L-1633"><a href="#L-1633"><span class="linenos">1633</span></a><span class="sd"> name of the ensemble the samples are defined on.</span>
</span><span id="L-1634"><a href="#L-1634"><span class="linenos">1634</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1635"><a href="#L-1635"><span class="linenos">1635</span></a> <span class="n">length</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">jacks</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span>
</span><span id="L-1636"><a href="#L-1636"><span class="linenos">1636</span></a> <span class="n">prj</span> <span class="o">=</span> <span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ones</span><span class="p">((</span><span class="n">length</span><span class="p">,</span> <span class="n">length</span><span class="p">))</span> <span class="o">-</span> <span class="p">(</span><span class="n">length</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">identity</span><span class="p">(</span><span class="n">length</span><span class="p">))</span>
</span><span id="L-1637"><a href="#L-1637"><span class="linenos">1637</span></a> <span class="n">samples</span> <span class="o">=</span> <span class="n">jacks</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span> <span class="o">@</span> <span class="n">prj</span>
</span><span id="L-1638"><a href="#L-1638"><span class="linenos">1638</span></a> <span class="n">mean</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">samples</span><span class="p">)</span>
</span><span id="L-1639"><a href="#L-1639"><span class="linenos">1639</span></a> <span class="n">new_obs</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([</span><span class="n">samples</span> <span class="o">-</span> <span class="n">mean</span><span class="p">],</span> <span class="p">[</span><span class="n">name</span><span class="p">],</span> <span class="n">idl</span><span class="o">=</span><span class="n">idl</span><span class="p">,</span> <span class="n">means</span><span class="o">=</span><span class="p">[</span><span class="n">mean</span><span class="p">])</span>
</span><span id="L-1640"><a href="#L-1640"><span class="linenos">1640</span></a> <span class="n">new_obs</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">jacks</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1641"><a href="#L-1641"><span class="linenos">1641</span></a> <span class="k">return</span> <span class="n">new_obs</span>
</span><span id="L-1642"><a href="#L-1642"><span class="linenos">1642</span></a>
</span><span id="L-1643"><a href="#L-1643"><span class="linenos">1643</span></a>
</span><span id="L-1644"><a href="#L-1644"><span class="linenos">1644</span></a><span class="k">def</span> <span class="nf">import_bootstrap</span><span class="p">(</span><span class="n">boots</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">random_numbers</span><span class="p">):</span>
</span><span id="L-1645"><a href="#L-1645"><span class="linenos">1645</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Imports bootstrap samples and returns an Obs</span>
</span><span id="L-1646"><a href="#L-1646"><span class="linenos">1646</span></a>
</span><span id="L-1647"><a href="#L-1647"><span class="linenos">1647</span></a><span class="sd"> Parameters</span>
</span><span id="L-1648"><a href="#L-1648"><span class="linenos">1648</span></a><span class="sd"> ----------</span>
</span><span id="L-1649"><a href="#L-1649"><span class="linenos">1649</span></a><span class="sd"> boots : numpy.ndarray</span>
</span><span id="L-1650"><a href="#L-1650"><span class="linenos">1650</span></a><span class="sd"> numpy array containing the mean value as zeroth entry and</span>
</span><span id="L-1651"><a href="#L-1651"><span class="linenos">1651</span></a><span class="sd"> the N bootstrap samples as first to Nth entry.</span>
</span><span id="L-1652"><a href="#L-1652"><span class="linenos">1652</span></a><span class="sd"> name : str</span>
</span><span id="L-1653"><a href="#L-1653"><span class="linenos">1653</span></a><span class="sd"> name of the ensemble the samples are defined on.</span>
</span><span id="L-1654"><a href="#L-1654"><span class="linenos">1654</span></a><span class="sd"> random_numbers : np.ndarray</span>
</span><span id="L-1655"><a href="#L-1655"><span class="linenos">1655</span></a><span class="sd"> Array of shape (samples, length) containing the random numbers to generate the bootstrap samples,</span>
</span><span id="L-1656"><a href="#L-1656"><span class="linenos">1656</span></a><span class="sd"> where samples is the number of bootstrap samples and length is the length of the original Monte Carlo</span>
</span><span id="L-1657"><a href="#L-1657"><span class="linenos">1657</span></a><span class="sd"> chain to be reconstructed.</span>
</span><span id="L-1658"><a href="#L-1658"><span class="linenos">1658</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1659"><a href="#L-1659"><span class="linenos">1659</span></a> <span class="n">samples</span><span class="p">,</span> <span class="n">length</span> <span class="o">=</span> <span class="n">random_numbers</span><span class="o">.</span><span class="n">shape</span>
</span><span id="L-1660"><a href="#L-1660"><span class="linenos">1660</span></a> <span class="k">if</span> <span class="n">samples</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">boots</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="L-1661"><a href="#L-1661"><span class="linenos">1661</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Random numbers do not have the correct shape.&quot;</span><span class="p">)</span>
</span><span id="L-1662"><a href="#L-1662"><span class="linenos">1662</span></a>
</span><span id="L-1663"><a href="#L-1663"><span class="linenos">1663</span></a> <span class="k">if</span> <span class="n">samples</span> <span class="o">&lt;</span> <span class="n">length</span><span class="p">:</span>
</span><span id="L-1664"><a href="#L-1664"><span class="linenos">1664</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Obs can&#39;t be reconstructed if there are fewer bootstrap samples than Monte Carlo data points.&quot;</span><span class="p">)</span>
</span><span id="L-1614"><a href="#L-1614"><span class="linenos">1614</span></a> <span class="n">posd</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="L-1615"><a href="#L-1615"><span class="linenos">1615</span></a> <span class="n">ofs</span> <span class="o">=</span> <span class="mi">0</span>
</span><span id="L-1616"><a href="#L-1616"><span class="linenos">1616</span></a> <span class="k">for</span> <span class="n">ki</span><span class="p">,</span> <span class="n">k</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">kl</span><span class="p">):</span>
</span><span id="L-1617"><a href="#L-1617"><span class="linenos">1617</span></a> <span class="n">posd</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">i</span> <span class="o">+</span> <span class="n">ofs</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">yd</span><span class="p">[</span><span class="n">k</span><span class="p">]))]</span>
</span><span id="L-1618"><a href="#L-1618"><span class="linenos">1618</span></a> <span class="n">ofs</span> <span class="o">+=</span> <span class="nb">len</span><span class="p">(</span><span class="n">posd</span><span class="p">[</span><span class="n">k</span><span class="p">])</span>
</span><span id="L-1619"><a href="#L-1619"><span class="linenos">1619</span></a>
</span><span id="L-1620"><a href="#L-1620"><span class="linenos">1620</span></a> <span class="n">mapping</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1621"><a href="#L-1621"><span class="linenos">1621</span></a> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">kl_sorted</span><span class="p">:</span>
</span><span id="L-1622"><a href="#L-1622"><span class="linenos">1622</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">yd</span><span class="p">[</span><span class="n">k</span><span class="p">])):</span>
</span><span id="L-1623"><a href="#L-1623"><span class="linenos">1623</span></a> <span class="n">mapping</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">posd</span><span class="p">[</span><span class="n">k</span><span class="p">][</span><span class="n">i</span><span class="p">])</span>
</span><span id="L-1624"><a href="#L-1624"><span class="linenos">1624</span></a>
</span><span id="L-1625"><a href="#L-1625"><span class="linenos">1625</span></a> <span class="n">corr_sorted</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros_like</span><span class="p">(</span><span class="n">corr</span><span class="p">)</span>
</span><span id="L-1626"><a href="#L-1626"><span class="linenos">1626</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">corr</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]):</span>
</span><span id="L-1627"><a href="#L-1627"><span class="linenos">1627</span></a> <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">corr</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]):</span>
</span><span id="L-1628"><a href="#L-1628"><span class="linenos">1628</span></a> <span class="n">corr_sorted</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span> <span class="o">=</span> <span class="n">corr</span><span class="p">[</span><span class="n">mapping</span><span class="p">[</span><span class="n">i</span><span class="p">]][</span><span class="n">mapping</span><span class="p">[</span><span class="n">j</span><span class="p">]]</span>
</span><span id="L-1629"><a href="#L-1629"><span class="linenos">1629</span></a>
</span><span id="L-1630"><a href="#L-1630"><span class="linenos">1630</span></a> <span class="k">return</span> <span class="n">corr_sorted</span>
</span><span id="L-1631"><a href="#L-1631"><span class="linenos">1631</span></a>
</span><span id="L-1632"><a href="#L-1632"><span class="linenos">1632</span></a>
</span><span id="L-1633"><a href="#L-1633"><span class="linenos">1633</span></a><span class="k">def</span> <span class="nf">_smooth_eigenvalues</span><span class="p">(</span><span class="n">corr</span><span class="p">,</span> <span class="n">E</span><span class="p">):</span>
</span><span id="L-1634"><a href="#L-1634"><span class="linenos">1634</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Eigenvalue smoothing as described in hep-lat/9412087</span>
</span><span id="L-1635"><a href="#L-1635"><span class="linenos">1635</span></a>
</span><span id="L-1636"><a href="#L-1636"><span class="linenos">1636</span></a><span class="sd"> corr : np.ndarray</span>
</span><span id="L-1637"><a href="#L-1637"><span class="linenos">1637</span></a><span class="sd"> correlation matrix</span>
</span><span id="L-1638"><a href="#L-1638"><span class="linenos">1638</span></a><span class="sd"> E : integer</span>
</span><span id="L-1639"><a href="#L-1639"><span class="linenos">1639</span></a><span class="sd"> Number of eigenvalues to be left substantially unchanged</span>
</span><span id="L-1640"><a href="#L-1640"><span class="linenos">1640</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1641"><a href="#L-1641"><span class="linenos">1641</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="mi">2</span> <span class="o">&lt;</span> <span class="n">E</span> <span class="o">&lt;</span> <span class="n">corr</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-</span> <span class="mi">1</span><span class="p">):</span>
</span><span id="L-1642"><a href="#L-1642"><span class="linenos">1642</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;&#39;E&#39; has to be between 2 and the dimension of the correlation matrix minus 1 (</span><span class="si">{</span><span class="n">corr</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="si">}</span><span class="s2">).&quot;</span><span class="p">)</span>
</span><span id="L-1643"><a href="#L-1643"><span class="linenos">1643</span></a> <span class="n">vals</span><span class="p">,</span> <span class="n">vec</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">eigh</span><span class="p">(</span><span class="n">corr</span><span class="p">)</span>
</span><span id="L-1644"><a href="#L-1644"><span class="linenos">1644</span></a> <span class="n">lambda_min</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">vals</span><span class="p">[:</span><span class="o">-</span><span class="n">E</span><span class="p">])</span>
</span><span id="L-1645"><a href="#L-1645"><span class="linenos">1645</span></a> <span class="n">vals</span><span class="p">[</span><span class="n">vals</span> <span class="o">&lt;</span> <span class="n">lambda_min</span><span class="p">]</span> <span class="o">=</span> <span class="n">lambda_min</span>
</span><span id="L-1646"><a href="#L-1646"><span class="linenos">1646</span></a> <span class="n">vals</span> <span class="o">/=</span> <span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">vals</span><span class="p">)</span>
</span><span id="L-1647"><a href="#L-1647"><span class="linenos">1647</span></a> <span class="k">return</span> <span class="n">vec</span> <span class="o">@</span> <span class="n">np</span><span class="o">.</span><span class="n">diag</span><span class="p">(</span><span class="n">vals</span><span class="p">)</span> <span class="o">@</span> <span class="n">vec</span><span class="o">.</span><span class="n">T</span>
</span><span id="L-1648"><a href="#L-1648"><span class="linenos">1648</span></a>
</span><span id="L-1649"><a href="#L-1649"><span class="linenos">1649</span></a>
</span><span id="L-1650"><a href="#L-1650"><span class="linenos">1650</span></a><span class="k">def</span> <span class="nf">_covariance_element</span><span class="p">(</span><span class="n">obs1</span><span class="p">,</span> <span class="n">obs2</span><span class="p">):</span>
</span><span id="L-1651"><a href="#L-1651"><span class="linenos">1651</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Estimates the covariance of two Obs objects, neglecting autocorrelations.&quot;&quot;&quot;</span>
</span><span id="L-1652"><a href="#L-1652"><span class="linenos">1652</span></a>
</span><span id="L-1653"><a href="#L-1653"><span class="linenos">1653</span></a> <span class="k">def</span> <span class="nf">calc_gamma</span><span class="p">(</span><span class="n">deltas1</span><span class="p">,</span> <span class="n">deltas2</span><span class="p">,</span> <span class="n">idx1</span><span class="p">,</span> <span class="n">idx2</span><span class="p">,</span> <span class="n">new_idx</span><span class="p">):</span>
</span><span id="L-1654"><a href="#L-1654"><span class="linenos">1654</span></a> <span class="n">deltas1</span> <span class="o">=</span> <span class="n">_reduce_deltas</span><span class="p">(</span><span class="n">deltas1</span><span class="p">,</span> <span class="n">idx1</span><span class="p">,</span> <span class="n">new_idx</span><span class="p">)</span>
</span><span id="L-1655"><a href="#L-1655"><span class="linenos">1655</span></a> <span class="n">deltas2</span> <span class="o">=</span> <span class="n">_reduce_deltas</span><span class="p">(</span><span class="n">deltas2</span><span class="p">,</span> <span class="n">idx2</span><span class="p">,</span> <span class="n">new_idx</span><span class="p">)</span>
</span><span id="L-1656"><a href="#L-1656"><span class="linenos">1656</span></a> <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">deltas1</span> <span class="o">*</span> <span class="n">deltas2</span><span class="p">)</span>
</span><span id="L-1657"><a href="#L-1657"><span class="linenos">1657</span></a>
</span><span id="L-1658"><a href="#L-1658"><span class="linenos">1658</span></a> <span class="k">if</span> <span class="nb">set</span><span class="p">(</span><span class="n">obs1</span><span class="o">.</span><span class="n">names</span><span class="p">)</span><span class="o">.</span><span class="n">isdisjoint</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">obs2</span><span class="o">.</span><span class="n">names</span><span class="p">)):</span>
</span><span id="L-1659"><a href="#L-1659"><span class="linenos">1659</span></a> <span class="k">return</span> <span class="mf">0.0</span>
</span><span id="L-1660"><a href="#L-1660"><span class="linenos">1660</span></a>
</span><span id="L-1661"><a href="#L-1661"><span class="linenos">1661</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">obs1</span><span class="p">,</span> <span class="s1">&#39;e_dvalue&#39;</span><span class="p">)</span> <span class="ow">or</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">obs2</span><span class="p">,</span> <span class="s1">&#39;e_dvalue&#39;</span><span class="p">):</span>
</span><span id="L-1662"><a href="#L-1662"><span class="linenos">1662</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;The gamma method has to be applied to both Obs first.&#39;</span><span class="p">)</span>
</span><span id="L-1663"><a href="#L-1663"><span class="linenos">1663</span></a>
</span><span id="L-1664"><a href="#L-1664"><span class="linenos">1664</span></a> <span class="n">dvalue</span> <span class="o">=</span> <span class="mf">0.0</span>
</span><span id="L-1665"><a href="#L-1665"><span class="linenos">1665</span></a>
</span><span id="L-1666"><a href="#L-1666"><span class="linenos">1666</span></a> <span class="n">proj</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vstack</span><span class="p">([</span><span class="n">np</span><span class="o">.</span><span class="n">bincount</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">minlength</span><span class="o">=</span><span class="n">length</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">random_numbers</span><span class="p">])</span> <span class="o">/</span> <span class="n">length</span>
</span><span id="L-1666"><a href="#L-1666"><span class="linenos">1666</span></a> <span class="k">for</span> <span class="n">e_name</span> <span class="ow">in</span> <span class="n">obs1</span><span class="o">.</span><span class="n">mc_names</span><span class="p">:</span>
</span><span id="L-1667"><a href="#L-1667"><span class="linenos">1667</span></a>
</span><span id="L-1668"><a href="#L-1668"><span class="linenos">1668</span></a> <span class="n">samples</span> <span class="o">=</span> <span class="n">scipy</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">lstsq</span><span class="p">(</span><span class="n">proj</span><span class="p">,</span> <span class="n">boots</span><span class="p">[</span><span class="mi">1</span><span class="p">:])[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1669"><a href="#L-1669"><span class="linenos">1669</span></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([</span><span class="n">samples</span><span class="p">],</span> <span class="p">[</span><span class="n">name</span><span class="p">])</span>
</span><span id="L-1670"><a href="#L-1670"><span class="linenos">1670</span></a> <span class="n">ret</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">boots</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1671"><a href="#L-1671"><span class="linenos">1671</span></a> <span class="k">return</span> <span class="n">ret</span>
</span><span id="L-1672"><a href="#L-1672"><span class="linenos">1672</span></a>
</span><span id="L-1673"><a href="#L-1673"><span class="linenos">1673</span></a>
</span><span id="L-1674"><a href="#L-1674"><span class="linenos">1674</span></a><span class="k">def</span> <span class="nf">merge_obs</span><span class="p">(</span><span class="n">list_of_obs</span><span class="p">):</span>
</span><span id="L-1675"><a href="#L-1675"><span class="linenos">1675</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Combine all observables in list_of_obs into one new observable</span>
</span><span id="L-1668"><a href="#L-1668"><span class="linenos">1668</span></a> <span class="k">if</span> <span class="n">e_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">obs2</span><span class="o">.</span><span class="n">mc_names</span><span class="p">:</span>
</span><span id="L-1669"><a href="#L-1669"><span class="linenos">1669</span></a> <span class="k">continue</span>
</span><span id="L-1670"><a href="#L-1670"><span class="linenos">1670</span></a>
</span><span id="L-1671"><a href="#L-1671"><span class="linenos">1671</span></a> <span class="n">idl_d</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="L-1672"><a href="#L-1672"><span class="linenos">1672</span></a> <span class="k">for</span> <span class="n">r_name</span> <span class="ow">in</span> <span class="n">obs1</span><span class="o">.</span><span class="n">e_content</span><span class="p">[</span><span class="n">e_name</span><span class="p">]:</span>
</span><span id="L-1673"><a href="#L-1673"><span class="linenos">1673</span></a> <span class="k">if</span> <span class="n">r_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">obs2</span><span class="o">.</span><span class="n">e_content</span><span class="p">[</span><span class="n">e_name</span><span class="p">]:</span>
</span><span id="L-1674"><a href="#L-1674"><span class="linenos">1674</span></a> <span class="k">continue</span>
</span><span id="L-1675"><a href="#L-1675"><span class="linenos">1675</span></a> <span class="n">idl_d</span><span class="p">[</span><span class="n">r_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">_intersection_idx</span><span class="p">([</span><span class="n">obs1</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs2</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">]])</span>
</span><span id="L-1676"><a href="#L-1676"><span class="linenos">1676</span></a>
</span><span id="L-1677"><a href="#L-1677"><span class="linenos">1677</span></a><span class="sd"> Parameters</span>
</span><span id="L-1678"><a href="#L-1678"><span class="linenos">1678</span></a><span class="sd"> ----------</span>
</span><span id="L-1679"><a href="#L-1679"><span class="linenos">1679</span></a><span class="sd"> list_of_obs : list</span>
</span><span id="L-1680"><a href="#L-1680"><span class="linenos">1680</span></a><span class="sd"> list of the Obs object to be combined</span>
</span><span id="L-1681"><a href="#L-1681"><span class="linenos">1681</span></a>
</span><span id="L-1682"><a href="#L-1682"><span class="linenos">1682</span></a><span class="sd"> Notes</span>
</span><span id="L-1683"><a href="#L-1683"><span class="linenos">1683</span></a><span class="sd"> -----</span>
</span><span id="L-1684"><a href="#L-1684"><span class="linenos">1684</span></a><span class="sd"> It is not possible to combine obs which are based on the same replicum</span>
</span><span id="L-1685"><a href="#L-1685"><span class="linenos">1685</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1686"><a href="#L-1686"><span class="linenos">1686</span></a> <span class="n">replist</span> <span class="o">=</span> <span class="p">[</span><span class="n">item</span> <span class="k">for</span> <span class="n">obs</span> <span class="ow">in</span> <span class="n">list_of_obs</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">obs</span><span class="o">.</span><span class="n">names</span><span class="p">]</span>
</span><span id="L-1687"><a href="#L-1687"><span class="linenos">1687</span></a> <span class="k">if</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">replist</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">replist</span><span class="p">)))</span> <span class="ow">is</span> <span class="kc">False</span><span class="p">:</span>
</span><span id="L-1688"><a href="#L-1688"><span class="linenos">1688</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;list_of_obs contains duplicate replica: </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">replist</span><span class="p">)))</span>
</span><span id="L-1689"><a href="#L-1689"><span class="linenos">1689</span></a> <span class="k">if</span> <span class="nb">any</span><span class="p">([</span><span class="nb">len</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">cov_names</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">list_of_obs</span><span class="p">]):</span>
</span><span id="L-1690"><a href="#L-1690"><span class="linenos">1690</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Not possible to merge data that contains covobs!&#39;</span><span class="p">)</span>
</span><span id="L-1691"><a href="#L-1691"><span class="linenos">1691</span></a> <span class="n">new_dict</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="L-1692"><a href="#L-1692"><span class="linenos">1692</span></a> <span class="n">idl_dict</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="L-1693"><a href="#L-1693"><span class="linenos">1693</span></a> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">list_of_obs</span><span class="p">:</span>
</span><span id="L-1694"><a href="#L-1694"><span class="linenos">1694</span></a> <span class="n">new_dict</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">key</span><span class="p">:</span> <span class="n">o</span><span class="o">.</span><span class="n">deltas</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="o">+</span> <span class="n">o</span><span class="o">.</span><span class="n">r_values</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
</span><span id="L-1695"><a href="#L-1695"><span class="linenos">1695</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="nb">set</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">deltas</span><span class="p">)</span> <span class="o">|</span> <span class="nb">set</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">r_values</span><span class="p">)})</span>
</span><span id="L-1696"><a href="#L-1696"><span class="linenos">1696</span></a> <span class="n">idl_dict</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">key</span><span class="p">:</span> <span class="n">o</span><span class="o">.</span><span class="n">idl</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="nb">set</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">deltas</span><span class="p">)})</span>
</span><span id="L-1677"><a href="#L-1677"><span class="linenos">1677</span></a> <span class="n">gamma</span> <span class="o">=</span> <span class="mf">0.0</span>
</span><span id="L-1678"><a href="#L-1678"><span class="linenos">1678</span></a>
</span><span id="L-1679"><a href="#L-1679"><span class="linenos">1679</span></a> <span class="k">for</span> <span class="n">r_name</span> <span class="ow">in</span> <span class="n">obs1</span><span class="o">.</span><span class="n">e_content</span><span class="p">[</span><span class="n">e_name</span><span class="p">]:</span>
</span><span id="L-1680"><a href="#L-1680"><span class="linenos">1680</span></a> <span class="k">if</span> <span class="n">r_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">obs2</span><span class="o">.</span><span class="n">e_content</span><span class="p">[</span><span class="n">e_name</span><span class="p">]:</span>
</span><span id="L-1681"><a href="#L-1681"><span class="linenos">1681</span></a> <span class="k">continue</span>
</span><span id="L-1682"><a href="#L-1682"><span class="linenos">1682</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">idl_d</span><span class="p">[</span><span class="n">r_name</span><span class="p">])</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
</span><span id="L-1683"><a href="#L-1683"><span class="linenos">1683</span></a> <span class="k">continue</span>
</span><span id="L-1684"><a href="#L-1684"><span class="linenos">1684</span></a> <span class="n">gamma</span> <span class="o">+=</span> <span class="n">calc_gamma</span><span class="p">(</span><span class="n">obs1</span><span class="o">.</span><span class="n">deltas</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs2</span><span class="o">.</span><span class="n">deltas</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs1</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs2</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">idl_d</span><span class="p">[</span><span class="n">r_name</span><span class="p">])</span>
</span><span id="L-1685"><a href="#L-1685"><span class="linenos">1685</span></a>
</span><span id="L-1686"><a href="#L-1686"><span class="linenos">1686</span></a> <span class="k">if</span> <span class="n">gamma</span> <span class="o">==</span> <span class="mf">0.0</span><span class="p">:</span>
</span><span id="L-1687"><a href="#L-1687"><span class="linenos">1687</span></a> <span class="k">continue</span>
</span><span id="L-1688"><a href="#L-1688"><span class="linenos">1688</span></a>
</span><span id="L-1689"><a href="#L-1689"><span class="linenos">1689</span></a> <span class="n">gamma_div</span> <span class="o">=</span> <span class="mf">0.0</span>
</span><span id="L-1690"><a href="#L-1690"><span class="linenos">1690</span></a> <span class="k">for</span> <span class="n">r_name</span> <span class="ow">in</span> <span class="n">obs1</span><span class="o">.</span><span class="n">e_content</span><span class="p">[</span><span class="n">e_name</span><span class="p">]:</span>
</span><span id="L-1691"><a href="#L-1691"><span class="linenos">1691</span></a> <span class="k">if</span> <span class="n">r_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">obs2</span><span class="o">.</span><span class="n">e_content</span><span class="p">[</span><span class="n">e_name</span><span class="p">]:</span>
</span><span id="L-1692"><a href="#L-1692"><span class="linenos">1692</span></a> <span class="k">continue</span>
</span><span id="L-1693"><a href="#L-1693"><span class="linenos">1693</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">idl_d</span><span class="p">[</span><span class="n">r_name</span><span class="p">])</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
</span><span id="L-1694"><a href="#L-1694"><span class="linenos">1694</span></a> <span class="k">continue</span>
</span><span id="L-1695"><a href="#L-1695"><span class="linenos">1695</span></a> <span class="n">gamma_div</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">calc_gamma</span><span class="p">(</span><span class="n">obs1</span><span class="o">.</span><span class="n">deltas</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs1</span><span class="o">.</span><span class="n">deltas</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs1</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs1</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">idl_d</span><span class="p">[</span><span class="n">r_name</span><span class="p">])</span> <span class="o">*</span> <span class="n">calc_gamma</span><span class="p">(</span><span class="n">obs2</span><span class="o">.</span><span class="n">deltas</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs2</span><span class="o">.</span><span class="n">deltas</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs2</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">obs2</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="n">idl_d</span><span class="p">[</span><span class="n">r_name</span><span class="p">]))</span>
</span><span id="L-1696"><a href="#L-1696"><span class="linenos">1696</span></a> <span class="n">gamma</span> <span class="o">/=</span> <span class="n">gamma_div</span>
</span><span id="L-1697"><a href="#L-1697"><span class="linenos">1697</span></a>
</span><span id="L-1698"><a href="#L-1698"><span class="linenos">1698</span></a> <span class="n">names</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">new_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span>
</span><span id="L-1699"><a href="#L-1699"><span class="linenos">1699</span></a> <span class="n">o</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([</span><span class="n">new_dict</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">names</span><span class="p">],</span> <span class="n">names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="p">[</span><span class="n">idl_dict</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">names</span><span class="p">])</span>
</span><span id="L-1700"><a href="#L-1700"><span class="linenos">1700</span></a> <span class="n">o</span><span class="o">.</span><span class="n">reweighted</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">([</span><span class="n">oi</span><span class="o">.</span><span class="n">reweighted</span> <span class="k">for</span> <span class="n">oi</span> <span class="ow">in</span> <span class="n">list_of_obs</span><span class="p">])</span>
</span><span id="L-1701"><a href="#L-1701"><span class="linenos">1701</span></a> <span class="k">return</span> <span class="n">o</span>
</span><span id="L-1702"><a href="#L-1702"><span class="linenos">1702</span></a>
</span><span id="L-1703"><a href="#L-1703"><span class="linenos">1703</span></a>
</span><span id="L-1704"><a href="#L-1704"><span class="linenos">1704</span></a><span class="k">def</span> <span class="nf">cov_Obs</span><span class="p">(</span><span class="n">means</span><span class="p">,</span> <span class="n">cov</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">grad</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-1705"><a href="#L-1705"><span class="linenos">1705</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Create an Obs based on mean(s) and a covariance matrix</span>
</span><span id="L-1698"><a href="#L-1698"><span class="linenos">1698</span></a> <span class="n">dvalue</span> <span class="o">+=</span> <span class="n">gamma</span>
</span><span id="L-1699"><a href="#L-1699"><span class="linenos">1699</span></a>
</span><span id="L-1700"><a href="#L-1700"><span class="linenos">1700</span></a> <span class="k">for</span> <span class="n">e_name</span> <span class="ow">in</span> <span class="n">obs1</span><span class="o">.</span><span class="n">cov_names</span><span class="p">:</span>
</span><span id="L-1701"><a href="#L-1701"><span class="linenos">1701</span></a>
</span><span id="L-1702"><a href="#L-1702"><span class="linenos">1702</span></a> <span class="k">if</span> <span class="n">e_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">obs2</span><span class="o">.</span><span class="n">cov_names</span><span class="p">:</span>
</span><span id="L-1703"><a href="#L-1703"><span class="linenos">1703</span></a> <span class="k">continue</span>
</span><span id="L-1704"><a href="#L-1704"><span class="linenos">1704</span></a>
</span><span id="L-1705"><a href="#L-1705"><span class="linenos">1705</span></a> <span class="n">dvalue</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">transpose</span><span class="p">(</span><span class="n">obs1</span><span class="o">.</span><span class="n">covobs</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span><span class="o">.</span><span class="n">grad</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">obs1</span><span class="o">.</span><span class="n">covobs</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span><span class="o">.</span><span class="n">cov</span><span class="p">,</span> <span class="n">obs2</span><span class="o">.</span><span class="n">covobs</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span><span class="o">.</span><span class="n">grad</span><span class="p">))</span><span class="o">.</span><span class="n">item</span><span class="p">()</span>
</span><span id="L-1706"><a href="#L-1706"><span class="linenos">1706</span></a>
</span><span id="L-1707"><a href="#L-1707"><span class="linenos">1707</span></a><span class="sd"> Parameters</span>
</span><span id="L-1708"><a href="#L-1708"><span class="linenos">1708</span></a><span class="sd"> ----------</span>
</span><span id="L-1709"><a href="#L-1709"><span class="linenos">1709</span></a><span class="sd"> mean : list of floats or float</span>
</span><span id="L-1710"><a href="#L-1710"><span class="linenos">1710</span></a><span class="sd"> N mean value(s) of the new Obs</span>
</span><span id="L-1711"><a href="#L-1711"><span class="linenos">1711</span></a><span class="sd"> cov : list or array</span>
</span><span id="L-1712"><a href="#L-1712"><span class="linenos">1712</span></a><span class="sd"> 2d (NxN) Covariance matrix, 1d diagonal entries or 0d covariance</span>
</span><span id="L-1713"><a href="#L-1713"><span class="linenos">1713</span></a><span class="sd"> name : str</span>
</span><span id="L-1714"><a href="#L-1714"><span class="linenos">1714</span></a><span class="sd"> identifier for the covariance matrix</span>
</span><span id="L-1715"><a href="#L-1715"><span class="linenos">1715</span></a><span class="sd"> grad : list or array</span>
</span><span id="L-1716"><a href="#L-1716"><span class="linenos">1716</span></a><span class="sd"> Gradient of the Covobs wrt. the means belonging to cov.</span>
</span><span id="L-1717"><a href="#L-1717"><span class="linenos">1717</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1718"><a href="#L-1718"><span class="linenos">1718</span></a>
</span><span id="L-1719"><a href="#L-1719"><span class="linenos">1719</span></a> <span class="k">def</span> <span class="nf">covobs_to_obs</span><span class="p">(</span><span class="n">co</span><span class="p">):</span>
</span><span id="L-1720"><a href="#L-1720"><span class="linenos">1720</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Make an Obs out of a Covobs</span>
</span><span id="L-1721"><a href="#L-1721"><span class="linenos">1721</span></a>
</span><span id="L-1722"><a href="#L-1722"><span class="linenos">1722</span></a><span class="sd"> Parameters</span>
</span><span id="L-1723"><a href="#L-1723"><span class="linenos">1723</span></a><span class="sd"> ----------</span>
</span><span id="L-1724"><a href="#L-1724"><span class="linenos">1724</span></a><span class="sd"> co : Covobs</span>
</span><span id="L-1725"><a href="#L-1725"><span class="linenos">1725</span></a><span class="sd"> Covobs to be embedded into the Obs</span>
</span><span id="L-1726"><a href="#L-1726"><span class="linenos">1726</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1727"><a href="#L-1727"><span class="linenos">1727</span></a> <span class="n">o</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([],</span> <span class="p">[],</span> <span class="n">means</span><span class="o">=</span><span class="p">[])</span>
</span><span id="L-1728"><a href="#L-1728"><span class="linenos">1728</span></a> <span class="n">o</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">co</span><span class="o">.</span><span class="n">value</span>
</span><span id="L-1729"><a href="#L-1729"><span class="linenos">1729</span></a> <span class="n">o</span><span class="o">.</span><span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">co</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
</span><span id="L-1730"><a href="#L-1730"><span class="linenos">1730</span></a> <span class="n">o</span><span class="o">.</span><span class="n">_covobs</span><span class="p">[</span><span class="n">co</span><span class="o">.</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">co</span>
</span><span id="L-1731"><a href="#L-1731"><span class="linenos">1731</span></a> <span class="n">o</span><span class="o">.</span><span class="n">_dvalue</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">co</span><span class="o">.</span><span class="n">errsq</span><span class="p">())</span>
</span><span id="L-1732"><a href="#L-1732"><span class="linenos">1732</span></a> <span class="k">return</span> <span class="n">o</span>
</span><span id="L-1733"><a href="#L-1733"><span class="linenos">1733</span></a>
</span><span id="L-1734"><a href="#L-1734"><span class="linenos">1734</span></a> <span class="n">ol</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1735"><a href="#L-1735"><span class="linenos">1735</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">means</span><span class="p">,</span> <span class="p">(</span><span class="nb">float</span><span class="p">,</span> <span class="nb">int</span><span class="p">)):</span>
</span><span id="L-1736"><a href="#L-1736"><span class="linenos">1736</span></a> <span class="n">means</span> <span class="o">=</span> <span class="p">[</span><span class="n">means</span><span class="p">]</span>
</span><span id="L-1737"><a href="#L-1737"><span class="linenos">1737</span></a>
</span><span id="L-1738"><a href="#L-1738"><span class="linenos">1738</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">means</span><span class="p">)):</span>
</span><span id="L-1739"><a href="#L-1739"><span class="linenos">1739</span></a> <span class="n">ol</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">covobs_to_obs</span><span class="p">(</span><span class="n">Covobs</span><span class="p">(</span><span class="n">means</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">cov</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">pos</span><span class="o">=</span><span class="n">i</span><span class="p">,</span> <span class="n">grad</span><span class="o">=</span><span class="n">grad</span><span class="p">)))</span>
</span><span id="L-1740"><a href="#L-1740"><span class="linenos">1740</span></a> <span class="k">if</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">covobs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">N</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">means</span><span class="p">):</span>
</span><span id="L-1741"><a href="#L-1741"><span class="linenos">1741</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;You have to provide </span><span class="si">%d</span><span class="s1"> mean values!&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">N</span><span class="p">))</span>
</span><span id="L-1742"><a href="#L-1742"><span class="linenos">1742</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="L-1743"><a href="#L-1743"><span class="linenos">1743</span></a> <span class="k">return</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1744"><a href="#L-1744"><span class="linenos">1744</span></a> <span class="k">return</span> <span class="n">ol</span>
</span><span id="L-1745"><a href="#L-1745"><span class="linenos">1745</span></a>
</span><span id="L-1746"><a href="#L-1746"><span class="linenos">1746</span></a>
</span><span id="L-1747"><a href="#L-1747"><span class="linenos">1747</span></a><span class="k">def</span> <span class="nf">_determine_gap</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">e_content</span><span class="p">,</span> <span class="n">e_name</span><span class="p">):</span>
</span><span id="L-1748"><a href="#L-1748"><span class="linenos">1748</span></a> <span class="n">gaps</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1749"><a href="#L-1749"><span class="linenos">1749</span></a> <span class="k">for</span> <span class="n">r_name</span> <span class="ow">in</span> <span class="n">e_content</span><span class="p">[</span><span class="n">e_name</span><span class="p">]:</span>
</span><span id="L-1750"><a href="#L-1750"><span class="linenos">1750</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="nb">range</span><span class="p">):</span>
</span><span id="L-1751"><a href="#L-1751"><span class="linenos">1751</span></a> <span class="n">gaps</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">]</span><span class="o">.</span><span class="n">step</span><span class="p">)</span>
</span><span id="L-1752"><a href="#L-1752"><span class="linenos">1752</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="L-1753"><a href="#L-1753"><span class="linenos">1753</span></a> <span class="n">gaps</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">diff</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">])))</span>
</span><span id="L-1754"><a href="#L-1754"><span class="linenos">1754</span></a>
</span><span id="L-1755"><a href="#L-1755"><span class="linenos">1755</span></a> <span class="n">gap</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">gaps</span><span class="p">)</span>
</span><span id="L-1756"><a href="#L-1756"><span class="linenos">1756</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">np</span><span class="o">.</span><span class="n">all</span><span class="p">([</span><span class="n">gi</span> <span class="o">%</span> <span class="n">gap</span> <span class="o">==</span> <span class="mi">0</span> <span class="k">for</span> <span class="n">gi</span> <span class="ow">in</span> <span class="n">gaps</span><span class="p">]):</span>
</span><span id="L-1757"><a href="#L-1757"><span class="linenos">1757</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Replica for ensemble </span><span class="si">{</span><span class="n">e_name</span><span class="si">}</span><span class="s2"> do not have a common spacing.&quot;</span><span class="p">,</span> <span class="n">gaps</span><span class="p">)</span>
</span><span id="L-1707"><a href="#L-1707"><span class="linenos">1707</span></a> <span class="k">return</span> <span class="n">dvalue</span>
</span><span id="L-1708"><a href="#L-1708"><span class="linenos">1708</span></a>
</span><span id="L-1709"><a href="#L-1709"><span class="linenos">1709</span></a>
</span><span id="L-1710"><a href="#L-1710"><span class="linenos">1710</span></a><span class="k">def</span> <span class="nf">import_jackknife</span><span class="p">(</span><span class="n">jacks</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-1711"><a href="#L-1711"><span class="linenos">1711</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Imports jackknife samples and returns an Obs</span>
</span><span id="L-1712"><a href="#L-1712"><span class="linenos">1712</span></a>
</span><span id="L-1713"><a href="#L-1713"><span class="linenos">1713</span></a><span class="sd"> Parameters</span>
</span><span id="L-1714"><a href="#L-1714"><span class="linenos">1714</span></a><span class="sd"> ----------</span>
</span><span id="L-1715"><a href="#L-1715"><span class="linenos">1715</span></a><span class="sd"> jacks : numpy.ndarray</span>
</span><span id="L-1716"><a href="#L-1716"><span class="linenos">1716</span></a><span class="sd"> numpy array containing the mean value as zeroth entry and</span>
</span><span id="L-1717"><a href="#L-1717"><span class="linenos">1717</span></a><span class="sd"> the N jackknife samples as first to Nth entry.</span>
</span><span id="L-1718"><a href="#L-1718"><span class="linenos">1718</span></a><span class="sd"> name : str</span>
</span><span id="L-1719"><a href="#L-1719"><span class="linenos">1719</span></a><span class="sd"> name of the ensemble the samples are defined on.</span>
</span><span id="L-1720"><a href="#L-1720"><span class="linenos">1720</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1721"><a href="#L-1721"><span class="linenos">1721</span></a> <span class="n">length</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">jacks</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span>
</span><span id="L-1722"><a href="#L-1722"><span class="linenos">1722</span></a> <span class="n">prj</span> <span class="o">=</span> <span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ones</span><span class="p">((</span><span class="n">length</span><span class="p">,</span> <span class="n">length</span><span class="p">))</span> <span class="o">-</span> <span class="p">(</span><span class="n">length</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">identity</span><span class="p">(</span><span class="n">length</span><span class="p">))</span>
</span><span id="L-1723"><a href="#L-1723"><span class="linenos">1723</span></a> <span class="n">samples</span> <span class="o">=</span> <span class="n">jacks</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span> <span class="o">@</span> <span class="n">prj</span>
</span><span id="L-1724"><a href="#L-1724"><span class="linenos">1724</span></a> <span class="n">mean</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">samples</span><span class="p">)</span>
</span><span id="L-1725"><a href="#L-1725"><span class="linenos">1725</span></a> <span class="n">new_obs</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([</span><span class="n">samples</span> <span class="o">-</span> <span class="n">mean</span><span class="p">],</span> <span class="p">[</span><span class="n">name</span><span class="p">],</span> <span class="n">idl</span><span class="o">=</span><span class="n">idl</span><span class="p">,</span> <span class="n">means</span><span class="o">=</span><span class="p">[</span><span class="n">mean</span><span class="p">])</span>
</span><span id="L-1726"><a href="#L-1726"><span class="linenos">1726</span></a> <span class="n">new_obs</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">jacks</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1727"><a href="#L-1727"><span class="linenos">1727</span></a> <span class="k">return</span> <span class="n">new_obs</span>
</span><span id="L-1728"><a href="#L-1728"><span class="linenos">1728</span></a>
</span><span id="L-1729"><a href="#L-1729"><span class="linenos">1729</span></a>
</span><span id="L-1730"><a href="#L-1730"><span class="linenos">1730</span></a><span class="k">def</span> <span class="nf">import_bootstrap</span><span class="p">(</span><span class="n">boots</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">random_numbers</span><span class="p">):</span>
</span><span id="L-1731"><a href="#L-1731"><span class="linenos">1731</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Imports bootstrap samples and returns an Obs</span>
</span><span id="L-1732"><a href="#L-1732"><span class="linenos">1732</span></a>
</span><span id="L-1733"><a href="#L-1733"><span class="linenos">1733</span></a><span class="sd"> Parameters</span>
</span><span id="L-1734"><a href="#L-1734"><span class="linenos">1734</span></a><span class="sd"> ----------</span>
</span><span id="L-1735"><a href="#L-1735"><span class="linenos">1735</span></a><span class="sd"> boots : numpy.ndarray</span>
</span><span id="L-1736"><a href="#L-1736"><span class="linenos">1736</span></a><span class="sd"> numpy array containing the mean value as zeroth entry and</span>
</span><span id="L-1737"><a href="#L-1737"><span class="linenos">1737</span></a><span class="sd"> the N bootstrap samples as first to Nth entry.</span>
</span><span id="L-1738"><a href="#L-1738"><span class="linenos">1738</span></a><span class="sd"> name : str</span>
</span><span id="L-1739"><a href="#L-1739"><span class="linenos">1739</span></a><span class="sd"> name of the ensemble the samples are defined on.</span>
</span><span id="L-1740"><a href="#L-1740"><span class="linenos">1740</span></a><span class="sd"> random_numbers : np.ndarray</span>
</span><span id="L-1741"><a href="#L-1741"><span class="linenos">1741</span></a><span class="sd"> Array of shape (samples, length) containing the random numbers to generate the bootstrap samples,</span>
</span><span id="L-1742"><a href="#L-1742"><span class="linenos">1742</span></a><span class="sd"> where samples is the number of bootstrap samples and length is the length of the original Monte Carlo</span>
</span><span id="L-1743"><a href="#L-1743"><span class="linenos">1743</span></a><span class="sd"> chain to be reconstructed.</span>
</span><span id="L-1744"><a href="#L-1744"><span class="linenos">1744</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1745"><a href="#L-1745"><span class="linenos">1745</span></a> <span class="n">samples</span><span class="p">,</span> <span class="n">length</span> <span class="o">=</span> <span class="n">random_numbers</span><span class="o">.</span><span class="n">shape</span>
</span><span id="L-1746"><a href="#L-1746"><span class="linenos">1746</span></a> <span class="k">if</span> <span class="n">samples</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">boots</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="L-1747"><a href="#L-1747"><span class="linenos">1747</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Random numbers do not have the correct shape.&quot;</span><span class="p">)</span>
</span><span id="L-1748"><a href="#L-1748"><span class="linenos">1748</span></a>
</span><span id="L-1749"><a href="#L-1749"><span class="linenos">1749</span></a> <span class="k">if</span> <span class="n">samples</span> <span class="o">&lt;</span> <span class="n">length</span><span class="p">:</span>
</span><span id="L-1750"><a href="#L-1750"><span class="linenos">1750</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Obs can&#39;t be reconstructed if there are fewer bootstrap samples than Monte Carlo data points.&quot;</span><span class="p">)</span>
</span><span id="L-1751"><a href="#L-1751"><span class="linenos">1751</span></a>
</span><span id="L-1752"><a href="#L-1752"><span class="linenos">1752</span></a> <span class="n">proj</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vstack</span><span class="p">([</span><span class="n">np</span><span class="o">.</span><span class="n">bincount</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">minlength</span><span class="o">=</span><span class="n">length</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">random_numbers</span><span class="p">])</span> <span class="o">/</span> <span class="n">length</span>
</span><span id="L-1753"><a href="#L-1753"><span class="linenos">1753</span></a>
</span><span id="L-1754"><a href="#L-1754"><span class="linenos">1754</span></a> <span class="n">samples</span> <span class="o">=</span> <span class="n">scipy</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">lstsq</span><span class="p">(</span><span class="n">proj</span><span class="p">,</span> <span class="n">boots</span><span class="p">[</span><span class="mi">1</span><span class="p">:])[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1755"><a href="#L-1755"><span class="linenos">1755</span></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([</span><span class="n">samples</span><span class="p">],</span> <span class="p">[</span><span class="n">name</span><span class="p">])</span>
</span><span id="L-1756"><a href="#L-1756"><span class="linenos">1756</span></a> <span class="n">ret</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">boots</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1757"><a href="#L-1757"><span class="linenos">1757</span></a> <span class="k">return</span> <span class="n">ret</span>
</span><span id="L-1758"><a href="#L-1758"><span class="linenos">1758</span></a>
</span><span id="L-1759"><a href="#L-1759"><span class="linenos">1759</span></a> <span class="k">return</span> <span class="n">gap</span>
</span><span id="L-1760"><a href="#L-1760"><span class="linenos">1760</span></a>
</span><span id="L-1761"><a href="#L-1761"><span class="linenos">1761</span></a>
</span><span id="L-1762"><a href="#L-1762"><span class="linenos">1762</span></a><span class="k">def</span> <span class="nf">_check_lists_equal</span><span class="p">(</span><span class="n">idl</span><span class="p">):</span>
</span><span id="L-1763"><a href="#L-1763"><span class="linenos">1763</span></a><span class="w"> </span><span class="sd">&#39;&#39;&#39;</span>
</span><span id="L-1764"><a href="#L-1764"><span class="linenos">1764</span></a><span class="sd"> Use groupby to efficiently check whether all elements of idl are identical.</span>
</span><span id="L-1765"><a href="#L-1765"><span class="linenos">1765</span></a><span class="sd"> Returns True if all elements are equal, otherwise False.</span>
</span><span id="L-1766"><a href="#L-1766"><span class="linenos">1766</span></a>
</span><span id="L-1767"><a href="#L-1767"><span class="linenos">1767</span></a><span class="sd"> Parameters</span>
</span><span id="L-1768"><a href="#L-1768"><span class="linenos">1768</span></a><span class="sd"> ----------</span>
</span><span id="L-1769"><a href="#L-1769"><span class="linenos">1769</span></a><span class="sd"> idl : list of lists, ranges or np.ndarrays</span>
</span><span id="L-1770"><a href="#L-1770"><span class="linenos">1770</span></a><span class="sd"> &#39;&#39;&#39;</span>
</span><span id="L-1771"><a href="#L-1771"><span class="linenos">1771</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">groupby</span><span class="p">([</span><span class="n">np</span><span class="o">.</span><span class="n">nditer</span><span class="p">(</span><span class="n">el</span><span class="p">)</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">el</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">)</span> <span class="k">else</span> <span class="n">el</span> <span class="k">for</span> <span class="n">el</span> <span class="ow">in</span> <span class="n">idl</span><span class="p">])</span>
</span><span id="L-1772"><a href="#L-1772"><span class="linenos">1772</span></a> <span class="k">if</span> <span class="nb">next</span><span class="p">(</span><span class="n">g</span><span class="p">,</span> <span class="kc">True</span><span class="p">)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="nb">next</span><span class="p">(</span><span class="n">g</span><span class="p">,</span> <span class="kc">False</span><span class="p">):</span>
</span><span id="L-1773"><a href="#L-1773"><span class="linenos">1773</span></a> <span class="k">return</span> <span class="kc">True</span>
</span><span id="L-1774"><a href="#L-1774"><span class="linenos">1774</span></a> <span class="k">return</span> <span class="kc">False</span>
</span><span id="L-1759"><a href="#L-1759"><span class="linenos">1759</span></a>
</span><span id="L-1760"><a href="#L-1760"><span class="linenos">1760</span></a><span class="k">def</span> <span class="nf">merge_obs</span><span class="p">(</span><span class="n">list_of_obs</span><span class="p">):</span>
</span><span id="L-1761"><a href="#L-1761"><span class="linenos">1761</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Combine all observables in list_of_obs into one new observable</span>
</span><span id="L-1762"><a href="#L-1762"><span class="linenos">1762</span></a>
</span><span id="L-1763"><a href="#L-1763"><span class="linenos">1763</span></a><span class="sd"> Parameters</span>
</span><span id="L-1764"><a href="#L-1764"><span class="linenos">1764</span></a><span class="sd"> ----------</span>
</span><span id="L-1765"><a href="#L-1765"><span class="linenos">1765</span></a><span class="sd"> list_of_obs : list</span>
</span><span id="L-1766"><a href="#L-1766"><span class="linenos">1766</span></a><span class="sd"> list of the Obs object to be combined</span>
</span><span id="L-1767"><a href="#L-1767"><span class="linenos">1767</span></a>
</span><span id="L-1768"><a href="#L-1768"><span class="linenos">1768</span></a><span class="sd"> Notes</span>
</span><span id="L-1769"><a href="#L-1769"><span class="linenos">1769</span></a><span class="sd"> -----</span>
</span><span id="L-1770"><a href="#L-1770"><span class="linenos">1770</span></a><span class="sd"> It is not possible to combine obs which are based on the same replicum</span>
</span><span id="L-1771"><a href="#L-1771"><span class="linenos">1771</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1772"><a href="#L-1772"><span class="linenos">1772</span></a> <span class="n">replist</span> <span class="o">=</span> <span class="p">[</span><span class="n">item</span> <span class="k">for</span> <span class="n">obs</span> <span class="ow">in</span> <span class="n">list_of_obs</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">obs</span><span class="o">.</span><span class="n">names</span><span class="p">]</span>
</span><span id="L-1773"><a href="#L-1773"><span class="linenos">1773</span></a> <span class="k">if</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">replist</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">replist</span><span class="p">)))</span> <span class="ow">is</span> <span class="kc">False</span><span class="p">:</span>
</span><span id="L-1774"><a href="#L-1774"><span class="linenos">1774</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;list_of_obs contains duplicate replica: </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">replist</span><span class="p">)))</span>
</span><span id="L-1775"><a href="#L-1775"><span class="linenos">1775</span></a> <span class="k">if</span> <span class="nb">any</span><span class="p">([</span><span class="nb">len</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">cov_names</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">list_of_obs</span><span class="p">]):</span>
</span><span id="L-1776"><a href="#L-1776"><span class="linenos">1776</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Not possible to merge data that contains covobs!&#39;</span><span class="p">)</span>
</span><span id="L-1777"><a href="#L-1777"><span class="linenos">1777</span></a> <span class="n">new_dict</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="L-1778"><a href="#L-1778"><span class="linenos">1778</span></a> <span class="n">idl_dict</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="L-1779"><a href="#L-1779"><span class="linenos">1779</span></a> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">list_of_obs</span><span class="p">:</span>
</span><span id="L-1780"><a href="#L-1780"><span class="linenos">1780</span></a> <span class="n">new_dict</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">key</span><span class="p">:</span> <span class="n">o</span><span class="o">.</span><span class="n">deltas</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="o">+</span> <span class="n">o</span><span class="o">.</span><span class="n">r_values</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
</span><span id="L-1781"><a href="#L-1781"><span class="linenos">1781</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="nb">set</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">deltas</span><span class="p">)</span> <span class="o">|</span> <span class="nb">set</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">r_values</span><span class="p">)})</span>
</span><span id="L-1782"><a href="#L-1782"><span class="linenos">1782</span></a> <span class="n">idl_dict</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">key</span><span class="p">:</span> <span class="n">o</span><span class="o">.</span><span class="n">idl</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="nb">set</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">deltas</span><span class="p">)})</span>
</span><span id="L-1783"><a href="#L-1783"><span class="linenos">1783</span></a>
</span><span id="L-1784"><a href="#L-1784"><span class="linenos">1784</span></a> <span class="n">names</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">new_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span>
</span><span id="L-1785"><a href="#L-1785"><span class="linenos">1785</span></a> <span class="n">o</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([</span><span class="n">new_dict</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">names</span><span class="p">],</span> <span class="n">names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="p">[</span><span class="n">idl_dict</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">names</span><span class="p">])</span>
</span><span id="L-1786"><a href="#L-1786"><span class="linenos">1786</span></a> <span class="n">o</span><span class="o">.</span><span class="n">reweighted</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">([</span><span class="n">oi</span><span class="o">.</span><span class="n">reweighted</span> <span class="k">for</span> <span class="n">oi</span> <span class="ow">in</span> <span class="n">list_of_obs</span><span class="p">])</span>
</span><span id="L-1787"><a href="#L-1787"><span class="linenos">1787</span></a> <span class="k">return</span> <span class="n">o</span>
</span><span id="L-1788"><a href="#L-1788"><span class="linenos">1788</span></a>
</span><span id="L-1789"><a href="#L-1789"><span class="linenos">1789</span></a>
</span><span id="L-1790"><a href="#L-1790"><span class="linenos">1790</span></a><span class="k">def</span> <span class="nf">cov_Obs</span><span class="p">(</span><span class="n">means</span><span class="p">,</span> <span class="n">cov</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">grad</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-1791"><a href="#L-1791"><span class="linenos">1791</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Create an Obs based on mean(s) and a covariance matrix</span>
</span><span id="L-1792"><a href="#L-1792"><span class="linenos">1792</span></a>
</span><span id="L-1793"><a href="#L-1793"><span class="linenos">1793</span></a><span class="sd"> Parameters</span>
</span><span id="L-1794"><a href="#L-1794"><span class="linenos">1794</span></a><span class="sd"> ----------</span>
</span><span id="L-1795"><a href="#L-1795"><span class="linenos">1795</span></a><span class="sd"> mean : list of floats or float</span>
</span><span id="L-1796"><a href="#L-1796"><span class="linenos">1796</span></a><span class="sd"> N mean value(s) of the new Obs</span>
</span><span id="L-1797"><a href="#L-1797"><span class="linenos">1797</span></a><span class="sd"> cov : list or array</span>
</span><span id="L-1798"><a href="#L-1798"><span class="linenos">1798</span></a><span class="sd"> 2d (NxN) Covariance matrix, 1d diagonal entries or 0d covariance</span>
</span><span id="L-1799"><a href="#L-1799"><span class="linenos">1799</span></a><span class="sd"> name : str</span>
</span><span id="L-1800"><a href="#L-1800"><span class="linenos">1800</span></a><span class="sd"> identifier for the covariance matrix</span>
</span><span id="L-1801"><a href="#L-1801"><span class="linenos">1801</span></a><span class="sd"> grad : list or array</span>
</span><span id="L-1802"><a href="#L-1802"><span class="linenos">1802</span></a><span class="sd"> Gradient of the Covobs wrt. the means belonging to cov.</span>
</span><span id="L-1803"><a href="#L-1803"><span class="linenos">1803</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1804"><a href="#L-1804"><span class="linenos">1804</span></a>
</span><span id="L-1805"><a href="#L-1805"><span class="linenos">1805</span></a> <span class="k">def</span> <span class="nf">covobs_to_obs</span><span class="p">(</span><span class="n">co</span><span class="p">):</span>
</span><span id="L-1806"><a href="#L-1806"><span class="linenos">1806</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Make an Obs out of a Covobs</span>
</span><span id="L-1807"><a href="#L-1807"><span class="linenos">1807</span></a>
</span><span id="L-1808"><a href="#L-1808"><span class="linenos">1808</span></a><span class="sd"> Parameters</span>
</span><span id="L-1809"><a href="#L-1809"><span class="linenos">1809</span></a><span class="sd"> ----------</span>
</span><span id="L-1810"><a href="#L-1810"><span class="linenos">1810</span></a><span class="sd"> co : Covobs</span>
</span><span id="L-1811"><a href="#L-1811"><span class="linenos">1811</span></a><span class="sd"> Covobs to be embedded into the Obs</span>
</span><span id="L-1812"><a href="#L-1812"><span class="linenos">1812</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1813"><a href="#L-1813"><span class="linenos">1813</span></a> <span class="n">o</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([],</span> <span class="p">[],</span> <span class="n">means</span><span class="o">=</span><span class="p">[])</span>
</span><span id="L-1814"><a href="#L-1814"><span class="linenos">1814</span></a> <span class="n">o</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">co</span><span class="o">.</span><span class="n">value</span>
</span><span id="L-1815"><a href="#L-1815"><span class="linenos">1815</span></a> <span class="n">o</span><span class="o">.</span><span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">co</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
</span><span id="L-1816"><a href="#L-1816"><span class="linenos">1816</span></a> <span class="n">o</span><span class="o">.</span><span class="n">_covobs</span><span class="p">[</span><span class="n">co</span><span class="o">.</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">co</span>
</span><span id="L-1817"><a href="#L-1817"><span class="linenos">1817</span></a> <span class="n">o</span><span class="o">.</span><span class="n">_dvalue</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">co</span><span class="o">.</span><span class="n">errsq</span><span class="p">())</span>
</span><span id="L-1818"><a href="#L-1818"><span class="linenos">1818</span></a> <span class="k">return</span> <span class="n">o</span>
</span><span id="L-1819"><a href="#L-1819"><span class="linenos">1819</span></a>
</span><span id="L-1820"><a href="#L-1820"><span class="linenos">1820</span></a> <span class="n">ol</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1821"><a href="#L-1821"><span class="linenos">1821</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">means</span><span class="p">,</span> <span class="p">(</span><span class="nb">float</span><span class="p">,</span> <span class="nb">int</span><span class="p">)):</span>
</span><span id="L-1822"><a href="#L-1822"><span class="linenos">1822</span></a> <span class="n">means</span> <span class="o">=</span> <span class="p">[</span><span class="n">means</span><span class="p">]</span>
</span><span id="L-1823"><a href="#L-1823"><span class="linenos">1823</span></a>
</span><span id="L-1824"><a href="#L-1824"><span class="linenos">1824</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">means</span><span class="p">)):</span>
</span><span id="L-1825"><a href="#L-1825"><span class="linenos">1825</span></a> <span class="n">ol</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">covobs_to_obs</span><span class="p">(</span><span class="n">Covobs</span><span class="p">(</span><span class="n">means</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">cov</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">pos</span><span class="o">=</span><span class="n">i</span><span class="p">,</span> <span class="n">grad</span><span class="o">=</span><span class="n">grad</span><span class="p">)))</span>
</span><span id="L-1826"><a href="#L-1826"><span class="linenos">1826</span></a> <span class="k">if</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">covobs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">N</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">means</span><span class="p">):</span>
</span><span id="L-1827"><a href="#L-1827"><span class="linenos">1827</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;You have to provide </span><span class="si">%d</span><span class="s1"> mean values!&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">N</span><span class="p">))</span>
</span><span id="L-1828"><a href="#L-1828"><span class="linenos">1828</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="L-1829"><a href="#L-1829"><span class="linenos">1829</span></a> <span class="k">return</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1830"><a href="#L-1830"><span class="linenos">1830</span></a> <span class="k">return</span> <span class="n">ol</span>
</span><span id="L-1831"><a href="#L-1831"><span class="linenos">1831</span></a>
</span><span id="L-1832"><a href="#L-1832"><span class="linenos">1832</span></a>
</span><span id="L-1833"><a href="#L-1833"><span class="linenos">1833</span></a><span class="k">def</span> <span class="nf">_determine_gap</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">e_content</span><span class="p">,</span> <span class="n">e_name</span><span class="p">):</span>
</span><span id="L-1834"><a href="#L-1834"><span class="linenos">1834</span></a> <span class="n">gaps</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1835"><a href="#L-1835"><span class="linenos">1835</span></a> <span class="k">for</span> <span class="n">r_name</span> <span class="ow">in</span> <span class="n">e_content</span><span class="p">[</span><span class="n">e_name</span><span class="p">]:</span>
</span><span id="L-1836"><a href="#L-1836"><span class="linenos">1836</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">],</span> <span class="nb">range</span><span class="p">):</span>
</span><span id="L-1837"><a href="#L-1837"><span class="linenos">1837</span></a> <span class="n">gaps</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">]</span><span class="o">.</span><span class="n">step</span><span class="p">)</span>
</span><span id="L-1838"><a href="#L-1838"><span class="linenos">1838</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="L-1839"><a href="#L-1839"><span class="linenos">1839</span></a> <span class="n">gaps</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">diff</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">r_name</span><span class="p">])))</span>
</span><span id="L-1840"><a href="#L-1840"><span class="linenos">1840</span></a>
</span><span id="L-1841"><a href="#L-1841"><span class="linenos">1841</span></a> <span class="n">gap</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">gaps</span><span class="p">)</span>
</span><span id="L-1842"><a href="#L-1842"><span class="linenos">1842</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">np</span><span class="o">.</span><span class="n">all</span><span class="p">([</span><span class="n">gi</span> <span class="o">%</span> <span class="n">gap</span> <span class="o">==</span> <span class="mi">0</span> <span class="k">for</span> <span class="n">gi</span> <span class="ow">in</span> <span class="n">gaps</span><span class="p">]):</span>
</span><span id="L-1843"><a href="#L-1843"><span class="linenos">1843</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Replica for ensemble </span><span class="si">{</span><span class="n">e_name</span><span class="si">}</span><span class="s2"> do not have a common spacing.&quot;</span><span class="p">,</span> <span class="n">gaps</span><span class="p">)</span>
</span><span id="L-1844"><a href="#L-1844"><span class="linenos">1844</span></a>
</span><span id="L-1845"><a href="#L-1845"><span class="linenos">1845</span></a> <span class="k">return</span> <span class="n">gap</span>
</span><span id="L-1846"><a href="#L-1846"><span class="linenos">1846</span></a>
</span><span id="L-1847"><a href="#L-1847"><span class="linenos">1847</span></a>
</span><span id="L-1848"><a href="#L-1848"><span class="linenos">1848</span></a><span class="k">def</span> <span class="nf">_check_lists_equal</span><span class="p">(</span><span class="n">idl</span><span class="p">):</span>
</span><span id="L-1849"><a href="#L-1849"><span class="linenos">1849</span></a><span class="w"> </span><span class="sd">&#39;&#39;&#39;</span>
</span><span id="L-1850"><a href="#L-1850"><span class="linenos">1850</span></a><span class="sd"> Use groupby to efficiently check whether all elements of idl are identical.</span>
</span><span id="L-1851"><a href="#L-1851"><span class="linenos">1851</span></a><span class="sd"> Returns True if all elements are equal, otherwise False.</span>
</span><span id="L-1852"><a href="#L-1852"><span class="linenos">1852</span></a>
</span><span id="L-1853"><a href="#L-1853"><span class="linenos">1853</span></a><span class="sd"> Parameters</span>
</span><span id="L-1854"><a href="#L-1854"><span class="linenos">1854</span></a><span class="sd"> ----------</span>
</span><span id="L-1855"><a href="#L-1855"><span class="linenos">1855</span></a><span class="sd"> idl : list of lists, ranges or np.ndarrays</span>
</span><span id="L-1856"><a href="#L-1856"><span class="linenos">1856</span></a><span class="sd"> &#39;&#39;&#39;</span>
</span><span id="L-1857"><a href="#L-1857"><span class="linenos">1857</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">groupby</span><span class="p">([</span><span class="n">np</span><span class="o">.</span><span class="n">nditer</span><span class="p">(</span><span class="n">el</span><span class="p">)</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">el</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">)</span> <span class="k">else</span> <span class="n">el</span> <span class="k">for</span> <span class="n">el</span> <span class="ow">in</span> <span class="n">idl</span><span class="p">])</span>
</span><span id="L-1858"><a href="#L-1858"><span class="linenos">1858</span></a> <span class="k">if</span> <span class="nb">next</span><span class="p">(</span><span class="n">g</span><span class="p">,</span> <span class="kc">True</span><span class="p">)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="nb">next</span><span class="p">(</span><span class="n">g</span><span class="p">,</span> <span class="kc">False</span><span class="p">):</span>
</span><span id="L-1859"><a href="#L-1859"><span class="linenos">1859</span></a> <span class="k">return</span> <span class="kc">True</span>
</span><span id="L-1860"><a href="#L-1860"><span class="linenos">1860</span></a> <span class="k">return</span> <span class="kc">False</span>
</span></pre></div>
@ -5791,6 +5883,180 @@ This construction ensures that the estimated covariance matrix is positive semi-
</div>
</section>
<section id="invert_corr_cov_cholesky">
<input id="invert_corr_cov_cholesky-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
<span class="def">def</span>
<span class="name">invert_corr_cov_cholesky</span><span class="signature pdoc-code condensed">(<span class="param"><span class="n">corr</span>, </span><span class="param"><span class="n">inverrdiag</span></span><span class="return-annotation">):</span></span>
<label class="view-source-button" for="invert_corr_cov_cholesky-view-source"><span>View Source</span></label>
</div>
<a class="headerlink" href="#invert_corr_cov_cholesky"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="invert_corr_cov_cholesky-1548"><a href="#invert_corr_cov_cholesky-1548"><span class="linenos">1548</span></a><span class="k">def</span> <span class="nf">invert_corr_cov_cholesky</span><span class="p">(</span><span class="n">corr</span><span class="p">,</span> <span class="n">inverrdiag</span><span class="p">):</span>
</span><span id="invert_corr_cov_cholesky-1549"><a href="#invert_corr_cov_cholesky-1549"><span class="linenos">1549</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Constructs a lower triangular matrix `chol` via the Cholesky decomposition of the correlation matrix `corr`</span>
</span><span id="invert_corr_cov_cholesky-1550"><a href="#invert_corr_cov_cholesky-1550"><span class="linenos">1550</span></a><span class="sd"> and then returns the inverse covariance matrix `chol_inv` as a lower triangular matrix by solving `chol * x = inverrdiag`.</span>
</span><span id="invert_corr_cov_cholesky-1551"><a href="#invert_corr_cov_cholesky-1551"><span class="linenos">1551</span></a>
</span><span id="invert_corr_cov_cholesky-1552"><a href="#invert_corr_cov_cholesky-1552"><span class="linenos">1552</span></a><span class="sd"> Parameters</span>
</span><span id="invert_corr_cov_cholesky-1553"><a href="#invert_corr_cov_cholesky-1553"><span class="linenos">1553</span></a><span class="sd"> ----------</span>
</span><span id="invert_corr_cov_cholesky-1554"><a href="#invert_corr_cov_cholesky-1554"><span class="linenos">1554</span></a><span class="sd"> corr : np.ndarray</span>
</span><span id="invert_corr_cov_cholesky-1555"><a href="#invert_corr_cov_cholesky-1555"><span class="linenos">1555</span></a><span class="sd"> correlation matrix</span>
</span><span id="invert_corr_cov_cholesky-1556"><a href="#invert_corr_cov_cholesky-1556"><span class="linenos">1556</span></a><span class="sd"> inverrdiag : np.ndarray</span>
</span><span id="invert_corr_cov_cholesky-1557"><a href="#invert_corr_cov_cholesky-1557"><span class="linenos">1557</span></a><span class="sd"> diagonal matrix, the entries are the inverse errors of the data points considered</span>
</span><span id="invert_corr_cov_cholesky-1558"><a href="#invert_corr_cov_cholesky-1558"><span class="linenos">1558</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="invert_corr_cov_cholesky-1559"><a href="#invert_corr_cov_cholesky-1559"><span class="linenos">1559</span></a>
</span><span id="invert_corr_cov_cholesky-1560"><a href="#invert_corr_cov_cholesky-1560"><span class="linenos">1560</span></a> <span class="n">condn</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">cond</span><span class="p">(</span><span class="n">corr</span><span class="p">)</span>
</span><span id="invert_corr_cov_cholesky-1561"><a href="#invert_corr_cov_cholesky-1561"><span class="linenos">1561</span></a> <span class="k">if</span> <span class="n">condn</span> <span class="o">&gt;</span> <span class="mf">0.1</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">finfo</span><span class="p">(</span><span class="nb">float</span><span class="p">)</span><span class="o">.</span><span class="n">eps</span><span class="p">:</span>
</span><span id="invert_corr_cov_cholesky-1562"><a href="#invert_corr_cov_cholesky-1562"><span class="linenos">1562</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Cannot invert correlation matrix as its condition number exceeds machine precision (</span><span class="si">{</span><span class="n">condn</span><span class="si">:</span><span class="s2">1.2e</span><span class="si">}</span><span class="s2">)&quot;</span><span class="p">)</span>
</span><span id="invert_corr_cov_cholesky-1563"><a href="#invert_corr_cov_cholesky-1563"><span class="linenos">1563</span></a> <span class="k">if</span> <span class="n">condn</span> <span class="o">&gt;</span> <span class="mf">1e13</span><span class="p">:</span>
</span><span id="invert_corr_cov_cholesky-1564"><a href="#invert_corr_cov_cholesky-1564"><span class="linenos">1564</span></a> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">&quot;Correlation matrix may be ill-conditioned, condition number: {</span><span class="si">%1.2e</span><span class="s2">}&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">condn</span><span class="p">),</span> <span class="ne">RuntimeWarning</span><span class="p">)</span>
</span><span id="invert_corr_cov_cholesky-1565"><a href="#invert_corr_cov_cholesky-1565"><span class="linenos">1565</span></a> <span class="n">chol</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">cholesky</span><span class="p">(</span><span class="n">corr</span><span class="p">)</span>
</span><span id="invert_corr_cov_cholesky-1566"><a href="#invert_corr_cov_cholesky-1566"><span class="linenos">1566</span></a> <span class="n">chol_inv</span> <span class="o">=</span> <span class="n">scipy</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">solve_triangular</span><span class="p">(</span><span class="n">chol</span><span class="p">,</span> <span class="n">inverrdiag</span><span class="p">,</span> <span class="n">lower</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
</span><span id="invert_corr_cov_cholesky-1567"><a href="#invert_corr_cov_cholesky-1567"><span class="linenos">1567</span></a>
</span><span id="invert_corr_cov_cholesky-1568"><a href="#invert_corr_cov_cholesky-1568"><span class="linenos">1568</span></a> <span class="k">return</span> <span class="n">chol_inv</span>
</span></pre></div>
<div class="docstring"><p>Constructs a lower triangular matrix <code>chol</code> via the Cholesky decomposition of the correlation matrix <code>corr</code>
and then returns the inverse covariance matrix <code>chol_inv</code> as a lower triangular matrix by solving <code>chol * x = inverrdiag</code>.</p>
<h6 id="parameters">Parameters</h6>
<ul>
<li><strong>corr</strong> (np.ndarray):
correlation matrix</li>
<li><strong>inverrdiag</strong> (np.ndarray):
diagonal matrix, the entries are the inverse errors of the data points considered</li>
</ul>
</div>
</section>
<section id="sort_corr">
<input id="sort_corr-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr function">
<span class="def">def</span>
<span class="name">sort_corr</span><span class="signature pdoc-code condensed">(<span class="param"><span class="n">corr</span>, </span><span class="param"><span class="n">kl</span>, </span><span class="param"><span class="n">yd</span></span><span class="return-annotation">):</span></span>
<label class="view-source-button" for="sort_corr-view-source"><span>View Source</span></label>
</div>
<a class="headerlink" href="#sort_corr"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="sort_corr-1571"><a href="#sort_corr-1571"><span class="linenos">1571</span></a><span class="k">def</span> <span class="nf">sort_corr</span><span class="p">(</span><span class="n">corr</span><span class="p">,</span> <span class="n">kl</span><span class="p">,</span> <span class="n">yd</span><span class="p">):</span>
</span><span id="sort_corr-1572"><a href="#sort_corr-1572"><span class="linenos">1572</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Reorders a correlation matrix to match the alphabetical order of its underlying y data.</span>
</span><span id="sort_corr-1573"><a href="#sort_corr-1573"><span class="linenos">1573</span></a>
</span><span id="sort_corr-1574"><a href="#sort_corr-1574"><span class="linenos">1574</span></a><span class="sd"> The ordering of the input correlation matrix `corr` is given by the list of keys `kl`.</span>
</span><span id="sort_corr-1575"><a href="#sort_corr-1575"><span class="linenos">1575</span></a><span class="sd"> The input dictionary `yd` (with the same keys `kl`) must contain the corresponding y data</span>
</span><span id="sort_corr-1576"><a href="#sort_corr-1576"><span class="linenos">1576</span></a><span class="sd"> that the correlation matrix is based on.</span>
</span><span id="sort_corr-1577"><a href="#sort_corr-1577"><span class="linenos">1577</span></a><span class="sd"> This function sorts the list of keys `kl` alphabetically and sorts the matrix `corr`</span>
</span><span id="sort_corr-1578"><a href="#sort_corr-1578"><span class="linenos">1578</span></a><span class="sd"> according to this alphabetical order such that the sorted matrix `corr_sorted` corresponds</span>
</span><span id="sort_corr-1579"><a href="#sort_corr-1579"><span class="linenos">1579</span></a><span class="sd"> to the y data `yd` when arranged in an alphabetical order by its keys.</span>
</span><span id="sort_corr-1580"><a href="#sort_corr-1580"><span class="linenos">1580</span></a>
</span><span id="sort_corr-1581"><a href="#sort_corr-1581"><span class="linenos">1581</span></a><span class="sd"> Parameters</span>
</span><span id="sort_corr-1582"><a href="#sort_corr-1582"><span class="linenos">1582</span></a><span class="sd"> ----------</span>
</span><span id="sort_corr-1583"><a href="#sort_corr-1583"><span class="linenos">1583</span></a><span class="sd"> corr : np.ndarray</span>
</span><span id="sort_corr-1584"><a href="#sort_corr-1584"><span class="linenos">1584</span></a><span class="sd"> A square correlation matrix constructed using the order of the y data specified by `kl`.</span>
</span><span id="sort_corr-1585"><a href="#sort_corr-1585"><span class="linenos">1585</span></a><span class="sd"> The dimensions of `corr` should match the total number of y data points in `yd` combined.</span>
</span><span id="sort_corr-1586"><a href="#sort_corr-1586"><span class="linenos">1586</span></a><span class="sd"> kl : list of str</span>
</span><span id="sort_corr-1587"><a href="#sort_corr-1587"><span class="linenos">1587</span></a><span class="sd"> A list of keys that denotes the order in which the y data from `yd` was used to build the</span>
</span><span id="sort_corr-1588"><a href="#sort_corr-1588"><span class="linenos">1588</span></a><span class="sd"> input correlation matrix `corr`.</span>
</span><span id="sort_corr-1589"><a href="#sort_corr-1589"><span class="linenos">1589</span></a><span class="sd"> yd : dict of list</span>
</span><span id="sort_corr-1590"><a href="#sort_corr-1590"><span class="linenos">1590</span></a><span class="sd"> A dictionary where each key corresponds to a unique identifier, and its value is a list of</span>
</span><span id="sort_corr-1591"><a href="#sort_corr-1591"><span class="linenos">1591</span></a><span class="sd"> y data points. The total number of y data points across all keys must match the dimensions</span>
</span><span id="sort_corr-1592"><a href="#sort_corr-1592"><span class="linenos">1592</span></a><span class="sd"> of `corr`. The lists in the dictionary can be lists of Obs.</span>
</span><span id="sort_corr-1593"><a href="#sort_corr-1593"><span class="linenos">1593</span></a>
</span><span id="sort_corr-1594"><a href="#sort_corr-1594"><span class="linenos">1594</span></a><span class="sd"> Returns</span>
</span><span id="sort_corr-1595"><a href="#sort_corr-1595"><span class="linenos">1595</span></a><span class="sd"> -------</span>
</span><span id="sort_corr-1596"><a href="#sort_corr-1596"><span class="linenos">1596</span></a><span class="sd"> np.ndarray</span>
</span><span id="sort_corr-1597"><a href="#sort_corr-1597"><span class="linenos">1597</span></a><span class="sd"> A new, sorted correlation matrix that corresponds to the y data from `yd` when arranged alphabetically by its keys.</span>
</span><span id="sort_corr-1598"><a href="#sort_corr-1598"><span class="linenos">1598</span></a>
</span><span id="sort_corr-1599"><a href="#sort_corr-1599"><span class="linenos">1599</span></a><span class="sd"> Example</span>
</span><span id="sort_corr-1600"><a href="#sort_corr-1600"><span class="linenos">1600</span></a><span class="sd"> -------</span>
</span><span id="sort_corr-1601"><a href="#sort_corr-1601"><span class="linenos">1601</span></a><span class="sd"> &gt;&gt;&gt; import numpy as np</span>
</span><span id="sort_corr-1602"><a href="#sort_corr-1602"><span class="linenos">1602</span></a><span class="sd"> &gt;&gt;&gt; import pyerrors as pe</span>
</span><span id="sort_corr-1603"><a href="#sort_corr-1603"><span class="linenos">1603</span></a><span class="sd"> &gt;&gt;&gt; corr = np.array([[1, 0.2, 0.3], [0.2, 1, 0.4], [0.3, 0.4, 1]])</span>
</span><span id="sort_corr-1604"><a href="#sort_corr-1604"><span class="linenos">1604</span></a><span class="sd"> &gt;&gt;&gt; kl = [&#39;b&#39;, &#39;a&#39;]</span>
</span><span id="sort_corr-1605"><a href="#sort_corr-1605"><span class="linenos">1605</span></a><span class="sd"> &gt;&gt;&gt; yd = {&#39;a&#39;: [1, 2], &#39;b&#39;: [3]}</span>
</span><span id="sort_corr-1606"><a href="#sort_corr-1606"><span class="linenos">1606</span></a><span class="sd"> &gt;&gt;&gt; sorted_corr = pe.obs.sort_corr(corr, kl, yd)</span>
</span><span id="sort_corr-1607"><a href="#sort_corr-1607"><span class="linenos">1607</span></a><span class="sd"> &gt;&gt;&gt; print(sorted_corr)</span>
</span><span id="sort_corr-1608"><a href="#sort_corr-1608"><span class="linenos">1608</span></a><span class="sd"> array([[1. , 0.3, 0.4],</span>
</span><span id="sort_corr-1609"><a href="#sort_corr-1609"><span class="linenos">1609</span></a><span class="sd"> [0.3, 1. , 0.2],</span>
</span><span id="sort_corr-1610"><a href="#sort_corr-1610"><span class="linenos">1610</span></a><span class="sd"> [0.4, 0.2, 1. ]])</span>
</span><span id="sort_corr-1611"><a href="#sort_corr-1611"><span class="linenos">1611</span></a>
</span><span id="sort_corr-1612"><a href="#sort_corr-1612"><span class="linenos">1612</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="sort_corr-1613"><a href="#sort_corr-1613"><span class="linenos">1613</span></a> <span class="n">kl_sorted</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">kl</span><span class="p">)</span>
</span><span id="sort_corr-1614"><a href="#sort_corr-1614"><span class="linenos">1614</span></a>
</span><span id="sort_corr-1615"><a href="#sort_corr-1615"><span class="linenos">1615</span></a> <span class="n">posd</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="sort_corr-1616"><a href="#sort_corr-1616"><span class="linenos">1616</span></a> <span class="n">ofs</span> <span class="o">=</span> <span class="mi">0</span>
</span><span id="sort_corr-1617"><a href="#sort_corr-1617"><span class="linenos">1617</span></a> <span class="k">for</span> <span class="n">ki</span><span class="p">,</span> <span class="n">k</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">kl</span><span class="p">):</span>
</span><span id="sort_corr-1618"><a href="#sort_corr-1618"><span class="linenos">1618</span></a> <span class="n">posd</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">i</span> <span class="o">+</span> <span class="n">ofs</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">yd</span><span class="p">[</span><span class="n">k</span><span class="p">]))]</span>
</span><span id="sort_corr-1619"><a href="#sort_corr-1619"><span class="linenos">1619</span></a> <span class="n">ofs</span> <span class="o">+=</span> <span class="nb">len</span><span class="p">(</span><span class="n">posd</span><span class="p">[</span><span class="n">k</span><span class="p">])</span>
</span><span id="sort_corr-1620"><a href="#sort_corr-1620"><span class="linenos">1620</span></a>
</span><span id="sort_corr-1621"><a href="#sort_corr-1621"><span class="linenos">1621</span></a> <span class="n">mapping</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="sort_corr-1622"><a href="#sort_corr-1622"><span class="linenos">1622</span></a> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">kl_sorted</span><span class="p">:</span>
</span><span id="sort_corr-1623"><a href="#sort_corr-1623"><span class="linenos">1623</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">yd</span><span class="p">[</span><span class="n">k</span><span class="p">])):</span>
</span><span id="sort_corr-1624"><a href="#sort_corr-1624"><span class="linenos">1624</span></a> <span class="n">mapping</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">posd</span><span class="p">[</span><span class="n">k</span><span class="p">][</span><span class="n">i</span><span class="p">])</span>
</span><span id="sort_corr-1625"><a href="#sort_corr-1625"><span class="linenos">1625</span></a>
</span><span id="sort_corr-1626"><a href="#sort_corr-1626"><span class="linenos">1626</span></a> <span class="n">corr_sorted</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros_like</span><span class="p">(</span><span class="n">corr</span><span class="p">)</span>
</span><span id="sort_corr-1627"><a href="#sort_corr-1627"><span class="linenos">1627</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">corr</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]):</span>
</span><span id="sort_corr-1628"><a href="#sort_corr-1628"><span class="linenos">1628</span></a> <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">corr</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]):</span>
</span><span id="sort_corr-1629"><a href="#sort_corr-1629"><span class="linenos">1629</span></a> <span class="n">corr_sorted</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span> <span class="o">=</span> <span class="n">corr</span><span class="p">[</span><span class="n">mapping</span><span class="p">[</span><span class="n">i</span><span class="p">]][</span><span class="n">mapping</span><span class="p">[</span><span class="n">j</span><span class="p">]]</span>
</span><span id="sort_corr-1630"><a href="#sort_corr-1630"><span class="linenos">1630</span></a>
</span><span id="sort_corr-1631"><a href="#sort_corr-1631"><span class="linenos">1631</span></a> <span class="k">return</span> <span class="n">corr_sorted</span>
</span></pre></div>
<div class="docstring"><p>Reorders a correlation matrix to match the alphabetical order of its underlying y data.</p>
<p>The ordering of the input correlation matrix <code>corr</code> is given by the list of keys <code>kl</code>.
The input dictionary <code>yd</code> (with the same keys <code>kl</code>) must contain the corresponding y data
that the correlation matrix is based on.
This function sorts the list of keys <code>kl</code> alphabetically and sorts the matrix <code>corr</code>
according to this alphabetical order such that the sorted matrix <code>corr_sorted</code> corresponds
to the y data <code>yd</code> when arranged in an alphabetical order by its keys.</p>
<h6 id="parameters">Parameters</h6>
<ul>
<li><strong>corr</strong> (np.ndarray):
A square correlation matrix constructed using the order of the y data specified by <code>kl</code>.
The dimensions of <code>corr</code> should match the total number of y data points in <code>yd</code> combined.</li>
<li><strong>kl</strong> (list of str):
A list of keys that denotes the order in which the y data from <code>yd</code> was used to build the
input correlation matrix <code>corr</code>.</li>
<li><strong>yd</strong> (dict of list):
A dictionary where each key corresponds to a unique identifier, and its value is a list of
y data points. The total number of y data points across all keys must match the dimensions
of <code>corr</code>. The lists in the dictionary can be lists of Obs.</li>
</ul>
<h6 id="returns">Returns</h6>
<ul>
<li><strong>np.ndarray</strong>: A new, sorted correlation matrix that corresponds to the y data from <code>yd</code> when arranged alphabetically by its keys.</li>
</ul>
<h6 id="example">Example</h6>
<div class="pdoc-code codehilite">
<pre><span></span><code><span class="gp">&gt;&gt;&gt; </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="gp">&gt;&gt;&gt; </span><span class="kn">import</span> <span class="nn">pyerrors</span> <span class="k">as</span> <span class="nn">pe</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">corr</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([[</span><span class="mi">1</span><span class="p">,</span> <span class="mf">0.2</span><span class="p">,</span> <span class="mf">0.3</span><span class="p">],</span> <span class="p">[</span><span class="mf">0.2</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mf">0.4</span><span class="p">],</span> <span class="p">[</span><span class="mf">0.3</span><span class="p">,</span> <span class="mf">0.4</span><span class="p">,</span> <span class="mi">1</span><span class="p">]])</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">kl</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;b&#39;</span><span class="p">,</span> <span class="s1">&#39;a&#39;</span><span class="p">]</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">yd</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;a&#39;</span><span class="p">:</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">],</span> <span class="s1">&#39;b&#39;</span><span class="p">:</span> <span class="p">[</span><span class="mi">3</span><span class="p">]}</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">sorted_corr</span> <span class="o">=</span> <span class="n">pe</span><span class="o">.</span><span class="n">obs</span><span class="o">.</span><span class="n">sort_corr</span><span class="p">(</span><span class="n">corr</span><span class="p">,</span> <span class="n">kl</span><span class="p">,</span> <span class="n">yd</span><span class="p">)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="nb">print</span><span class="p">(</span><span class="n">sorted_corr</span><span class="p">)</span>
<span class="go">array([[1. , 0.3, 0.4],</span>
<span class="go"> [0.3, 1. , 0.2],</span>
<span class="go"> [0.4, 0.2, 1. ]])</span>
</code></pre>
</div>
</div>
</section>
<section id="import_jackknife">
<input id="import_jackknife-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
@ -5803,24 +6069,24 @@ This construction ensures that the estimated covariance matrix is positive semi-
</div>
<a class="headerlink" href="#import_jackknife"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="import_jackknife-1625"><a href="#import_jackknife-1625"><span class="linenos">1625</span></a><span class="k">def</span> <span class="nf">import_jackknife</span><span class="p">(</span><span class="n">jacks</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="import_jackknife-1626"><a href="#import_jackknife-1626"><span class="linenos">1626</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Imports jackknife samples and returns an Obs</span>
</span><span id="import_jackknife-1627"><a href="#import_jackknife-1627"><span class="linenos">1627</span></a>
</span><span id="import_jackknife-1628"><a href="#import_jackknife-1628"><span class="linenos">1628</span></a><span class="sd"> Parameters</span>
</span><span id="import_jackknife-1629"><a href="#import_jackknife-1629"><span class="linenos">1629</span></a><span class="sd"> ----------</span>
</span><span id="import_jackknife-1630"><a href="#import_jackknife-1630"><span class="linenos">1630</span></a><span class="sd"> jacks : numpy.ndarray</span>
</span><span id="import_jackknife-1631"><a href="#import_jackknife-1631"><span class="linenos">1631</span></a><span class="sd"> numpy array containing the mean value as zeroth entry and</span>
</span><span id="import_jackknife-1632"><a href="#import_jackknife-1632"><span class="linenos">1632</span></a><span class="sd"> the N jackknife samples as first to Nth entry.</span>
</span><span id="import_jackknife-1633"><a href="#import_jackknife-1633"><span class="linenos">1633</span></a><span class="sd"> name : str</span>
</span><span id="import_jackknife-1634"><a href="#import_jackknife-1634"><span class="linenos">1634</span></a><span class="sd"> name of the ensemble the samples are defined on.</span>
</span><span id="import_jackknife-1635"><a href="#import_jackknife-1635"><span class="linenos">1635</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="import_jackknife-1636"><a href="#import_jackknife-1636"><span class="linenos">1636</span></a> <span class="n">length</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">jacks</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span>
</span><span id="import_jackknife-1637"><a href="#import_jackknife-1637"><span class="linenos">1637</span></a> <span class="n">prj</span> <span class="o">=</span> <span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ones</span><span class="p">((</span><span class="n">length</span><span class="p">,</span> <span class="n">length</span><span class="p">))</span> <span class="o">-</span> <span class="p">(</span><span class="n">length</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">identity</span><span class="p">(</span><span class="n">length</span><span class="p">))</span>
</span><span id="import_jackknife-1638"><a href="#import_jackknife-1638"><span class="linenos">1638</span></a> <span class="n">samples</span> <span class="o">=</span> <span class="n">jacks</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span> <span class="o">@</span> <span class="n">prj</span>
</span><span id="import_jackknife-1639"><a href="#import_jackknife-1639"><span class="linenos">1639</span></a> <span class="n">mean</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">samples</span><span class="p">)</span>
</span><span id="import_jackknife-1640"><a href="#import_jackknife-1640"><span class="linenos">1640</span></a> <span class="n">new_obs</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([</span><span class="n">samples</span> <span class="o">-</span> <span class="n">mean</span><span class="p">],</span> <span class="p">[</span><span class="n">name</span><span class="p">],</span> <span class="n">idl</span><span class="o">=</span><span class="n">idl</span><span class="p">,</span> <span class="n">means</span><span class="o">=</span><span class="p">[</span><span class="n">mean</span><span class="p">])</span>
</span><span id="import_jackknife-1641"><a href="#import_jackknife-1641"><span class="linenos">1641</span></a> <span class="n">new_obs</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">jacks</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="import_jackknife-1642"><a href="#import_jackknife-1642"><span class="linenos">1642</span></a> <span class="k">return</span> <span class="n">new_obs</span>
<div class="pdoc-code codehilite"><pre><span></span><span id="import_jackknife-1711"><a href="#import_jackknife-1711"><span class="linenos">1711</span></a><span class="k">def</span> <span class="nf">import_jackknife</span><span class="p">(</span><span class="n">jacks</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="import_jackknife-1712"><a href="#import_jackknife-1712"><span class="linenos">1712</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Imports jackknife samples and returns an Obs</span>
</span><span id="import_jackknife-1713"><a href="#import_jackknife-1713"><span class="linenos">1713</span></a>
</span><span id="import_jackknife-1714"><a href="#import_jackknife-1714"><span class="linenos">1714</span></a><span class="sd"> Parameters</span>
</span><span id="import_jackknife-1715"><a href="#import_jackknife-1715"><span class="linenos">1715</span></a><span class="sd"> ----------</span>
</span><span id="import_jackknife-1716"><a href="#import_jackknife-1716"><span class="linenos">1716</span></a><span class="sd"> jacks : numpy.ndarray</span>
</span><span id="import_jackknife-1717"><a href="#import_jackknife-1717"><span class="linenos">1717</span></a><span class="sd"> numpy array containing the mean value as zeroth entry and</span>
</span><span id="import_jackknife-1718"><a href="#import_jackknife-1718"><span class="linenos">1718</span></a><span class="sd"> the N jackknife samples as first to Nth entry.</span>
</span><span id="import_jackknife-1719"><a href="#import_jackknife-1719"><span class="linenos">1719</span></a><span class="sd"> name : str</span>
</span><span id="import_jackknife-1720"><a href="#import_jackknife-1720"><span class="linenos">1720</span></a><span class="sd"> name of the ensemble the samples are defined on.</span>
</span><span id="import_jackknife-1721"><a href="#import_jackknife-1721"><span class="linenos">1721</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="import_jackknife-1722"><a href="#import_jackknife-1722"><span class="linenos">1722</span></a> <span class="n">length</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">jacks</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span>
</span><span id="import_jackknife-1723"><a href="#import_jackknife-1723"><span class="linenos">1723</span></a> <span class="n">prj</span> <span class="o">=</span> <span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ones</span><span class="p">((</span><span class="n">length</span><span class="p">,</span> <span class="n">length</span><span class="p">))</span> <span class="o">-</span> <span class="p">(</span><span class="n">length</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">identity</span><span class="p">(</span><span class="n">length</span><span class="p">))</span>
</span><span id="import_jackknife-1724"><a href="#import_jackknife-1724"><span class="linenos">1724</span></a> <span class="n">samples</span> <span class="o">=</span> <span class="n">jacks</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span> <span class="o">@</span> <span class="n">prj</span>
</span><span id="import_jackknife-1725"><a href="#import_jackknife-1725"><span class="linenos">1725</span></a> <span class="n">mean</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">samples</span><span class="p">)</span>
</span><span id="import_jackknife-1726"><a href="#import_jackknife-1726"><span class="linenos">1726</span></a> <span class="n">new_obs</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([</span><span class="n">samples</span> <span class="o">-</span> <span class="n">mean</span><span class="p">],</span> <span class="p">[</span><span class="n">name</span><span class="p">],</span> <span class="n">idl</span><span class="o">=</span><span class="n">idl</span><span class="p">,</span> <span class="n">means</span><span class="o">=</span><span class="p">[</span><span class="n">mean</span><span class="p">])</span>
</span><span id="import_jackknife-1727"><a href="#import_jackknife-1727"><span class="linenos">1727</span></a> <span class="n">new_obs</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">jacks</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="import_jackknife-1728"><a href="#import_jackknife-1728"><span class="linenos">1728</span></a> <span class="k">return</span> <span class="n">new_obs</span>
</span></pre></div>
@ -5850,34 +6116,34 @@ name of the ensemble the samples are defined on.</li>
</div>
<a class="headerlink" href="#import_bootstrap"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="import_bootstrap-1645"><a href="#import_bootstrap-1645"><span class="linenos">1645</span></a><span class="k">def</span> <span class="nf">import_bootstrap</span><span class="p">(</span><span class="n">boots</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">random_numbers</span><span class="p">):</span>
</span><span id="import_bootstrap-1646"><a href="#import_bootstrap-1646"><span class="linenos">1646</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Imports bootstrap samples and returns an Obs</span>
</span><span id="import_bootstrap-1647"><a href="#import_bootstrap-1647"><span class="linenos">1647</span></a>
</span><span id="import_bootstrap-1648"><a href="#import_bootstrap-1648"><span class="linenos">1648</span></a><span class="sd"> Parameters</span>
</span><span id="import_bootstrap-1649"><a href="#import_bootstrap-1649"><span class="linenos">1649</span></a><span class="sd"> ----------</span>
</span><span id="import_bootstrap-1650"><a href="#import_bootstrap-1650"><span class="linenos">1650</span></a><span class="sd"> boots : numpy.ndarray</span>
</span><span id="import_bootstrap-1651"><a href="#import_bootstrap-1651"><span class="linenos">1651</span></a><span class="sd"> numpy array containing the mean value as zeroth entry and</span>
</span><span id="import_bootstrap-1652"><a href="#import_bootstrap-1652"><span class="linenos">1652</span></a><span class="sd"> the N bootstrap samples as first to Nth entry.</span>
</span><span id="import_bootstrap-1653"><a href="#import_bootstrap-1653"><span class="linenos">1653</span></a><span class="sd"> name : str</span>
</span><span id="import_bootstrap-1654"><a href="#import_bootstrap-1654"><span class="linenos">1654</span></a><span class="sd"> name of the ensemble the samples are defined on.</span>
</span><span id="import_bootstrap-1655"><a href="#import_bootstrap-1655"><span class="linenos">1655</span></a><span class="sd"> random_numbers : np.ndarray</span>
</span><span id="import_bootstrap-1656"><a href="#import_bootstrap-1656"><span class="linenos">1656</span></a><span class="sd"> Array of shape (samples, length) containing the random numbers to generate the bootstrap samples,</span>
</span><span id="import_bootstrap-1657"><a href="#import_bootstrap-1657"><span class="linenos">1657</span></a><span class="sd"> where samples is the number of bootstrap samples and length is the length of the original Monte Carlo</span>
</span><span id="import_bootstrap-1658"><a href="#import_bootstrap-1658"><span class="linenos">1658</span></a><span class="sd"> chain to be reconstructed.</span>
</span><span id="import_bootstrap-1659"><a href="#import_bootstrap-1659"><span class="linenos">1659</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="import_bootstrap-1660"><a href="#import_bootstrap-1660"><span class="linenos">1660</span></a> <span class="n">samples</span><span class="p">,</span> <span class="n">length</span> <span class="o">=</span> <span class="n">random_numbers</span><span class="o">.</span><span class="n">shape</span>
</span><span id="import_bootstrap-1661"><a href="#import_bootstrap-1661"><span class="linenos">1661</span></a> <span class="k">if</span> <span class="n">samples</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">boots</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="import_bootstrap-1662"><a href="#import_bootstrap-1662"><span class="linenos">1662</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Random numbers do not have the correct shape.&quot;</span><span class="p">)</span>
</span><span id="import_bootstrap-1663"><a href="#import_bootstrap-1663"><span class="linenos">1663</span></a>
</span><span id="import_bootstrap-1664"><a href="#import_bootstrap-1664"><span class="linenos">1664</span></a> <span class="k">if</span> <span class="n">samples</span> <span class="o">&lt;</span> <span class="n">length</span><span class="p">:</span>
</span><span id="import_bootstrap-1665"><a href="#import_bootstrap-1665"><span class="linenos">1665</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Obs can&#39;t be reconstructed if there are fewer bootstrap samples than Monte Carlo data points.&quot;</span><span class="p">)</span>
</span><span id="import_bootstrap-1666"><a href="#import_bootstrap-1666"><span class="linenos">1666</span></a>
</span><span id="import_bootstrap-1667"><a href="#import_bootstrap-1667"><span class="linenos">1667</span></a> <span class="n">proj</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vstack</span><span class="p">([</span><span class="n">np</span><span class="o">.</span><span class="n">bincount</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">minlength</span><span class="o">=</span><span class="n">length</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">random_numbers</span><span class="p">])</span> <span class="o">/</span> <span class="n">length</span>
</span><span id="import_bootstrap-1668"><a href="#import_bootstrap-1668"><span class="linenos">1668</span></a>
</span><span id="import_bootstrap-1669"><a href="#import_bootstrap-1669"><span class="linenos">1669</span></a> <span class="n">samples</span> <span class="o">=</span> <span class="n">scipy</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">lstsq</span><span class="p">(</span><span class="n">proj</span><span class="p">,</span> <span class="n">boots</span><span class="p">[</span><span class="mi">1</span><span class="p">:])[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="import_bootstrap-1670"><a href="#import_bootstrap-1670"><span class="linenos">1670</span></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([</span><span class="n">samples</span><span class="p">],</span> <span class="p">[</span><span class="n">name</span><span class="p">])</span>
</span><span id="import_bootstrap-1671"><a href="#import_bootstrap-1671"><span class="linenos">1671</span></a> <span class="n">ret</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">boots</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="import_bootstrap-1672"><a href="#import_bootstrap-1672"><span class="linenos">1672</span></a> <span class="k">return</span> <span class="n">ret</span>
<div class="pdoc-code codehilite"><pre><span></span><span id="import_bootstrap-1731"><a href="#import_bootstrap-1731"><span class="linenos">1731</span></a><span class="k">def</span> <span class="nf">import_bootstrap</span><span class="p">(</span><span class="n">boots</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">random_numbers</span><span class="p">):</span>
</span><span id="import_bootstrap-1732"><a href="#import_bootstrap-1732"><span class="linenos">1732</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Imports bootstrap samples and returns an Obs</span>
</span><span id="import_bootstrap-1733"><a href="#import_bootstrap-1733"><span class="linenos">1733</span></a>
</span><span id="import_bootstrap-1734"><a href="#import_bootstrap-1734"><span class="linenos">1734</span></a><span class="sd"> Parameters</span>
</span><span id="import_bootstrap-1735"><a href="#import_bootstrap-1735"><span class="linenos">1735</span></a><span class="sd"> ----------</span>
</span><span id="import_bootstrap-1736"><a href="#import_bootstrap-1736"><span class="linenos">1736</span></a><span class="sd"> boots : numpy.ndarray</span>
</span><span id="import_bootstrap-1737"><a href="#import_bootstrap-1737"><span class="linenos">1737</span></a><span class="sd"> numpy array containing the mean value as zeroth entry and</span>
</span><span id="import_bootstrap-1738"><a href="#import_bootstrap-1738"><span class="linenos">1738</span></a><span class="sd"> the N bootstrap samples as first to Nth entry.</span>
</span><span id="import_bootstrap-1739"><a href="#import_bootstrap-1739"><span class="linenos">1739</span></a><span class="sd"> name : str</span>
</span><span id="import_bootstrap-1740"><a href="#import_bootstrap-1740"><span class="linenos">1740</span></a><span class="sd"> name of the ensemble the samples are defined on.</span>
</span><span id="import_bootstrap-1741"><a href="#import_bootstrap-1741"><span class="linenos">1741</span></a><span class="sd"> random_numbers : np.ndarray</span>
</span><span id="import_bootstrap-1742"><a href="#import_bootstrap-1742"><span class="linenos">1742</span></a><span class="sd"> Array of shape (samples, length) containing the random numbers to generate the bootstrap samples,</span>
</span><span id="import_bootstrap-1743"><a href="#import_bootstrap-1743"><span class="linenos">1743</span></a><span class="sd"> where samples is the number of bootstrap samples and length is the length of the original Monte Carlo</span>
</span><span id="import_bootstrap-1744"><a href="#import_bootstrap-1744"><span class="linenos">1744</span></a><span class="sd"> chain to be reconstructed.</span>
</span><span id="import_bootstrap-1745"><a href="#import_bootstrap-1745"><span class="linenos">1745</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="import_bootstrap-1746"><a href="#import_bootstrap-1746"><span class="linenos">1746</span></a> <span class="n">samples</span><span class="p">,</span> <span class="n">length</span> <span class="o">=</span> <span class="n">random_numbers</span><span class="o">.</span><span class="n">shape</span>
</span><span id="import_bootstrap-1747"><a href="#import_bootstrap-1747"><span class="linenos">1747</span></a> <span class="k">if</span> <span class="n">samples</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">boots</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="import_bootstrap-1748"><a href="#import_bootstrap-1748"><span class="linenos">1748</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Random numbers do not have the correct shape.&quot;</span><span class="p">)</span>
</span><span id="import_bootstrap-1749"><a href="#import_bootstrap-1749"><span class="linenos">1749</span></a>
</span><span id="import_bootstrap-1750"><a href="#import_bootstrap-1750"><span class="linenos">1750</span></a> <span class="k">if</span> <span class="n">samples</span> <span class="o">&lt;</span> <span class="n">length</span><span class="p">:</span>
</span><span id="import_bootstrap-1751"><a href="#import_bootstrap-1751"><span class="linenos">1751</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;Obs can&#39;t be reconstructed if there are fewer bootstrap samples than Monte Carlo data points.&quot;</span><span class="p">)</span>
</span><span id="import_bootstrap-1752"><a href="#import_bootstrap-1752"><span class="linenos">1752</span></a>
</span><span id="import_bootstrap-1753"><a href="#import_bootstrap-1753"><span class="linenos">1753</span></a> <span class="n">proj</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vstack</span><span class="p">([</span><span class="n">np</span><span class="o">.</span><span class="n">bincount</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">minlength</span><span class="o">=</span><span class="n">length</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">random_numbers</span><span class="p">])</span> <span class="o">/</span> <span class="n">length</span>
</span><span id="import_bootstrap-1754"><a href="#import_bootstrap-1754"><span class="linenos">1754</span></a>
</span><span id="import_bootstrap-1755"><a href="#import_bootstrap-1755"><span class="linenos">1755</span></a> <span class="n">samples</span> <span class="o">=</span> <span class="n">scipy</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">lstsq</span><span class="p">(</span><span class="n">proj</span><span class="p">,</span> <span class="n">boots</span><span class="p">[</span><span class="mi">1</span><span class="p">:])[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="import_bootstrap-1756"><a href="#import_bootstrap-1756"><span class="linenos">1756</span></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([</span><span class="n">samples</span><span class="p">],</span> <span class="p">[</span><span class="n">name</span><span class="p">])</span>
</span><span id="import_bootstrap-1757"><a href="#import_bootstrap-1757"><span class="linenos">1757</span></a> <span class="n">ret</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">boots</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="import_bootstrap-1758"><a href="#import_bootstrap-1758"><span class="linenos">1758</span></a> <span class="k">return</span> <span class="n">ret</span>
</span></pre></div>
@ -5911,34 +6177,34 @@ chain to be reconstructed.</li>
</div>
<a class="headerlink" href="#merge_obs"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="merge_obs-1675"><a href="#merge_obs-1675"><span class="linenos">1675</span></a><span class="k">def</span> <span class="nf">merge_obs</span><span class="p">(</span><span class="n">list_of_obs</span><span class="p">):</span>
</span><span id="merge_obs-1676"><a href="#merge_obs-1676"><span class="linenos">1676</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Combine all observables in list_of_obs into one new observable</span>
</span><span id="merge_obs-1677"><a href="#merge_obs-1677"><span class="linenos">1677</span></a>
</span><span id="merge_obs-1678"><a href="#merge_obs-1678"><span class="linenos">1678</span></a><span class="sd"> Parameters</span>
</span><span id="merge_obs-1679"><a href="#merge_obs-1679"><span class="linenos">1679</span></a><span class="sd"> ----------</span>
</span><span id="merge_obs-1680"><a href="#merge_obs-1680"><span class="linenos">1680</span></a><span class="sd"> list_of_obs : list</span>
</span><span id="merge_obs-1681"><a href="#merge_obs-1681"><span class="linenos">1681</span></a><span class="sd"> list of the Obs object to be combined</span>
</span><span id="merge_obs-1682"><a href="#merge_obs-1682"><span class="linenos">1682</span></a>
</span><span id="merge_obs-1683"><a href="#merge_obs-1683"><span class="linenos">1683</span></a><span class="sd"> Notes</span>
</span><span id="merge_obs-1684"><a href="#merge_obs-1684"><span class="linenos">1684</span></a><span class="sd"> -----</span>
</span><span id="merge_obs-1685"><a href="#merge_obs-1685"><span class="linenos">1685</span></a><span class="sd"> It is not possible to combine obs which are based on the same replicum</span>
</span><span id="merge_obs-1686"><a href="#merge_obs-1686"><span class="linenos">1686</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="merge_obs-1687"><a href="#merge_obs-1687"><span class="linenos">1687</span></a> <span class="n">replist</span> <span class="o">=</span> <span class="p">[</span><span class="n">item</span> <span class="k">for</span> <span class="n">obs</span> <span class="ow">in</span> <span class="n">list_of_obs</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">obs</span><span class="o">.</span><span class="n">names</span><span class="p">]</span>
</span><span id="merge_obs-1688"><a href="#merge_obs-1688"><span class="linenos">1688</span></a> <span class="k">if</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">replist</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">replist</span><span class="p">)))</span> <span class="ow">is</span> <span class="kc">False</span><span class="p">:</span>
</span><span id="merge_obs-1689"><a href="#merge_obs-1689"><span class="linenos">1689</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;list_of_obs contains duplicate replica: </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">replist</span><span class="p">)))</span>
</span><span id="merge_obs-1690"><a href="#merge_obs-1690"><span class="linenos">1690</span></a> <span class="k">if</span> <span class="nb">any</span><span class="p">([</span><span class="nb">len</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">cov_names</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">list_of_obs</span><span class="p">]):</span>
</span><span id="merge_obs-1691"><a href="#merge_obs-1691"><span class="linenos">1691</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Not possible to merge data that contains covobs!&#39;</span><span class="p">)</span>
</span><span id="merge_obs-1692"><a href="#merge_obs-1692"><span class="linenos">1692</span></a> <span class="n">new_dict</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="merge_obs-1693"><a href="#merge_obs-1693"><span class="linenos">1693</span></a> <span class="n">idl_dict</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="merge_obs-1694"><a href="#merge_obs-1694"><span class="linenos">1694</span></a> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">list_of_obs</span><span class="p">:</span>
</span><span id="merge_obs-1695"><a href="#merge_obs-1695"><span class="linenos">1695</span></a> <span class="n">new_dict</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">key</span><span class="p">:</span> <span class="n">o</span><span class="o">.</span><span class="n">deltas</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="o">+</span> <span class="n">o</span><span class="o">.</span><span class="n">r_values</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
</span><span id="merge_obs-1696"><a href="#merge_obs-1696"><span class="linenos">1696</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="nb">set</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">deltas</span><span class="p">)</span> <span class="o">|</span> <span class="nb">set</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">r_values</span><span class="p">)})</span>
</span><span id="merge_obs-1697"><a href="#merge_obs-1697"><span class="linenos">1697</span></a> <span class="n">idl_dict</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">key</span><span class="p">:</span> <span class="n">o</span><span class="o">.</span><span class="n">idl</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="nb">set</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">deltas</span><span class="p">)})</span>
</span><span id="merge_obs-1698"><a href="#merge_obs-1698"><span class="linenos">1698</span></a>
</span><span id="merge_obs-1699"><a href="#merge_obs-1699"><span class="linenos">1699</span></a> <span class="n">names</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">new_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span>
</span><span id="merge_obs-1700"><a href="#merge_obs-1700"><span class="linenos">1700</span></a> <span class="n">o</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([</span><span class="n">new_dict</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">names</span><span class="p">],</span> <span class="n">names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="p">[</span><span class="n">idl_dict</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">names</span><span class="p">])</span>
</span><span id="merge_obs-1701"><a href="#merge_obs-1701"><span class="linenos">1701</span></a> <span class="n">o</span><span class="o">.</span><span class="n">reweighted</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">([</span><span class="n">oi</span><span class="o">.</span><span class="n">reweighted</span> <span class="k">for</span> <span class="n">oi</span> <span class="ow">in</span> <span class="n">list_of_obs</span><span class="p">])</span>
</span><span id="merge_obs-1702"><a href="#merge_obs-1702"><span class="linenos">1702</span></a> <span class="k">return</span> <span class="n">o</span>
<div class="pdoc-code codehilite"><pre><span></span><span id="merge_obs-1761"><a href="#merge_obs-1761"><span class="linenos">1761</span></a><span class="k">def</span> <span class="nf">merge_obs</span><span class="p">(</span><span class="n">list_of_obs</span><span class="p">):</span>
</span><span id="merge_obs-1762"><a href="#merge_obs-1762"><span class="linenos">1762</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Combine all observables in list_of_obs into one new observable</span>
</span><span id="merge_obs-1763"><a href="#merge_obs-1763"><span class="linenos">1763</span></a>
</span><span id="merge_obs-1764"><a href="#merge_obs-1764"><span class="linenos">1764</span></a><span class="sd"> Parameters</span>
</span><span id="merge_obs-1765"><a href="#merge_obs-1765"><span class="linenos">1765</span></a><span class="sd"> ----------</span>
</span><span id="merge_obs-1766"><a href="#merge_obs-1766"><span class="linenos">1766</span></a><span class="sd"> list_of_obs : list</span>
</span><span id="merge_obs-1767"><a href="#merge_obs-1767"><span class="linenos">1767</span></a><span class="sd"> list of the Obs object to be combined</span>
</span><span id="merge_obs-1768"><a href="#merge_obs-1768"><span class="linenos">1768</span></a>
</span><span id="merge_obs-1769"><a href="#merge_obs-1769"><span class="linenos">1769</span></a><span class="sd"> Notes</span>
</span><span id="merge_obs-1770"><a href="#merge_obs-1770"><span class="linenos">1770</span></a><span class="sd"> -----</span>
</span><span id="merge_obs-1771"><a href="#merge_obs-1771"><span class="linenos">1771</span></a><span class="sd"> It is not possible to combine obs which are based on the same replicum</span>
</span><span id="merge_obs-1772"><a href="#merge_obs-1772"><span class="linenos">1772</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="merge_obs-1773"><a href="#merge_obs-1773"><span class="linenos">1773</span></a> <span class="n">replist</span> <span class="o">=</span> <span class="p">[</span><span class="n">item</span> <span class="k">for</span> <span class="n">obs</span> <span class="ow">in</span> <span class="n">list_of_obs</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">obs</span><span class="o">.</span><span class="n">names</span><span class="p">]</span>
</span><span id="merge_obs-1774"><a href="#merge_obs-1774"><span class="linenos">1774</span></a> <span class="k">if</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">replist</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">replist</span><span class="p">)))</span> <span class="ow">is</span> <span class="kc">False</span><span class="p">:</span>
</span><span id="merge_obs-1775"><a href="#merge_obs-1775"><span class="linenos">1775</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;list_of_obs contains duplicate replica: </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">replist</span><span class="p">)))</span>
</span><span id="merge_obs-1776"><a href="#merge_obs-1776"><span class="linenos">1776</span></a> <span class="k">if</span> <span class="nb">any</span><span class="p">([</span><span class="nb">len</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">cov_names</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">list_of_obs</span><span class="p">]):</span>
</span><span id="merge_obs-1777"><a href="#merge_obs-1777"><span class="linenos">1777</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Not possible to merge data that contains covobs!&#39;</span><span class="p">)</span>
</span><span id="merge_obs-1778"><a href="#merge_obs-1778"><span class="linenos">1778</span></a> <span class="n">new_dict</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="merge_obs-1779"><a href="#merge_obs-1779"><span class="linenos">1779</span></a> <span class="n">idl_dict</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="merge_obs-1780"><a href="#merge_obs-1780"><span class="linenos">1780</span></a> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">list_of_obs</span><span class="p">:</span>
</span><span id="merge_obs-1781"><a href="#merge_obs-1781"><span class="linenos">1781</span></a> <span class="n">new_dict</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">key</span><span class="p">:</span> <span class="n">o</span><span class="o">.</span><span class="n">deltas</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="o">+</span> <span class="n">o</span><span class="o">.</span><span class="n">r_values</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
</span><span id="merge_obs-1782"><a href="#merge_obs-1782"><span class="linenos">1782</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="nb">set</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">deltas</span><span class="p">)</span> <span class="o">|</span> <span class="nb">set</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">r_values</span><span class="p">)})</span>
</span><span id="merge_obs-1783"><a href="#merge_obs-1783"><span class="linenos">1783</span></a> <span class="n">idl_dict</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">key</span><span class="p">:</span> <span class="n">o</span><span class="o">.</span><span class="n">idl</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="nb">set</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">deltas</span><span class="p">)})</span>
</span><span id="merge_obs-1784"><a href="#merge_obs-1784"><span class="linenos">1784</span></a>
</span><span id="merge_obs-1785"><a href="#merge_obs-1785"><span class="linenos">1785</span></a> <span class="n">names</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">new_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span>
</span><span id="merge_obs-1786"><a href="#merge_obs-1786"><span class="linenos">1786</span></a> <span class="n">o</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([</span><span class="n">new_dict</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">names</span><span class="p">],</span> <span class="n">names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="p">[</span><span class="n">idl_dict</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">names</span><span class="p">])</span>
</span><span id="merge_obs-1787"><a href="#merge_obs-1787"><span class="linenos">1787</span></a> <span class="n">o</span><span class="o">.</span><span class="n">reweighted</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">([</span><span class="n">oi</span><span class="o">.</span><span class="n">reweighted</span> <span class="k">for</span> <span class="n">oi</span> <span class="ow">in</span> <span class="n">list_of_obs</span><span class="p">])</span>
</span><span id="merge_obs-1788"><a href="#merge_obs-1788"><span class="linenos">1788</span></a> <span class="k">return</span> <span class="n">o</span>
</span></pre></div>
@ -5969,47 +6235,47 @@ list of the Obs object to be combined</li>
</div>
<a class="headerlink" href="#cov_Obs"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="cov_Obs-1705"><a href="#cov_Obs-1705"><span class="linenos">1705</span></a><span class="k">def</span> <span class="nf">cov_Obs</span><span class="p">(</span><span class="n">means</span><span class="p">,</span> <span class="n">cov</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">grad</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="cov_Obs-1706"><a href="#cov_Obs-1706"><span class="linenos">1706</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Create an Obs based on mean(s) and a covariance matrix</span>
</span><span id="cov_Obs-1707"><a href="#cov_Obs-1707"><span class="linenos">1707</span></a>
</span><span id="cov_Obs-1708"><a href="#cov_Obs-1708"><span class="linenos">1708</span></a><span class="sd"> Parameters</span>
</span><span id="cov_Obs-1709"><a href="#cov_Obs-1709"><span class="linenos">1709</span></a><span class="sd"> ----------</span>
</span><span id="cov_Obs-1710"><a href="#cov_Obs-1710"><span class="linenos">1710</span></a><span class="sd"> mean : list of floats or float</span>
</span><span id="cov_Obs-1711"><a href="#cov_Obs-1711"><span class="linenos">1711</span></a><span class="sd"> N mean value(s) of the new Obs</span>
</span><span id="cov_Obs-1712"><a href="#cov_Obs-1712"><span class="linenos">1712</span></a><span class="sd"> cov : list or array</span>
</span><span id="cov_Obs-1713"><a href="#cov_Obs-1713"><span class="linenos">1713</span></a><span class="sd"> 2d (NxN) Covariance matrix, 1d diagonal entries or 0d covariance</span>
</span><span id="cov_Obs-1714"><a href="#cov_Obs-1714"><span class="linenos">1714</span></a><span class="sd"> name : str</span>
</span><span id="cov_Obs-1715"><a href="#cov_Obs-1715"><span class="linenos">1715</span></a><span class="sd"> identifier for the covariance matrix</span>
</span><span id="cov_Obs-1716"><a href="#cov_Obs-1716"><span class="linenos">1716</span></a><span class="sd"> grad : list or array</span>
</span><span id="cov_Obs-1717"><a href="#cov_Obs-1717"><span class="linenos">1717</span></a><span class="sd"> Gradient of the Covobs wrt. the means belonging to cov.</span>
</span><span id="cov_Obs-1718"><a href="#cov_Obs-1718"><span class="linenos">1718</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="cov_Obs-1719"><a href="#cov_Obs-1719"><span class="linenos">1719</span></a>
</span><span id="cov_Obs-1720"><a href="#cov_Obs-1720"><span class="linenos">1720</span></a> <span class="k">def</span> <span class="nf">covobs_to_obs</span><span class="p">(</span><span class="n">co</span><span class="p">):</span>
</span><span id="cov_Obs-1721"><a href="#cov_Obs-1721"><span class="linenos">1721</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Make an Obs out of a Covobs</span>
</span><span id="cov_Obs-1722"><a href="#cov_Obs-1722"><span class="linenos">1722</span></a>
</span><span id="cov_Obs-1723"><a href="#cov_Obs-1723"><span class="linenos">1723</span></a><span class="sd"> Parameters</span>
</span><span id="cov_Obs-1724"><a href="#cov_Obs-1724"><span class="linenos">1724</span></a><span class="sd"> ----------</span>
</span><span id="cov_Obs-1725"><a href="#cov_Obs-1725"><span class="linenos">1725</span></a><span class="sd"> co : Covobs</span>
</span><span id="cov_Obs-1726"><a href="#cov_Obs-1726"><span class="linenos">1726</span></a><span class="sd"> Covobs to be embedded into the Obs</span>
</span><span id="cov_Obs-1727"><a href="#cov_Obs-1727"><span class="linenos">1727</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="cov_Obs-1728"><a href="#cov_Obs-1728"><span class="linenos">1728</span></a> <span class="n">o</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([],</span> <span class="p">[],</span> <span class="n">means</span><span class="o">=</span><span class="p">[])</span>
</span><span id="cov_Obs-1729"><a href="#cov_Obs-1729"><span class="linenos">1729</span></a> <span class="n">o</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">co</span><span class="o">.</span><span class="n">value</span>
</span><span id="cov_Obs-1730"><a href="#cov_Obs-1730"><span class="linenos">1730</span></a> <span class="n">o</span><span class="o">.</span><span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">co</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
</span><span id="cov_Obs-1731"><a href="#cov_Obs-1731"><span class="linenos">1731</span></a> <span class="n">o</span><span class="o">.</span><span class="n">_covobs</span><span class="p">[</span><span class="n">co</span><span class="o">.</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">co</span>
</span><span id="cov_Obs-1732"><a href="#cov_Obs-1732"><span class="linenos">1732</span></a> <span class="n">o</span><span class="o">.</span><span class="n">_dvalue</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">co</span><span class="o">.</span><span class="n">errsq</span><span class="p">())</span>
</span><span id="cov_Obs-1733"><a href="#cov_Obs-1733"><span class="linenos">1733</span></a> <span class="k">return</span> <span class="n">o</span>
</span><span id="cov_Obs-1734"><a href="#cov_Obs-1734"><span class="linenos">1734</span></a>
</span><span id="cov_Obs-1735"><a href="#cov_Obs-1735"><span class="linenos">1735</span></a> <span class="n">ol</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="cov_Obs-1736"><a href="#cov_Obs-1736"><span class="linenos">1736</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">means</span><span class="p">,</span> <span class="p">(</span><span class="nb">float</span><span class="p">,</span> <span class="nb">int</span><span class="p">)):</span>
</span><span id="cov_Obs-1737"><a href="#cov_Obs-1737"><span class="linenos">1737</span></a> <span class="n">means</span> <span class="o">=</span> <span class="p">[</span><span class="n">means</span><span class="p">]</span>
</span><span id="cov_Obs-1738"><a href="#cov_Obs-1738"><span class="linenos">1738</span></a>
</span><span id="cov_Obs-1739"><a href="#cov_Obs-1739"><span class="linenos">1739</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">means</span><span class="p">)):</span>
</span><span id="cov_Obs-1740"><a href="#cov_Obs-1740"><span class="linenos">1740</span></a> <span class="n">ol</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">covobs_to_obs</span><span class="p">(</span><span class="n">Covobs</span><span class="p">(</span><span class="n">means</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">cov</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">pos</span><span class="o">=</span><span class="n">i</span><span class="p">,</span> <span class="n">grad</span><span class="o">=</span><span class="n">grad</span><span class="p">)))</span>
</span><span id="cov_Obs-1741"><a href="#cov_Obs-1741"><span class="linenos">1741</span></a> <span class="k">if</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">covobs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">N</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">means</span><span class="p">):</span>
</span><span id="cov_Obs-1742"><a href="#cov_Obs-1742"><span class="linenos">1742</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;You have to provide </span><span class="si">%d</span><span class="s1"> mean values!&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">N</span><span class="p">))</span>
</span><span id="cov_Obs-1743"><a href="#cov_Obs-1743"><span class="linenos">1743</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="cov_Obs-1744"><a href="#cov_Obs-1744"><span class="linenos">1744</span></a> <span class="k">return</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="cov_Obs-1745"><a href="#cov_Obs-1745"><span class="linenos">1745</span></a> <span class="k">return</span> <span class="n">ol</span>
<div class="pdoc-code codehilite"><pre><span></span><span id="cov_Obs-1791"><a href="#cov_Obs-1791"><span class="linenos">1791</span></a><span class="k">def</span> <span class="nf">cov_Obs</span><span class="p">(</span><span class="n">means</span><span class="p">,</span> <span class="n">cov</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">grad</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="cov_Obs-1792"><a href="#cov_Obs-1792"><span class="linenos">1792</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Create an Obs based on mean(s) and a covariance matrix</span>
</span><span id="cov_Obs-1793"><a href="#cov_Obs-1793"><span class="linenos">1793</span></a>
</span><span id="cov_Obs-1794"><a href="#cov_Obs-1794"><span class="linenos">1794</span></a><span class="sd"> Parameters</span>
</span><span id="cov_Obs-1795"><a href="#cov_Obs-1795"><span class="linenos">1795</span></a><span class="sd"> ----------</span>
</span><span id="cov_Obs-1796"><a href="#cov_Obs-1796"><span class="linenos">1796</span></a><span class="sd"> mean : list of floats or float</span>
</span><span id="cov_Obs-1797"><a href="#cov_Obs-1797"><span class="linenos">1797</span></a><span class="sd"> N mean value(s) of the new Obs</span>
</span><span id="cov_Obs-1798"><a href="#cov_Obs-1798"><span class="linenos">1798</span></a><span class="sd"> cov : list or array</span>
</span><span id="cov_Obs-1799"><a href="#cov_Obs-1799"><span class="linenos">1799</span></a><span class="sd"> 2d (NxN) Covariance matrix, 1d diagonal entries or 0d covariance</span>
</span><span id="cov_Obs-1800"><a href="#cov_Obs-1800"><span class="linenos">1800</span></a><span class="sd"> name : str</span>
</span><span id="cov_Obs-1801"><a href="#cov_Obs-1801"><span class="linenos">1801</span></a><span class="sd"> identifier for the covariance matrix</span>
</span><span id="cov_Obs-1802"><a href="#cov_Obs-1802"><span class="linenos">1802</span></a><span class="sd"> grad : list or array</span>
</span><span id="cov_Obs-1803"><a href="#cov_Obs-1803"><span class="linenos">1803</span></a><span class="sd"> Gradient of the Covobs wrt. the means belonging to cov.</span>
</span><span id="cov_Obs-1804"><a href="#cov_Obs-1804"><span class="linenos">1804</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="cov_Obs-1805"><a href="#cov_Obs-1805"><span class="linenos">1805</span></a>
</span><span id="cov_Obs-1806"><a href="#cov_Obs-1806"><span class="linenos">1806</span></a> <span class="k">def</span> <span class="nf">covobs_to_obs</span><span class="p">(</span><span class="n">co</span><span class="p">):</span>
</span><span id="cov_Obs-1807"><a href="#cov_Obs-1807"><span class="linenos">1807</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Make an Obs out of a Covobs</span>
</span><span id="cov_Obs-1808"><a href="#cov_Obs-1808"><span class="linenos">1808</span></a>
</span><span id="cov_Obs-1809"><a href="#cov_Obs-1809"><span class="linenos">1809</span></a><span class="sd"> Parameters</span>
</span><span id="cov_Obs-1810"><a href="#cov_Obs-1810"><span class="linenos">1810</span></a><span class="sd"> ----------</span>
</span><span id="cov_Obs-1811"><a href="#cov_Obs-1811"><span class="linenos">1811</span></a><span class="sd"> co : Covobs</span>
</span><span id="cov_Obs-1812"><a href="#cov_Obs-1812"><span class="linenos">1812</span></a><span class="sd"> Covobs to be embedded into the Obs</span>
</span><span id="cov_Obs-1813"><a href="#cov_Obs-1813"><span class="linenos">1813</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="cov_Obs-1814"><a href="#cov_Obs-1814"><span class="linenos">1814</span></a> <span class="n">o</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([],</span> <span class="p">[],</span> <span class="n">means</span><span class="o">=</span><span class="p">[])</span>
</span><span id="cov_Obs-1815"><a href="#cov_Obs-1815"><span class="linenos">1815</span></a> <span class="n">o</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">co</span><span class="o">.</span><span class="n">value</span>
</span><span id="cov_Obs-1816"><a href="#cov_Obs-1816"><span class="linenos">1816</span></a> <span class="n">o</span><span class="o">.</span><span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">co</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
</span><span id="cov_Obs-1817"><a href="#cov_Obs-1817"><span class="linenos">1817</span></a> <span class="n">o</span><span class="o">.</span><span class="n">_covobs</span><span class="p">[</span><span class="n">co</span><span class="o">.</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">co</span>
</span><span id="cov_Obs-1818"><a href="#cov_Obs-1818"><span class="linenos">1818</span></a> <span class="n">o</span><span class="o">.</span><span class="n">_dvalue</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">co</span><span class="o">.</span><span class="n">errsq</span><span class="p">())</span>
</span><span id="cov_Obs-1819"><a href="#cov_Obs-1819"><span class="linenos">1819</span></a> <span class="k">return</span> <span class="n">o</span>
</span><span id="cov_Obs-1820"><a href="#cov_Obs-1820"><span class="linenos">1820</span></a>
</span><span id="cov_Obs-1821"><a href="#cov_Obs-1821"><span class="linenos">1821</span></a> <span class="n">ol</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="cov_Obs-1822"><a href="#cov_Obs-1822"><span class="linenos">1822</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">means</span><span class="p">,</span> <span class="p">(</span><span class="nb">float</span><span class="p">,</span> <span class="nb">int</span><span class="p">)):</span>
</span><span id="cov_Obs-1823"><a href="#cov_Obs-1823"><span class="linenos">1823</span></a> <span class="n">means</span> <span class="o">=</span> <span class="p">[</span><span class="n">means</span><span class="p">]</span>
</span><span id="cov_Obs-1824"><a href="#cov_Obs-1824"><span class="linenos">1824</span></a>
</span><span id="cov_Obs-1825"><a href="#cov_Obs-1825"><span class="linenos">1825</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">means</span><span class="p">)):</span>
</span><span id="cov_Obs-1826"><a href="#cov_Obs-1826"><span class="linenos">1826</span></a> <span class="n">ol</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">covobs_to_obs</span><span class="p">(</span><span class="n">Covobs</span><span class="p">(</span><span class="n">means</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">cov</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">pos</span><span class="o">=</span><span class="n">i</span><span class="p">,</span> <span class="n">grad</span><span class="o">=</span><span class="n">grad</span><span class="p">)))</span>
</span><span id="cov_Obs-1827"><a href="#cov_Obs-1827"><span class="linenos">1827</span></a> <span class="k">if</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">covobs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">N</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">means</span><span class="p">):</span>
</span><span id="cov_Obs-1828"><a href="#cov_Obs-1828"><span class="linenos">1828</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;You have to provide </span><span class="si">%d</span><span class="s1"> mean values!&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">N</span><span class="p">))</span>
</span><span id="cov_Obs-1829"><a href="#cov_Obs-1829"><span class="linenos">1829</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="cov_Obs-1830"><a href="#cov_Obs-1830"><span class="linenos">1830</span></a> <span class="k">return</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="cov_Obs-1831"><a href="#cov_Obs-1831"><span class="linenos">1831</span></a> <span class="k">return</span> <span class="n">ol</span>
</span></pre></div>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.roots API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.special API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="pdoc 14.6.0"/>
<meta name="generator" content="pdoc 14.7.0"/>
<title>pyerrors.version API documentation</title>
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>

File diff suppressed because one or more lines are too long