/** elasticlunr - http://weixsong.github.io * Copyright (C) 2017 Oliver Nightingale * Copyright (C) 2017 Wei Song * MIT Licensed */!function(){functione(e){if(null===e||"object"!=typeofe)returne;vart=e.constructor();for(varnine)e.hasOwnProperty(n)&&(t[n]=e[n]);returnt}vart=function(e){varn=newt.Index;returnn.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){returnfunction(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){returnvoid0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){vare=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeoft)thrownewTypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){varn=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&deletethis.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){vart=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){returneinthis.events},t.tokenizer=function(e){if(!arguments.length||null===e||void0===e)return[];if(Array.isArray(e)){varn=e.filter(function(e){returnnull===e||void0===e?!1:!0});n=n.map(function(e){returnt.utils.toString(e).toLowerCase()});vari=[];returnn.forEach(function(e){varn=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}returne.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void0!==e&&"object"==typeofe&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){returnt.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){nint.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){returneint.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){varn=e.label&&e.labelinthis.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){varn=newt.Pipeline;returne.forEach(function(e){vari=t.Pipeline.getRegisteredFunction(e);if(!i)thrownewError("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){vare=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);vari=this._queue.indexOf(e);if(-1===i)thrownewError("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);vari=this._queue.indexOf(e);if(-1===i)thrownewError("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){vart=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(vart=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(varr=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void0!==r&&null!==r);s++);void0!==r&&null!==r&&t.push(r)}returnt},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){returnthis._queue},t.Pipeline.prototype.toJSON=function(){returnthis._queue.map(function(e){returnt.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=newt
/** pdoc search index */constdocs={"version":"0.9.5","fields":["qualname","fullname","doc"],"ref":"fullname","documentStore":{"docs":{"pyerrors":{"fullname":"pyerrors","modulename":"pyerrors","qualname":"","type":"module","doc":"<h1 id=\"what-is-pyerrors\">What is pyerrors?</h1>\n\n<p><code>pyerrors</code> is a python package for error computation and propagation of Markov chain Monte Carlo data.\nIt is based on the gamma method <a href=\"https://arxiv.org/abs/hep-lat/0306017\">arXiv:hep-lat/0306017</a>. Some of its features are:</p>\n\n<ul>\n<li>automatic differentiation for exact liner error propagation as suggested in <a href=\"https://arxiv.org/abs/1809.01289\">arXiv:1809.01289</a> (partly based on the <a href=\"https://github.com/HIPS/autograd\">autograd</a> package).</li>\n<li>treatment of slow modes in the simulation as suggested in <a href=\"https://arxiv.org/abs/1009.5228\">arXiv:1009.5228</a>.</li>\n<li>coherent error propagation for data from different Markov chains.</li>\n<li>non-linear fits with x- and y-errors and exact linear error propagation based on automatic differentiation as introduced in <a href=\"https://arxiv.org/abs/1809.01289\">arXiv:1809.01289</a>.</li>\n<li>real and complex matrix operations and their error propagation based on automatic differentiation (Matrix inverse, Cholesky decomposition, calculation of eigenvalues and eigenvectors, singular value decomposition...).</li>\n</ul>\n\n<p>There exist similar publicly available implementations of gamma method error analysis suites in <a href=\"https://gitlab.ift.uam-csic.es/alberto/aderrors\">Fortran</a>, <a href=\"https://gitlab.ift.uam-csic.es/alberto/aderrors.jl\">Julia</a> and <a href=\"https://github.com/mbruno46/pyobs\">Python</a>.</p>\n\n<h2 id=\"basic-example\">Basic example</h2>\n\n<div class=\"codehilite\"><pre><span></span><code><span class=\"kn\">import</span> <span class=\"nn\">numpy</span> <span class=\"k\">as</span> <span class=\"nn\">np</span>\n<span class=\"kn\">import</span> <span class=\"nn\">pyerrors</span> <span class=\"k\">as</span> <span class=\"nn\">pe</span>\n\n<span class=\"n\">my_obs</span> <span class=\"o\">=</span> <span class=\"n\">pe</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=\"s1\">'ensemble_name'</span><span class=\"p\">])</span> <span class=\"c1\"># Initialize an Obs object</span>\n<span class=\"n\">my_new_obs</span> <span class=\"o\">=</span> <span class=\"mi\">2</span> <span class=\"o\">*</span> <span class=\"n\">np</span><span class=\"o\">.</span><span class=\"n\">log</span><span class=\"p\">(</span><span class=\"n\">my_obs</span><span class=\"p\">)</span> <span class=\"o\">/</span> <span class=\"n\">my_obs</span> <span class=\"o\">**</span> <span class=\"mi\">2</span> <span class=\"c1\"># Construct derived Obs object</span>\n<span class=\"n\">my_new_obs</span><span class=\"o\">.</span><span class=\"n\">gamma_method</span><span class=\"p\">()</span> <span class=\"c1\"># Estimate the statistical error</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">my_new_obs</span><span class=\"p\">)</span> <span class=\"c1\"># Print the result to stdout</span>\n<span class=\"o\">></span> <span class=\"mf\">0.31498</span><span class=\"p\">(</span><span class=\"mi\">72</span><span class=\"p\">)</span>\n</code></pre></div>\n\n<h1 id=\"the-obs-class\">The<code>Obs</code>class</h1>\n\n<p><code>pyerrors</code>introducesanewdatatype,<code>Obs</code>,whichsimplifieserrorpropagationandestimationforauto-andcross-correlateddata.\nAn<code>Obs</code>objectcanbeinitializedwithtwoarguments,thefirstisalistcontainingthesamplesforanObservablefromaMonteCarlochain.\nThesamplescaneitherbeprovidedaspythonlistorasnumpyarray.\nThesecondargumentisalistcontainingthenamesoftherespectiveMonteCarlochainsasstrings.Thesestri