1312 only processes the lower triangular part of both matrices. In case the matrices
@@ -1541,7 +1541,7 @@
14class Corr:
- 15 """The class for a correlator (time dependent sequence of pe.Obs).
+ 15 """The class for a correlator (time dependent sequence of pe.Obs).
16
17 Everything, this class does, can be achieved using lists or arrays of Obs.
18 But it is simply more convenient to have a dedicated object for correlators.
@@ -1554,7 +1554,7 @@
25 """
26
27 def __init__(self, data_input, padding=[0, 0], prange=None):
- 28 """ Initialize a Corr object.
+ 28 """ Initialize a Corr object.
29
30 Parameters
31 ----------
@@ -1625,7 +1625,7 @@
96 self.prange = prange
97
98 def __getitem__(self, idx):
- 99 """Return the content of timeslice idx"""
+ 99 """Return the content of timeslice idx"""
100 if self.content[idx] is None:
101 return None
102 elif len(self.content[idx]) == 1:
@@ -1644,7 +1644,7 @@
115 raise Exception("Reweighting status of correlator corrupted.")
116
117 def gamma_method(self, **kwargs):
- 118 """Apply the gamma method to the content of the Corr."""
+ 118 """Apply the gamma method to the content of the Corr."""
119 for item in self.content:
120 if not (item is None):
121 if self.N == 1:
@@ -1655,7 +1655,7 @@
126 item[i, j].gamma_method(**kwargs)
127
128 def projected(self, vector_l=None, vector_r=None, normalize=False):
- 129 """We need to project the Correlator with a Vector to get a single value at each timeslice.
+ 129 """We need to project the Correlator with a Vector to get a single value at each timeslice.
130
131 The method can use one or two vectors.
132 If two are specified it returns v1@G@v2 (the order might be very important.)
@@ -1694,7 +1694,7 @@
165 return Corr(newcontent)
166
167 def item(self, i, j):
- 168 """Picks the element [i,j] from every matrix and returns a correlator containing one Obs per timeslice.
+ 168 """Picks the element [i,j] from every matrix and returns a correlator containing one Obs per timeslice.
169
170 Parameters
171 ----------
@@ -1709,7 +1709,7 @@
180 return Corr(newcontent)
181
182 def plottable(self):
- 183 """Outputs the correlator in a plotable format.
+ 183 """Outputs the correlator in a plotable format.
184
185 Outputs three lists containing the timeslice index, the value on each
186 timeslice and the error on each timeslice.
@@ -1723,7 +1723,7 @@
194 return x_list, y_list, y_err_list
195
196 def symmetric(self):
- 197 """ Symmetrize the correlator around x0=0."""
+ 197 """ Symmetrize the correlator around x0=0."""
198 if self.N != 1:
199 raise Exception('symmetric cannot be safely applied to multi-dimensional correlators.')
200 if self.T % 2 != 0:
@@ -1743,7 +1743,7 @@
214 return Corr(newcontent, prange=self.prange)
215
216 def anti_symmetric(self):
- 217 """Anti-symmetrize the correlator around x0=0."""
+ 217 """Anti-symmetrize the correlator around x0=0."""
218 if self.N != 1:
219 raise Exception('anti_symmetric cannot be safely applied to multi-dimensional correlators.')
220 if self.T % 2 != 0:
@@ -1765,7 +1765,7 @@
236 return Corr(newcontent, prange=self.prange)
237
238 def is_matrix_symmetric(self):
- 239 """Checks whether a correlator matrices is symmetric on every timeslice."""
+ 239 """Checks whether a correlator matrices is symmetric on every timeslice."""
240 if self.N == 1:
241 raise Exception("Only works for correlator matrices.")
242 for t in range(self.T):
@@ -1780,7 +1780,7 @@
251 return True
252
253 def matrix_symmetric(self):
- 254 """Symmetrizes the correlator matrices on every timeslice."""
+ 254 """Symmetrizes the correlator matrices on every timeslice."""
255 if self.N == 1:
256 raise Exception("Trying to symmetrize a correlator matrix, that already has N=1.")
257 if self.is_matrix_symmetric():
@@ -1790,7 +1790,7 @@
261 return 0.5 * (Corr(transposed) + self)
262
263 def GEVP(self, t0, ts=None, sort="Eigenvalue", **kwargs):
- 264 r'''Solve the generalized eigenvalue problem on the correlator matrix and returns the corresponding eigenvectors.
+ 264 r'''Solve the generalized eigenvalue problem on the correlator matrix and returns the corresponding eigenvectors.
265
266 The eigenvectors are sorted according to the descending eigenvalues, the zeroth eigenvector(s) correspond to the
267 largest eigenvalue(s). The eigenvector(s) for the individual states can be accessed via slicing
@@ -1869,7 +1869,7 @@
340 return reordered_vecs
341
342 def Eigenvalue(self, t0, ts=None, state=0, sort="Eigenvalue"):
- 343 """Determines the eigenvalue of the GEVP by solving and projecting the correlator
+ 343 """Determines the eigenvalue of the GEVP by solving and projecting the correlator
344
345 Parameters
346 ----------
@@ -1882,7 +1882,7 @@
353 return self.projected(vec)
354
355 def Hankel(self, N, periodic=False):
- 356 """Constructs an NxN Hankel matrix
+ 356 """Constructs an NxN Hankel matrix
357
358 C(t) c(t+1) ... c(t+n-1)
359 C(t+1) c(t+2) ... c(t+n)
@@ -1923,7 +1923,7 @@
394 return Corr(new_content)
395
396 def roll(self, dt):
- 397 """Periodically shift the correlator by dt timeslices
+ 397 """Periodically shift the correlator by dt timeslices
398
399 Parameters
400 ----------
@@ -1933,11 +1933,11 @@
404 return Corr(list(np.roll(np.array(self.content, dtype=object), dt)))
405
406 def reverse(self):
- 407 """Reverse the time ordering of the Corr"""
+ 407 """Reverse the time ordering of the Corr"""
408 return Corr(self.content[:: -1])
409
410 def thin(self, spacing=2, offset=0):
- 411 """Thin out a correlator to suppress correlations
+ 411 """Thin out a correlator to suppress correlations
412
413 Parameters
414 ----------
@@ -1955,7 +1955,7 @@
426 return Corr(new_content)
427
428 def correlate(self, partner):
- 429 """Correlate the correlator with another correlator or Obs
+ 429 """Correlate the correlator with another correlator or Obs
430
431 Parameters
432 ----------
@@ -1984,7 +1984,7 @@
455 return Corr(new_content)
456
457 def reweight(self, weight, **kwargs):
- 458 """Reweight the correlator.
+ 458 """Reweight the correlator.
459
460 Parameters
461 ----------
@@ -2007,7 +2007,7 @@
478 return Corr(new_content)
479
480 def T_symmetry(self, partner, parity=+1):
- 481 """Return the time symmetry average of the correlator and its partner
+ 481 """Return the time symmetry average of the correlator and its partner
482
483 Parameters
484 ----------
@@ -2037,7 +2037,7 @@
508 return (self + T_partner) / 2
509
510 def deriv(self, variant="symmetric"):
- 511 """Return the first derivative of the correlator with respect to x0.
+ 511 """Return the first derivative of the correlator with respect to x0.
512
513 Parameters
514 ----------
@@ -2102,7 +2102,7 @@
573 raise Exception("Unknown variant.")
574
575 def second_deriv(self, variant="symmetric"):
- 576 """Return the second derivative of the correlator with respect to x0.
+ 576 """Return the second derivative of the correlator with respect to x0.
577
578 Parameters
579 ----------
@@ -2147,7 +2147,7 @@
618 raise Exception("Unknown variant.")
619
620 def m_eff(self, variant='log', guess=1.0):
- 621 """Returns the effective mass of the correlator as correlator object
+ 621 """Returns the effective mass of the correlator as correlator object
622
623 Parameters
624 ----------
@@ -2231,7 +2231,7 @@
702 raise Exception('Unknown variant.')
703
704 def fit(self, function, fitrange=None, silent=False, **kwargs):
- 705 r'''Fits function to the data
+ 705 r'''Fits function to the data
706
707 Parameters
708 ----------
@@ -2265,7 +2265,7 @@
736 return result
737
738 def plateau(self, plateau_range=None, method="fit", auto_gamma=False):
- 739 """ Extract a plateau value from a Corr object
+ 739 """ Extract a plateau value from a Corr object
740
741 Parameters
742 ----------
@@ -2302,7 +2302,7 @@
773 raise Exception("Unsupported plateau method: " + method)
774
775 def set_prange(self, prange):
- 776 """Sets the attribute prange of the Corr object."""
+ 776 """Sets the attribute prange of the Corr object."""
777 if not len(prange) == 2:
778 raise Exception("prange must be a list or array with two values")
779 if not ((isinstance(prange[0], int)) and (isinstance(prange[1], int))):
@@ -2314,7 +2314,7 @@
785 return
786
787 def show(self, x_range=None, comp=None, y_range=None, logscale=False, plateau=None, fit_res=None, ylabel=None, save=None, auto_gamma=False, hide_sigma=None, references=None, title=None):
- 788 """Plots the correlator using the tag of the correlator as label if available.
+ 788 """Plots the correlator using the tag of the correlator as label if available.
789
790 Parameters
791 ----------
@@ -2433,7 +2433,7 @@
904 raise Exception("'save' has to be a string.")
905
906 def spaghetti_plot(self, logscale=True):
- 907 """Produces a spaghetti plot of the correlator suited to monitor exceptional configurations.
+ 907 """Produces a spaghetti plot of the correlator suited to monitor exceptional configurations.
908
909 Parameters
910 ----------
@@ -2462,7 +2462,7 @@
933 plt.draw()
934
935 def dump(self, filename, datatype="json.gz", **kwargs):
- 936 """Dumps the Corr into a file of chosen type
+ 936 """Dumps the Corr into a file of chosen type
937 Parameters
938 ----------
939 filename : str
@@ -2746,7 +2746,7 @@
1217 return self._apply_func_to_corr(return_imag)
1218
1219 def prune(self, Ntrunc, tproj=3, t0proj=2, basematrix=None):
-1220 r''' Project large correlation matrix to lowest states
+1220 r''' Project large correlation matrix to lowest states
1221
1222 This method can be used to reduce the size of an (N x N) correlation matrix
1223 to (Ntrunc x Ntrunc) by solving a GEVP at very early times where the noise
@@ -2827,7 +2827,7 @@ matrix at every timeslice. Other dependency (eg. spatial) are not supported.
27 def __init__(self, data_input, padding=[0, 0], prange=None):
-28 """ Initialize a Corr object.
+28 """ Initialize a Corr object.
29
30 Parameters
31 ----------
@@ -2930,7 +2930,7 @@ region indentified for this correlator.
117 def gamma_method(self, **kwargs):
-118 """Apply the gamma method to the content of the Corr."""
+118 """Apply the gamma method to the content of the Corr."""
119 for item in self.content:
120 if not (item is None):
121 if self.N == 1:
@@ -2959,7 +2959,7 @@ region indentified for this correlator.
128 def projected(self, vector_l=None, vector_r=None, normalize=False):
-129 """We need to project the Correlator with a Vector to get a single value at each timeslice.
+129 """We need to project the Correlator with a Vector to get a single value at each timeslice.
130
131 The method can use one or two vectors.
132 If two are specified it returns v1@G@v2 (the order might be very important.)
@@ -3020,7 +3020,7 @@ By default it will return the lowest source, which usually means unsmeared-unsme
167 def item(self, i, j):
-168 """Picks the element [i,j] from every matrix and returns a correlator containing one Obs per timeslice.
+168 """Picks the element [i,j] from every matrix and returns a correlator containing one Obs per timeslice.
169
170 Parameters
171 ----------
@@ -3062,7 +3062,7 @@ Second index to be picked.
182 def plottable(self):
-183 """Outputs the correlator in a plotable format.
+183 """Outputs the correlator in a plotable format.
184
185 Outputs three lists containing the timeslice index, the value on each
186 timeslice and the error on each timeslice.
@@ -3097,7 +3097,7 @@ timeslice and the error on each timeslice.
196 def symmetric(self):
-197 """ Symmetrize the correlator around x0=0."""
+197 """ Symmetrize the correlator around x0=0."""
198 if self.N != 1:
199 raise Exception('symmetric cannot be safely applied to multi-dimensional correlators.')
200 if self.T % 2 != 0:
@@ -3135,7 +3135,7 @@ timeslice and the error on each timeslice.
216 def anti_symmetric(self):
-217 """Anti-symmetrize the correlator around x0=0."""
+217 """Anti-symmetrize the correlator around x0=0."""
218 if self.N != 1:
219 raise Exception('anti_symmetric cannot be safely applied to multi-dimensional correlators.')
220 if self.T % 2 != 0:
@@ -3175,7 +3175,7 @@ timeslice and the error on each timeslice.
238 def is_matrix_symmetric(self):
-239 """Checks whether a correlator matrices is symmetric on every timeslice."""
+239 """Checks whether a correlator matrices is symmetric on every timeslice."""
240 if self.N == 1:
241 raise Exception("Only works for correlator matrices.")
242 for t in range(self.T):
@@ -3208,7 +3208,7 @@ timeslice and the error on each timeslice.
253 def matrix_symmetric(self):
-254 """Symmetrizes the correlator matrices on every timeslice."""
+254 """Symmetrizes the correlator matrices on every timeslice."""
255 if self.N == 1:
256 raise Exception("Trying to symmetrize a correlator matrix, that already has N=1.")
257 if self.is_matrix_symmetric():
@@ -3236,7 +3236,7 @@ timeslice and the error on each timeslice.
263 def GEVP(self, t0, ts=None, sort="Eigenvalue", **kwargs):
-264 r'''Solve the generalized eigenvalue problem on the correlator matrix and returns the corresponding eigenvectors.
+264 r'''Solve the generalized eigenvalue problem on the correlator matrix and returns the corresponding eigenvectors.
265
266 The eigenvectors are sorted according to the descending eigenvalues, the zeroth eigenvector(s) correspond to the
267 largest eigenvalue(s). The eigenvector(s) for the individual states can be accessed via slicing
@@ -3366,7 +3366,7 @@ Returns only the vector(s) for a specified state. The lowest state is zero.
342 def Eigenvalue(self, t0, ts=None, state=0, sort="Eigenvalue"):
-343 """Determines the eigenvalue of the GEVP by solving and projecting the correlator
+343 """Determines the eigenvalue of the GEVP by solving and projecting the correlator
344
345 Parameters
346 ----------
@@ -3405,7 +3405,7 @@ The state one is interested in ordered by energy. The lowest state is zero.
355 def Hankel(self, N, periodic=False):
-356 """Constructs an NxN Hankel matrix
+356 """Constructs an NxN Hankel matrix
357
358 C(t) c(t+1) ... c(t+n-1)
359 C(t+1) c(t+2) ... c(t+n)
@@ -3478,7 +3478,7 @@ determines whether the matrix is extended periodically
396 def roll(self, dt):
-397 """Periodically shift the correlator by dt timeslices
+397 """Periodically shift the correlator by dt timeslices
398
399 Parameters
400 ----------
@@ -3513,7 +3513,7 @@ number of timeslices
406 def reverse(self):
-407 """Reverse the time ordering of the Corr"""
+407 """Reverse the time ordering of the Corr"""
408 return Corr(self.content[:: -1])
@@ -3535,7 +3535,7 @@ number of timeslices
410 def thin(self, spacing=2, offset=0):
-411 """Thin out a correlator to suppress correlations
+411 """Thin out a correlator to suppress correlations
412
413 Parameters
414 ----------
@@ -3580,7 +3580,7 @@ Offset the equal spacing
428 def correlate(self, partner):
-429 """Correlate the correlator with another correlator or Obs
+429 """Correlate the correlator with another correlator or Obs
430
431 Parameters
432 ----------
@@ -3636,7 +3636,7 @@ correlator or a Corr of same length.
457 def reweight(self, weight, **kwargs):
-458 """Reweight the correlator.
+458 """Reweight the correlator.
459
460 Parameters
461 ----------
@@ -3689,7 +3689,7 @@ on the configurations in obs[i].idl.
480 def T_symmetry(self, partner, parity=+1):
-481 """Return the time symmetry average of the correlator and its partner
+481 """Return the time symmetry average of the correlator and its partner
482
483 Parameters
484 ----------
@@ -3746,7 +3746,7 @@ Parity quantum number of the correlator, can be +1 or -1
510 def deriv(self, variant="symmetric"):
-511 """Return the first derivative of the correlator with respect to x0.
+511 """Return the first derivative of the correlator with respect to x0.
512
513 Parameters
514 ----------
@@ -3837,7 +3837,7 @@ Available choice: symmetric, forward, backward, improved, log, default: symmetri
575 def second_deriv(self, variant="symmetric"):
-576 """Return the second derivative of the correlator with respect to x0.
+576 """Return the second derivative of the correlator with respect to x0.
577
578 Parameters
579 ----------
@@ -3908,7 +3908,7 @@ Available choice: symmetric, improved, log, default: symmetric
620 def m_eff(self, variant='log', guess=1.0):
-621 """Returns the effective mass of the correlator as correlator object
+621 """Returns the effective mass of the correlator as correlator object
622
623 Parameters
624 ----------
@@ -4024,7 +4024,7 @@ guess for the root finder, only relevant for the root variant
704 def fit(self, function, fitrange=None, silent=False, **kwargs):
-705 r'''Fits function to the data
+705 r'''Fits function to the data
706
707 Parameters
708 ----------
@@ -4090,7 +4090,7 @@ Decides whether output is printed to the standard output.
738 def plateau(self, plateau_range=None, method="fit", auto_gamma=False):
-739 """ Extract a plateau value from a Corr object
+739 """ Extract a plateau value from a Corr object
740
741 Parameters
742 ----------
@@ -4159,7 +4159,7 @@ apply gamma_method with default parameters to the Corr. Defaults to None
775 def set_prange(self, prange):
-776 """Sets the attribute prange of the Corr object."""
+776 """Sets the attribute prange of the Corr object."""
777 if not len(prange) == 2:
778 raise Exception("prange must be a list or array with two values")
779 if not ((isinstance(prange[0], int)) and (isinstance(prange[1], int))):
@@ -4189,7 +4189,7 @@ apply gamma_method with default parameters to the Corr. Defaults to None
787 def show(self, x_range=None, comp=None, y_range=None, logscale=False, plateau=None, fit_res=None, ylabel=None, save=None, auto_gamma=False, hide_sigma=None, references=None, title=None):
-788 """Plots the correlator using the tag of the correlator as label if available.
+788 """Plots the correlator using the tag of the correlator as label if available.
789
790 Parameters
791 ----------
@@ -4354,7 +4354,7 @@ Optional title of the figure.
906 def spaghetti_plot(self, logscale=True):
-907 """Produces a spaghetti plot of the correlator suited to monitor exceptional configurations.
+907 """Produces a spaghetti plot of the correlator suited to monitor exceptional configurations.
908
909 Parameters
910 ----------
@@ -4408,7 +4408,7 @@ Determines whether the scale of the y-axis is logarithmic or standard.
935 def dump(self, filename, datatype="json.gz", **kwargs):
-936 """Dumps the Corr into a file of chosen type
+936 """Dumps the Corr into a file of chosen type
937 Parameters
938 ----------
939 filename : str
@@ -4768,7 +4768,7 @@ specifies a custom path for the file (default '.')
1219 def prune(self, Ntrunc, tproj=3, t0proj=2, basematrix=None):
-1220 r''' Project large correlation matrix to lowest states
+1220 r''' Project large correlation matrix to lowest states
1221
1222 This method can be used to reduce the size of an (N x N) correlation matrix
1223 to (Ntrunc x Ntrunc) by solving a GEVP at very early times where the noise
diff --git a/docs/pyerrors/covobs.html b/docs/pyerrors/covobs.html
index e2d9729b..3db9b9f6 100644
--- a/docs/pyerrors/covobs.html
+++ b/docs/pyerrors/covobs.html
@@ -91,7 +91,7 @@
4class Covobs:
5
6 def __init__(self, mean, cov, name, pos=None, grad=None):
- 7 """ Initialize Covobs object.
+ 7 """ Initialize Covobs object.
8
9 Parameters
10 ----------
@@ -127,12 +127,12 @@
40 self.value = mean
41
42 def errsq(self):
- 43 """ Return the variance (= square of the error) of the Covobs
+ 43 """ Return the variance (= square of the error) of the Covobs
44 """
45 return float(np.dot(np.transpose(self.grad), np.dot(self.cov, self.grad)))
46
47 def _set_cov(self, cov):
- 48 """ Set the covariance matrix of the covobs
+ 48 """ Set the covariance matrix of the covobs
49
50 Parameters
51 ----------
@@ -167,7 +167,7 @@
80 raise Exception('Covariance matrix is not positive-semidefinite!')
81
82 def _set_grad(self, grad):
- 83 """ Set the gradient of the covobs
+ 83 """ Set the gradient of the covobs
84
85 Parameters
86 ----------
@@ -207,7 +207,7 @@
5class Covobs:
6
7 def __init__(self, mean, cov, name, pos=None, grad=None):
- 8 """ Initialize Covobs object.
+ 8 """ Initialize Covobs object.
9
10 Parameters
11 ----------
@@ -243,12 +243,12 @@
41 self.value = mean
42
43 def errsq(self):
- 44 """ Return the variance (= square of the error) of the Covobs
+ 44 """ Return the variance (= square of the error) of the Covobs
45 """
46 return float(np.dot(np.transpose(self.grad), np.dot(self.cov, self.grad)))
47
48 def _set_cov(self, cov):
- 49 """ Set the covariance matrix of the covobs
+ 49 """ Set the covariance matrix of the covobs
50
51 Parameters
52 ----------
@@ -283,7 +283,7 @@
81 raise Exception('Covariance matrix is not positive-semidefinite!')
82
83 def _set_grad(self, grad):
- 84 """ Set the gradient of the covobs
+ 84 """ Set the gradient of the covobs
85
86 Parameters
87 ----------
@@ -321,7 +321,7 @@
7 def __init__(self, mean, cov, name, pos=None, grad=None):
- 8 """ Initialize Covobs object.
+ 8 """ Initialize Covobs object.
9
10 Parameters
11 ----------
@@ -391,7 +391,7 @@ Gradient of the Covobs wrt. the means belonging to cov.
43 def errsq(self):
-44 """ Return the variance (= square of the error) of the Covobs
+44 """ Return the variance (= square of the error) of the Covobs
45 """
46 return float(np.dot(np.transpose(self.grad), np.dot(self.cov, self.grad)))
diff --git a/docs/pyerrors/dirac.html b/docs/pyerrors/dirac.html
index 3f44c5df..ddbd6857 100644
--- a/docs/pyerrors/dirac.html
+++ b/docs/pyerrors/dirac.html
@@ -107,7 +107,7 @@
23
24
25def epsilon_tensor(i, j, k):
-26 """Rank-3 epsilon tensor
+26 """Rank-3 epsilon tensor
27
28 Based on https://codegolf.stackexchange.com/a/160375
29 """
@@ -119,7 +119,7 @@
35
36
37def epsilon_tensor_rank4(i, j, k, o):
-38 """Rank-4 epsilon tensor
+38 """Rank-4 epsilon tensor
39
40 Extension of https://codegolf.stackexchange.com/a/160375
41 """
@@ -131,7 +131,7 @@
47
48
49def Grid_gamma(gamma_tag):
-50 """Returns gamma matrix in Grid labeling."""
+50 """Returns gamma matrix in Grid labeling."""
51 if gamma_tag == 'Identity':
52 g = identity
53 elif gamma_tag == 'Gamma5':
@@ -183,7 +183,7 @@
26def epsilon_tensor(i, j, k):
-27 """Rank-3 epsilon tensor
+27 """Rank-3 epsilon tensor
28
29 Based on https://codegolf.stackexchange.com/a/160375
30 """
@@ -214,7 +214,7 @@
38def epsilon_tensor_rank4(i, j, k, o):
-39 """Rank-4 epsilon tensor
+39 """Rank-4 epsilon tensor
40
41 Extension of https://codegolf.stackexchange.com/a/160375
42 """
@@ -245,7 +245,7 @@
50def Grid_gamma(gamma_tag):
-51 """Returns gamma matrix in Grid labeling."""
+51 """Returns gamma matrix in Grid labeling."""
52 if gamma_tag == 'Identity':
53 g = identity
54 elif gamma_tag == 'Gamma5':
diff --git a/docs/pyerrors/fits.html b/docs/pyerrors/fits.html
index ed112d92..b5ea2136 100644
--- a/docs/pyerrors/fits.html
+++ b/docs/pyerrors/fits.html
@@ -126,7 +126,7 @@
18
19
20class Fit_result(Sequence):
- 21 """Represents fit results.
+ 21 """Represents fit results.
22
23 Attributes
24 ----------
@@ -151,7 +151,7 @@
43 return len(self.fit_parameters)
44
45 def gamma_method(self, **kwargs):
- 46 """Apply the gamma method to all fit parameters"""
+ 46 """Apply the gamma method to all fit parameters"""
47 [o.gamma_method(**kwargs) for o in self.fit_parameters]
48
49 def __str__(self):
@@ -177,7 +177,7 @@
69
70
71def least_squares(x, y, func, priors=None, silent=False, **kwargs):
- 72 r'''Performs a non-linear fit to y = func(x).
+ 72 r'''Performs a non-linear fit to y = func(x).
73
74 Parameters
75 ----------
@@ -243,7 +243,7 @@
135
136
137def total_least_squares(x, y, func, silent=False, **kwargs):
-138 r'''Performs a non-linear fit to y = func(x) and returns a list of Obs corresponding to the fit parameters.
+138 r'''Performs a non-linear fit to y = func(x) and returns a list of Obs corresponding to the fit parameters.
139
140 Parameters
141 ----------
@@ -765,7 +765,7 @@
657
658
659def fit_lin(x, y, **kwargs):
-660 """Performs a linear fit to y = n + m * x and returns two Obs n, m.
+660 """Performs a linear fit to y = n + m * x and returns two Obs n, m.
661
662 Parameters
663 ----------
@@ -791,7 +791,7 @@
683
684
685def qqplot(x, o_y, func, p):
-686 """Generates a quantile-quantile plot of the fit result which can be used to
+686 """Generates a quantile-quantile plot of the fit result which can be used to
687 check if the residuals of the fit are gaussian distributed.
688 """
689
@@ -817,7 +817,7 @@
709
710
711def residual_plot(x, y, func, fit_res):
-712 """ Generates a plot which compares the fit to the data and displays the corresponding residuals"""
+712 """ Generates a plot which compares the fit to the data and displays the corresponding residuals"""
713 sorted_x = sorted(x)
714 xstart = sorted_x[0] - 0.5 * (sorted_x[1] - sorted_x[0])
715 xstop = sorted_x[-1] + 0.5 * (sorted_x[-1] - sorted_x[-2])
@@ -847,7 +847,7 @@
739
740
741def error_band(x, func, beta):
-742 """Returns the error band for an array of sample values x, for given fit function func with optimized parameters beta."""
+742 """Returns the error band for an array of sample values x, for given fit function func with optimized parameters beta."""
743 cov = covariance(beta)
744 if np.any(np.abs(cov - cov.T) > 1000 * np.finfo(np.float64).eps):
745 warnings.warn("Covariance matrix is not symmetric within floating point precision", RuntimeWarning)
@@ -865,7 +865,7 @@
757
758
759def ks_test(objects=None):
-760 """Performs a Kolmogorov–Smirnov test for the p-values of all fit object.
+760 """Performs a Kolmogorov–Smirnov test for the p-values of all fit object.
761
762 Parameters
763 ----------
@@ -918,7 +918,7 @@
21class Fit_result(Sequence):
-22 """Represents fit results.
+22 """Represents fit results.
23
24 Attributes
25 ----------
@@ -943,7 +943,7 @@
44 return len(self.fit_parameters)
45
46 def gamma_method(self, **kwargs):
-47 """Apply the gamma method to all fit parameters"""
+47 """Apply the gamma method to all fit parameters"""
48 [o.gamma_method(**kwargs) for o in self.fit_parameters]
49
50 def __str__(self):
@@ -1017,7 +1017,7 @@ Hotelling t-squared p-value for correlated fits.
46 def gamma_method(self, **kwargs):
-47 """Apply the gamma method to all fit parameters"""
+47 """Apply the gamma method to all fit parameters"""
48 [o.gamma_method(**kwargs) for o in self.fit_parameters]
@@ -1050,7 +1050,7 @@ Hotelling t-squared p-value for correlated fits.
72def least_squares(x, y, func, priors=None, silent=False, **kwargs):
- 73 r'''Performs a non-linear fit to y = func(x).
+ 73 r'''Performs a non-linear fit to y = func(x).
74
75 Parameters
76 ----------
@@ -1194,7 +1194,7 @@ Use numerical differentation instead of automatic differentiation to perform the
138def total_least_squares(x, y, func, silent=False, **kwargs):
-139 r'''Performs a non-linear fit to y = func(x) and returns a list of Obs corresponding to the fit parameters.
+139 r'''Performs a non-linear fit to y = func(x) and returns a list of Obs corresponding to the fit parameters.
140
141 Parameters
142 ----------
@@ -1457,7 +1457,7 @@ Use numerical differentation instead of automatic differentiation to perform the
660def fit_lin(x, y, **kwargs):
-661 """Performs a linear fit to y = n + m * x and returns two Obs n, m.
+661 """Performs a linear fit to y = n + m * x and returns two Obs n, m.
662
663 Parameters
664 ----------
@@ -1510,7 +1510,7 @@ List of Obs, the dvalues of the Obs are used as yerror for the fit.
686def qqplot(x, o_y, func, p):
-687 """Generates a quantile-quantile plot of the fit result which can be used to
+687 """Generates a quantile-quantile plot of the fit result which can be used to
688 check if the residuals of the fit are gaussian distributed.
689 """
690
@@ -1554,7 +1554,7 @@ check if the residuals of the fit are gaussian distributed.
712def residual_plot(x, y, func, fit_res):
-713 """ Generates a plot which compares the fit to the data and displays the corresponding residuals"""
+713 """ Generates a plot which compares the fit to the data and displays the corresponding residuals"""
714 sorted_x = sorted(x)
715 xstart = sorted_x[0] - 0.5 * (sorted_x[1] - sorted_x[0])
716 xstop = sorted_x[-1] + 0.5 * (sorted_x[-1] - sorted_x[-2])
@@ -1601,7 +1601,7 @@ check if the residuals of the fit are gaussian distributed.
742def error_band(x, func, beta):
-743 """Returns the error band for an array of sample values x, for given fit function func with optimized parameters beta."""
+743 """Returns the error band for an array of sample values x, for given fit function func with optimized parameters beta."""
744 cov = covariance(beta)
745 if np.any(np.abs(cov - cov.T) > 1000 * np.finfo(np.float64).eps):
746 warnings.warn("Covariance matrix is not symmetric within floating point precision", RuntimeWarning)
@@ -1636,7 +1636,7 @@ check if the residuals of the fit are gaussian distributed.
760def ks_test(objects=None):
-761 """Performs a Kolmogorov–Smirnov test for the p-values of all fit object.
+761 """Performs a Kolmogorov–Smirnov test for the p-values of all fit object.
762
763 Parameters
764 ----------
diff --git a/docs/pyerrors/input/bdio.html b/docs/pyerrors/input/bdio.html
index fbb2973d..cd5b94b6 100644
--- a/docs/pyerrors/input/bdio.html
+++ b/docs/pyerrors/input/bdio.html
@@ -92,7 +92,7 @@
5
6
7def read_ADerrors(file_path, bdio_path='./libbdio.so', **kwargs):
- 8 """ Extract generic MCMC data from a bdio file
+ 8 """ Extract generic MCMC data from a bdio file
9
10 read_ADerrors requires bdio to be compiled into a shared library. This can be achieved by
11 adding the flag -fPIC to CC and changing the all target to
@@ -243,7 +243,7 @@
156
157
158def write_ADerrors(obs_list, file_path, bdio_path='./libbdio.so', **kwargs):
-159 """ Write Obs to a bdio file according to ADerrors conventions
+159 """ Write Obs to a bdio file according to ADerrors conventions
160
161 read_mesons requires bdio to be compiled into a shared library. This can be achieved by
162 adding the flag -fPIC to CC and changing the all target to
@@ -376,7 +376,7 @@
289
290
291def read_mesons(file_path, bdio_path='./libbdio.so', **kwargs):
-292 """ Extract mesons data from a bdio file and return it as a dictionary
+292 """ Extract mesons data from a bdio file and return it as a dictionary
293
294 The dictionary can be accessed with a tuple consisting of (type, source_position, kappa1, kappa2)
295
@@ -586,7 +586,7 @@
499
500
501def read_dSdm(file_path, bdio_path='./libbdio.so', **kwargs):
-502 """ Extract dSdm data from a bdio file and return it as a dictionary
+502 """ Extract dSdm data from a bdio file and return it as a dictionary
503
504 The dictionary can be accessed with a tuple consisting of (type, kappa)
505
@@ -780,7 +780,7 @@
8def read_ADerrors(file_path, bdio_path='./libbdio.so', **kwargs):
- 9 """ Extract generic MCMC data from a bdio file
+ 9 """ Extract generic MCMC data from a bdio file
10
11 read_ADerrors requires bdio to be compiled into a shared library. This can be achieved by
12 adding the flag -fPIC to CC and changing the all target to
@@ -962,7 +962,7 @@ adding the flag -fPIC to CC and changing the all target to
159def write_ADerrors(obs_list, file_path, bdio_path='./libbdio.so', **kwargs):
-160 """ Write Obs to a bdio file according to ADerrors conventions
+160 """ Write Obs to a bdio file according to ADerrors conventions
161
162 read_mesons requires bdio to be compiled into a shared library. This can be achieved by
163 adding the flag -fPIC to CC and changing the all target to
@@ -1118,7 +1118,7 @@ adding the flag -fPIC to CC and changing the all target to
292def read_mesons(file_path, bdio_path='./libbdio.so', **kwargs):
-293 """ Extract mesons data from a bdio file and return it as a dictionary
+293 """ Extract mesons data from a bdio file and return it as a dictionary
294
295 The dictionary can be accessed with a tuple consisting of (type, source_position, kappa1, kappa2)
296
@@ -1371,7 +1371,7 @@ Manually overwrite ensemble name
502def read_dSdm(file_path, bdio_path='./libbdio.so', **kwargs):
-503 """ Extract dSdm data from a bdio file and return it as a dictionary
+503 """ Extract dSdm data from a bdio file and return it as a dictionary
504
505 The dictionary can be accessed with a tuple consisting of (type, kappa)
506
diff --git a/docs/pyerrors/input/dobs.html b/docs/pyerrors/input/dobs.html
index fea62754..8b966afe 100644
--- a/docs/pyerrors/input/dobs.html
+++ b/docs/pyerrors/input/dobs.html
@@ -111,7 +111,7 @@
15
16# Based on https://stackoverflow.com/a/10076823
17def _etree_to_dict(t):
- 18 """ Convert the content of an XML file to a python dict"""
+ 18 """ Convert the content of an XML file to a python dict"""
19 d = {t.tag: {} if t.attrib else None}
20 children = list(t)
21 if children:
@@ -182,7 +182,7 @@
86
87
88def create_pobs_string(obsl, name, spec='', origin='', symbol=[], enstag=None):
- 89 """Export a list of Obs or structures containing Obs to an xml string
+ 89 """Export a list of Obs or structures containing Obs to an xml string
90 according to the Zeuthen pobs format.
91
92 Tags are not written or recovered automatically. The separator | is removed from the replica names.
@@ -268,7 +268,7 @@
172
173
174def write_pobs(obsl, fname, name, spec='', origin='', symbol=[], enstag=None, gz=True):
-175 """Export a list of Obs or structures containing Obs to a .xml.gz file
+175 """Export a list of Obs or structures containing Obs to a .xml.gz file
176 according to the Zeuthen pobs format.
177
178 Tags are not written or recovered automatically. The separator | is removed from the replica names.
@@ -320,7 +320,7 @@
224
225
226class _NoTagInDataError(Exception):
-227 """Raised when tag is not in data"""
+227 """Raised when tag is not in data"""
228 def __init__(self, tag):
229 self.tag = tag
230 super().__init__('Tag %s not in data!' % (self.tag))
@@ -385,7 +385,7 @@
289
290
291def read_pobs(fname, full_output=False, gz=True, separator_insertion=None):
-292 """Import a list of Obs from an xml.gz file in the Zeuthen pobs format.
+292 """Import a list of Obs from an xml.gz file in the Zeuthen pobs format.
293
294 Tags are not written or recovered automatically.
295
@@ -477,7 +477,7 @@
381
382# this is based on Mattia Bruno's implementation at https://github.com/mbruno46/pyobs/blob/master/pyobs/IO/xml.py
383def import_dobs_string(content, noempty=False, full_output=False, separator_insertion=True):
-384 """Import a list of Obs from a string in the Zeuthen dobs format.
+384 """Import a list of Obs from a string in the Zeuthen dobs format.
385
386 Tags are not written or recovered automatically.
387
@@ -640,7 +640,7 @@
544
545
546def read_dobs(fname, noempty=False, full_output=False, gz=True, separator_insertion=True):
-547 """Import a list of Obs from an xml.gz file in the Zeuthen dobs format.
+547 """Import a list of Obs from an xml.gz file in the Zeuthen dobs format.
548
549 Tags are not written or recovered automatically.
550
@@ -741,7 +741,7 @@
645
646
647def create_dobs_string(obsl, name, spec='dobs v1.0', origin='', symbol=[], who=None, enstags=None):
-648 """Generate the string for the export of a list of Obs or structures containing Obs
+648 """Generate the string for the export of a list of Obs or structures containing Obs
649 to a .xml.gz file according to the Zeuthen dobs format.
650
651 Tags are not written or recovered automatically. The separator |is removed from the replica names.
@@ -925,7 +925,7 @@
829
830
831def write_dobs(obsl, fname, name, spec='dobs v1.0', origin='', symbol=[], who=None, enstags=None, gz=True):
-832 """Export a list of Obs or structures containing Obs to a .xml.gz file
+832 """Export a list of Obs or structures containing Obs to a .xml.gz file
833 according to the Zeuthen dobs format.
834
835 Tags are not written or recovered automatically. The separator | is removed from the replica names.
@@ -988,7 +988,7 @@
89def create_pobs_string(obsl, name, spec='', origin='', symbol=[], enstag=None):
- 90 """Export a list of Obs or structures containing Obs to an xml string
+ 90 """Export a list of Obs or structures containing Obs to an xml string
91 according to the Zeuthen pobs format.
92
93 Tags are not written or recovered automatically. The separator | is removed from the replica names.
@@ -1112,7 +1112,7 @@ Enstag that is written to pobs. If None, the ensemble name is used.
175def write_pobs(obsl, fname, name, spec='', origin='', symbol=[], enstag=None, gz=True):
-176 """Export a list of Obs or structures containing Obs to a .xml.gz file
+176 """Export a list of Obs or structures containing Obs to a .xml.gz file
177 according to the Zeuthen pobs format.
178
179 Tags are not written or recovered automatically. The separator | is removed from the replica names.
@@ -1197,7 +1197,7 @@ If True, the output is a gzipped xml. If False, the output is an xml file.
292def read_pobs(fname, full_output=False, gz=True, separator_insertion=None):
-293 """Import a list of Obs from an xml.gz file in the Zeuthen pobs format.
+293 """Import a list of Obs from an xml.gz file in the Zeuthen pobs format.
294
295 Tags are not written or recovered automatically.
296
@@ -1322,7 +1322,7 @@ None (default): Replica names remain unchanged.
384def import_dobs_string(content, noempty=False, full_output=False, separator_insertion=True):
-385 """Import a list of Obs from a string in the Zeuthen dobs format.
+385 """Import a list of Obs from a string in the Zeuthen dobs format.
386
387 Tags are not written or recovered automatically.
388
@@ -1524,7 +1524,7 @@ None or False: No separator is inserted.
547def read_dobs(fname, noempty=False, full_output=False, gz=True, separator_insertion=True):
-548 """Import a list of Obs from an xml.gz file in the Zeuthen dobs format.
+548 """Import a list of Obs from an xml.gz file in the Zeuthen dobs format.
549
550 Tags are not written or recovered automatically.
551
@@ -1607,7 +1607,7 @@ None or False: No separator is inserted.
648def create_dobs_string(obsl, name, spec='dobs v1.0', origin='', symbol=[], who=None, enstags=None):
-649 """Generate the string for the export of a list of Obs or structures containing Obs
+649 """Generate the string for the export of a list of Obs or structures containing Obs
650 to a .xml.gz file according to the Zeuthen dobs format.
651
652 Tags are not written or recovered automatically. The separator |is removed from the replica names.
@@ -1833,7 +1833,7 @@ Otherwise, the ensemble name is used.
832def write_dobs(obsl, fname, name, spec='dobs v1.0', origin='', symbol=[], who=None, enstags=None, gz=True):
-833 """Export a list of Obs or structures containing Obs to a .xml.gz file
+833 """Export a list of Obs or structures containing Obs to a .xml.gz file
834 according to the Zeuthen dobs format.
835
836 Tags are not written or recovered automatically. The separator | is removed from the replica names.
diff --git a/docs/pyerrors/input/hadrons.html b/docs/pyerrors/input/hadrons.html
index 495c4a91..1d9f9648 100644
--- a/docs/pyerrors/input/hadrons.html
+++ b/docs/pyerrors/input/hadrons.html
@@ -156,7 +156,7 @@
54
55
56def read_meson_hd5(path, filestem, ens_id, meson='meson_0', idl=None, gammas=None):
- 57 r'''Read hadrons meson hdf5 file and extract the meson labeled 'meson'
+ 57 r'''Read hadrons meson hdf5 file and extract the meson labeled 'meson'
58
59 Parameters
60 -----------------
@@ -219,7 +219,7 @@
117
118
119def read_DistillationContraction_hd5(path, ens_id, diagrams=["direct"], idl=None):
-120 """Read hadrons DistillationContraction hdf5 files in given directory structure
+120 """Read hadrons DistillationContraction hdf5 files in given directory structure
121
122 Parameters
123 -----------------
@@ -317,7 +317,7 @@
215
216 @property
217 def g5H(self):
-218 """Gamma_5 hermitean conjugate
+218 """Gamma_5 hermitean conjugate
219
220 Uses the fact that the propagator is gamma5 hermitean, so just the
221 in and out momenta of the propagator are exchanged.
@@ -348,7 +348,7 @@
246
247
248def read_ExternalLeg_hd5(path, filestem, ens_id, idl=None):
-249 """Read hadrons ExternalLeg hdf5 file and output an array of CObs
+249 """Read hadrons ExternalLeg hdf5 file and output an array of CObs
250
251 Parameters
252 ----------
@@ -388,7 +388,7 @@
286
287
288def read_Bilinear_hd5(path, filestem, ens_id, idl=None):
-289 """Read hadrons Bilinear hdf5 file and output an array of CObs
+289 """Read hadrons Bilinear hdf5 file and output an array of CObs
290
291 Parameters
292 ----------
@@ -442,7 +442,7 @@
340
341
342def read_Fourquark_hd5(path, filestem, ens_id, idl=None, vertices=["VA", "AV"]):
-343 """Read hadrons FourquarkFullyConnected hdf5 file and output an array of CObs
+343 """Read hadrons FourquarkFullyConnected hdf5 file and output an array of CObs
344
345 Parameters
346 ----------
@@ -579,7 +579,7 @@
57def read_meson_hd5(path, filestem, ens_id, meson='meson_0', idl=None, gammas=None):
- 58 r'''Read hadrons meson hdf5 file and extract the meson labeled 'meson'
+ 58 r'''Read hadrons meson hdf5 file and extract the meson labeled 'meson'
59
60 Parameters
61 -----------------
@@ -680,7 +680,7 @@ If specified only configurations in the given range are read in.
120def read_DistillationContraction_hd5(path, ens_id, diagrams=["direct"], idl=None):
-121 """Read hadrons DistillationContraction hdf5 files in given directory structure
+121 """Read hadrons DistillationContraction hdf5 files in given directory structure
122
123 Parameters
124 -----------------
@@ -808,7 +808,7 @@ If specified only configurations in the given range are read in.
216
217 @property
218 def g5H(self):
-219 """Gamma_5 hermitean conjugate
+219 """Gamma_5 hermitean conjugate
220
221 Uses the fact that the propagator is gamma5 hermitean, so just the
222 in and out momenta of the propagator are exchanged.
@@ -1091,7 +1091,7 @@ in and out momenta of the propagator are exchanged.
249def read_ExternalLeg_hd5(path, filestem, ens_id, idl=None):
-250 """Read hadrons ExternalLeg hdf5 file and output an array of CObs
+250 """Read hadrons ExternalLeg hdf5 file and output an array of CObs
251
252 Parameters
253 ----------
@@ -1161,7 +1161,7 @@ If specified only configurations in the given range are read in.
289def read_Bilinear_hd5(path, filestem, ens_id, idl=None):
-290 """Read hadrons Bilinear hdf5 file and output an array of CObs
+290 """Read hadrons Bilinear hdf5 file and output an array of CObs
291
292 Parameters
293 ----------
@@ -1245,7 +1245,7 @@ If specified only configurations in the given range are read in.
343def read_Fourquark_hd5(path, filestem, ens_id, idl=None, vertices=["VA", "AV"]):
-344 """Read hadrons FourquarkFullyConnected hdf5 file and output an array of CObs
+344 """Read hadrons FourquarkFullyConnected hdf5 file and output an array of CObs
345
346 Parameters
347 ----------
diff --git a/docs/pyerrors/input/json.html b/docs/pyerrors/input/json.html
index 0b8c382c..2b47ff81 100644
--- a/docs/pyerrors/input/json.html
+++ b/docs/pyerrors/input/json.html
@@ -108,7 +108,7 @@
15
16
17def create_json_string(ol, description='', indent=1):
- 18 """Generate the string for the export of a list of Obs or structures containing Obs
+ 18 """Generate the string for the export of a list of Obs or structures containing Obs
19 to a .json(.gz) file
20
21 Parameters
@@ -291,7 +291,7 @@
198
199
200def dump_to_json(ol, fname, description='', indent=1, gz=True):
-201 """Export a list of Obs or structures containing Obs to a .json(.gz) file
+201 """Export a list of Obs or structures containing Obs to a .json(.gz) file
202
203 Parameters
204 ----------
@@ -328,7 +328,7 @@
235
236
237def _parse_json_dict(json_dict, verbose=True, full_output=False):
-238 """Reconstruct a list of Obs or structures containing Obs from a dict that
+238 """Reconstruct a list of Obs or structures containing Obs from a dict that
239 was built out of a json string.
240
241 The following structures are supported: Obs, list, numpy.ndarray, Corr
@@ -534,7 +534,7 @@
441
442
443def import_json_string(json_string, verbose=True, full_output=False):
-444 """Reconstruct a list of Obs or structures containing Obs from a json string.
+444 """Reconstruct a list of Obs or structures containing Obs from a json string.
445
446 The following structures are supported: Obs, list, numpy.ndarray, Corr
447 If the list contains only one element, it is unpacked from the list.
@@ -554,7 +554,7 @@
461
462
463def load_json(fname, verbose=True, gz=True, full_output=False):
-464 """Import a list of Obs or structures containing Obs from a .json(.gz) file.
+464 """Import a list of Obs or structures containing Obs from a .json(.gz) file.
465
466 The following structures are supported: Obs, list, numpy.ndarray, Corr
467 If the list contains only one element, it is unpacked from the list.
@@ -588,7 +588,7 @@
495
496
497def _ol_from_dict(ind, reps='DICTOBS'):
-498 """Convert a dictionary of Obs objects to a list and a dictionary that contains
+498 """Convert a dictionary of Obs objects to a list and a dictionary that contains
499 placeholders instead of the Obs objects.
500
501 Parameters
@@ -668,7 +668,7 @@
575
576
577def dump_dict_to_json(od, fname, description='', indent=1, reps='DICTOBS', gz=True):
-578 """Export a dict of Obs or structures containing Obs to a .json(.gz) file
+578 """Export a dict of Obs or structures containing Obs to a .json(.gz) file
579
580 Parameters
581 ----------
@@ -704,7 +704,7 @@
611
612
613def _od_from_list_and_dict(ol, ind, reps='DICTOBS'):
-614 """Parse a list of Obs or structures containing Obs and an accompanying
+614 """Parse a list of Obs or structures containing Obs and an accompanying
615 dict, where the structures have been replaced by placeholders to a
616 dict that contains the structures.
617
@@ -767,7 +767,7 @@
674
675
676def load_json_dict(fname, verbose=True, gz=True, full_output=False, reps='DICTOBS'):
-677 """Import a dict of Obs or structures containing Obs from a .json(.gz) file.
+677 """Import a dict of Obs or structures containing Obs from a .json(.gz) file.
678
679 The following structures are supported: Obs, list, numpy.ndarray, Corr
680
@@ -813,7 +813,7 @@
18def create_json_string(ol, description='', indent=1):
- 19 """Generate the string for the export of a list of Obs or structures containing Obs
+ 19 """Generate the string for the export of a list of Obs or structures containing Obs
20 to a .json(.gz) file
21
22 Parameters
@@ -1028,7 +1028,7 @@ saves disk space.
201def dump_to_json(ol, fname, description='', indent=1, gz=True):
-202 """Export a list of Obs or structures containing Obs to a .json(.gz) file
+202 """Export a list of Obs or structures containing Obs to a .json(.gz) file
203
204 Parameters
205 ----------
@@ -1100,7 +1100,7 @@ If True, the output is a gzipped json. If False, the output is a json file.
444def import_json_string(json_string, verbose=True, full_output=False):
-445 """Reconstruct a list of Obs or structures containing Obs from a json string.
+445 """Reconstruct a list of Obs or structures containing Obs from a json string.
446
447 The following structures are supported: Obs, list, numpy.ndarray, Corr
448 If the list contains only one element, it is unpacked from the list.
@@ -1152,7 +1152,7 @@ If False, only the data is returned.
464def load_json(fname, verbose=True, gz=True, full_output=False):
-465 """Import a list of Obs or structures containing Obs from a .json(.gz) file.
+465 """Import a list of Obs or structures containing Obs from a .json(.gz) file.
466
467 The following structures are supported: Obs, list, numpy.ndarray, Corr
468 If the list contains only one element, it is unpacked from the list.
@@ -1220,7 +1220,7 @@ If False, only the data is returned.
578def dump_dict_to_json(od, fname, description='', indent=1, reps='DICTOBS', gz=True):
-579 """Export a dict of Obs or structures containing Obs to a .json(.gz) file
+579 """Export a dict of Obs or structures containing Obs to a .json(.gz) file
580
581 Parameters
582 ----------
@@ -1293,7 +1293,7 @@ If True, the output is a gzipped json. If False, the output is a json file.
677def load_json_dict(fname, verbose=True, gz=True, full_output=False, reps='DICTOBS'):
-678 """Import a dict of Obs or structures containing Obs from a .json(.gz) file.
+678 """Import a dict of Obs or structures containing Obs from a .json(.gz) file.
679
680 The following structures are supported: Obs, list, numpy.ndarray, Corr
681
diff --git a/docs/pyerrors/input/misc.html b/docs/pyerrors/input/misc.html
index bc500424..3c057acb 100644
--- a/docs/pyerrors/input/misc.html
+++ b/docs/pyerrors/input/misc.html
@@ -85,7 +85,7 @@
7
8
9def read_pbp(path, prefix, **kwargs):
- 10 """Read pbp format from given folder structure. Returns a list of length nrw
+ 10 """Read pbp format from given folder structure. Returns a list of length nrw
11
12 Parameters
13 ----------
@@ -214,7 +214,7 @@
10def read_pbp(path, prefix, **kwargs):
- 11 """Read pbp format from given folder structure. Returns a list of length nrw
+ 11 """Read pbp format from given folder structure. Returns a list of length nrw
12
13 Parameters
14 ----------
diff --git a/docs/pyerrors/input/openQCD.html b/docs/pyerrors/input/openQCD.html
index f42217d3..47527df7 100644
--- a/docs/pyerrors/input/openQCD.html
+++ b/docs/pyerrors/input/openQCD.html
@@ -109,7 +109,7 @@
13
14
15def read_rwms(path, prefix, version='2.0', names=None, **kwargs):
- 16 """Read rwms format from given folder structure. Returns a list of length nrw
+ 16 """Read rwms format from given folder structure. Returns a list of length nrw
17
18 Parameters
19 ----------
@@ -328,7 +328,7 @@
232
233
234def extract_t0(path, prefix, dtr_read, xmin, spatial_extent, fit_range=5, **kwargs):
- 235 """Extract t0 from given .ms.dat files. Returns t0 as Obs.
+ 235 """Extract t0 from given .ms.dat files. Returns t0 as Obs.
236
237 It is assumed that all boundary effects have
238 sufficiently decayed at x0=xmin.
@@ -619,7 +619,7 @@
523
524
525def read_qtop(path, prefix, c, dtr_cnfg=1, version="openQCD", **kwargs):
- 526 """Read the topologial charge based on openQCD gradient flow measurements.
+ 526 """Read the topologial charge based on openQCD gradient flow measurements.
527
528 Parameters
529 ----------
@@ -667,7 +667,7 @@
571
572
573def read_gf_coupling(path, prefix, c, dtr_cnfg=1, Zeuthen_flow=True, **kwargs):
- 574 """Read the gradient flow coupling based on sfqcd gradient flow measurements. See 1607.06423 for details.
+ 574 """Read the gradient flow coupling based on sfqcd gradient flow measurements. See 1607.06423 for details.
575
576 Note: The current implementation only works for c=0.3 and T=L. The definition of the coupling in 1607.06423 requires projection to topological charge zero which is not done within this function but has to be performed in a separate step.
577
@@ -739,7 +739,7 @@
643
644
645def _read_flow_obs(path, prefix, c, dtr_cnfg=1, version="openQCD", obspos=0, sum_t=True, **kwargs):
- 646 """Read a flow observable based on openQCD gradient flow measurements.
+ 646 """Read a flow observable based on openQCD gradient flow measurements.
647
648 Parameters
649 ----------
@@ -1011,7 +1011,7 @@
915
916
917def qtop_projection(qtop, target=0):
- 918 """Returns the projection to the topological charge sector defined by target.
+ 918 """Returns the projection to the topological charge sector defined by target.
919
920 Parameters
921 ----------
@@ -1025,7 +1025,7 @@
929
930 proj_qtop = []
931 for n in qtop.deltas:
- 932 proj_qtop.append(np.array([1 if round(qtop.value + q) == target else 0 for q in qtop.deltas[n]]))
+ 932 proj_qtop.append(np.array([1 if round(qtop.r_values[n] + q) == target else 0 for q in qtop.deltas[n]]))
933
934 reto = Obs(proj_qtop, qtop.names, idl=[qtop.idl[name] for name in qtop.names])
935 reto.is_merged = qtop.is_merged
@@ -1033,7 +1033,7 @@
937
938
939def read_qtop_sector(path, prefix, c, target=0, **kwargs):
- 940 """Constructs reweighting factors to a specified topological sector.
+ 940 """Constructs reweighting factors to a specified topological sector.
941
942 Parameters
943 ----------
@@ -1086,7 +1086,7 @@
990
991
992def read_ms5_xsf(path, prefix, qc, corr, sep="r", **kwargs):
- 993 """
+ 993 """
994 Read data from files in the specified directory with the specified prefix and quark combination extension, and return a `Corr` object containing the data.
995
996 Parameters
@@ -1243,7 +1243,7 @@
16def read_rwms(path, prefix, version='2.0', names=None, **kwargs):
- 17 """Read rwms format from given folder structure. Returns a list of length nrw
+ 17 """Read rwms format from given folder structure. Returns a list of length nrw
18
19 Parameters
20 ----------
@@ -1509,7 +1509,7 @@ Print additional information that is useful for debugging.
526def read_qtop(path, prefix, c, dtr_cnfg=1, version="openQCD", **kwargs):
-527 """Read the topologial charge based on openQCD gradient flow measurements.
+527 """Read the topologial charge based on openQCD gradient flow measurements.
528
529 Parameters
530 ----------
@@ -1934,7 +1934,7 @@ If True, the charge is rounded towards the nearest integer on each config.
574def read_gf_coupling(path, prefix, c, dtr_cnfg=1, Zeuthen_flow=True, **kwargs):
-575 """Read the gradient flow coupling based on sfqcd gradient flow measurements. See 1607.06423 for details.
+575 """Read the gradient flow coupling based on sfqcd gradient flow measurements. See 1607.06423 for details.
576
577 Note: The current implementation only works for c=0.3 and T=L. The definition of the coupling in 1607.06423 requires projection to topological charge zero which is not done within this function but has to be performed in a separate step.
578
@@ -2059,7 +2059,7 @@ postfix of the file to read, e.g. '.gfms.dat' for openQCD-files
918def qtop_projection(qtop, target=0):
-919 """Returns the projection to the topological charge sector defined by target.
+919 """Returns the projection to the topological charge sector defined by target.
920
921 Parameters
922 ----------
@@ -2073,7 +2073,7 @@ postfix of the file to read, e.g. '.gfms.dat' for openQCD-files
930
931 proj_qtop = []
932 for n in qtop.deltas:
-933 proj_qtop.append(np.array([1 if round(qtop.value + q) == target else 0 for q in qtop.deltas[n]]))
+933 proj_qtop.append(np.array([1 if round(qtop.r_values[n] + q) == target else 0 for q in qtop.deltas[n]]))
934
935 reto = Obs(proj_qtop, qtop.names, idl=[qtop.idl[name] for name in qtop.names])
936 reto.is_merged = qtop.is_merged
@@ -2107,7 +2107,7 @@ Specifies the topological sector to be reweighted to (default 0)
940def read_qtop_sector(path, prefix, c, target=0, **kwargs):
-941 """Constructs reweighting factors to a specified topological sector.
+941 """Constructs reweighting factors to a specified topological sector.
942
943 Parameters
944 ----------
@@ -2219,7 +2219,7 @@ for version=='sfqcd' If False, the Wilson flow is used.
993def read_ms5_xsf(path, prefix, qc, corr, sep="r", **kwargs):
- 994 """
+ 994 """
995 Read data from files in the specified directory with the specified prefix and quark combination extension, and return a `Corr` object containing the data.
996
997 Parameters
diff --git a/docs/pyerrors/input/pandas.html b/docs/pyerrors/input/pandas.html
index 84c5396c..201598ba 100644
--- a/docs/pyerrors/input/pandas.html
+++ b/docs/pyerrors/input/pandas.html
@@ -95,7 +95,7 @@
8
9
10def to_sql(df, table_name, db, if_exists='fail', gz=True, **kwargs):
- 11 """Write DataFrame including Obs or Corr valued columns to sqlite database.
+ 11 """Write DataFrame including Obs or Corr valued columns to sqlite database.
12
13 Parameters
14 ----------
@@ -117,7 +117,7 @@
30
31
32def read_sql(sql, db, auto_gamma=False, **kwargs):
- 33 """Execute SQL query on sqlite database and obtain DataFrame including Obs or Corr valued columns.
+ 33 """Execute SQL query on sqlite database and obtain DataFrame including Obs or Corr valued columns.
34
35 Parameters
36 ----------
@@ -136,7 +136,7 @@
49
50
51def dump_df(df, fname, gz=True):
- 52 """Exports a pandas DataFrame containing Obs valued columns to a (gzipped) csv file.
+ 52 """Exports a pandas DataFrame containing Obs valued columns to a (gzipped) csv file.
53
54 Before making use of pandas to_csv functionality Obs objects are serialized via the standardized
55 json format of pyerrors.
@@ -164,7 +164,7 @@
77
78
79def load_df(fname, auto_gamma=False, gz=True):
- 80 """Imports a pandas DataFrame from a csv.(gz) file in which Obs objects are serialized as json strings.
+ 80 """Imports a pandas DataFrame from a csv.(gz) file in which Obs objects are serialized as json strings.
81
82 Parameters
83 ----------
@@ -193,7 +193,7 @@
106
107
108def _serialize_df(df, gz=False):
-109 """Serializes all Obs or Corr valued columns into json strings according to the pyerrors json specification.
+109 """Serializes all Obs or Corr valued columns into json strings according to the pyerrors json specification.
110
111 Parameters
112 ----------
@@ -212,7 +212,7 @@
125
126
127def _deserialize_df(df, auto_gamma=False):
-128 """Deserializes all pyerrors json strings into Obs or Corr objects according to the pyerrors json specification.
+128 """Deserializes all pyerrors json strings into Obs or Corr objects according to the pyerrors json specification.
129
130 Parameters
131 ----------
@@ -252,7 +252,7 @@
11def to_sql(df, table_name, db, if_exists='fail', gz=True, **kwargs):
-12 """Write DataFrame including Obs or Corr valued columns to sqlite database.
+12 """Write DataFrame including Obs or Corr valued columns to sqlite database.
13
14 Parameters
15 ----------
@@ -306,7 +306,7 @@ If True the json strings are gzipped.
33def read_sql(sql, db, auto_gamma=False, **kwargs):
-34 """Execute SQL query on sqlite database and obtain DataFrame including Obs or Corr valued columns.
+34 """Execute SQL query on sqlite database and obtain DataFrame including Obs or Corr valued columns.
35
36 Parameters
37 ----------
@@ -354,7 +354,7 @@ the error analysis. Default False.
52def dump_df(df, fname, gz=True):
-53 """Exports a pandas DataFrame containing Obs valued columns to a (gzipped) csv file.
+53 """Exports a pandas DataFrame containing Obs valued columns to a (gzipped) csv file.
54
55 Before making use of pandas to_csv functionality Obs objects are serialized via the standardized
56 json format of pyerrors.
@@ -413,7 +413,7 @@ If True, the output is a gzipped csv file. If False, the output is a csv file.
80def load_df(fname, auto_gamma=False, gz=True):
- 81 """Imports a pandas DataFrame from a csv.(gz) file in which Obs objects are serialized as json strings.
+ 81 """Imports a pandas DataFrame from a csv.(gz) file in which Obs objects are serialized as json strings.
82
83 Parameters
84 ----------
diff --git a/docs/pyerrors/input/sfcf.html b/docs/pyerrors/input/sfcf.html
index 78ecdf8f..cd146b49 100644
--- a/docs/pyerrors/input/sfcf.html
+++ b/docs/pyerrors/input/sfcf.html
@@ -85,7 +85,7 @@
7
8
9def read_sfcf(path, prefix, name, quarks='.*', corr_type='bi', noffset=0, wf=0, wf2=0, version="1.0c", cfg_separator="n", **kwargs):
- 10 """Read sfcf c format from given folder structure.
+ 10 """Read sfcf c format from given folder structure.
11
12 Parameters
13 ----------
@@ -457,7 +457,7 @@
10def read_sfcf(path, prefix, name, quarks='.*', corr_type='bi', noffset=0, wf=0, wf2=0, version="1.0c", cfg_separator="n", **kwargs):
- 11 """Read sfcf c format from given folder structure.
+ 11 """Read sfcf c format from given folder structure.
12
13 Parameters
14 ----------
diff --git a/docs/pyerrors/input/utils.html b/docs/pyerrors/input/utils.html
index b01c4d88..5433490d 100644
--- a/docs/pyerrors/input/utils.html
+++ b/docs/pyerrors/input/utils.html
@@ -82,7 +82,7 @@
2
3
4def check_idl(idl, che):
- 5 """Checks if list of configurations is contained in an idl
+ 5 """Checks if list of configurations is contained in an idl
6
7 Parameters
8 ----------
@@ -118,7 +118,7 @@
5def check_idl(idl, che):
- 6 """Checks if list of configurations is contained in an idl
+ 6 """Checks if list of configurations is contained in an idl
7
8 Parameters
9 ----------
diff --git a/docs/pyerrors/linalg.html b/docs/pyerrors/linalg.html
index 8227570a..197975db 100644
--- a/docs/pyerrors/linalg.html
+++ b/docs/pyerrors/linalg.html
@@ -109,7 +109,7 @@
4
5
6def matmul(*operands):
- 7 """Matrix multiply all operands.
+ 7 """Matrix multiply all operands.
8
9 Parameters
10 ----------
@@ -165,7 +165,7 @@
60
61
62def jack_matmul(*operands):
- 63 """Matrix multiply both operands making use of the jackknife approximation.
+ 63 """Matrix multiply both operands making use of the jackknife approximation.
64
65 Parameters
66 ----------
@@ -226,7 +226,7 @@
121
122
123def einsum(subscripts, *operands):
-124 """Wrapper for numpy.einsum
+124 """Wrapper for numpy.einsum
125
126 Parameters
127 ----------
@@ -300,24 +300,24 @@
195
196
197def inv(x):
-198 """Inverse of Obs or CObs valued matrices."""
+198 """Inverse of Obs or CObs valued matrices."""
199 return _mat_mat_op(anp.linalg.inv, x)
200
201
202def cholesky(x):
-203 """Cholesky decomposition of Obs valued matrices."""
+203 """Cholesky decomposition of Obs valued matrices."""
204 if any(isinstance(o, CObs) for o in x.ravel()):
205 raise Exception("Cholesky decomposition is not implemented for CObs.")
206 return _mat_mat_op(anp.linalg.cholesky, x)
207
208
209def det(x):
-210 """Determinant of Obs valued matrices."""
+210 """Determinant of Obs valued matrices."""
211 return _scalar_mat_op(anp.linalg.det, x)
212
213
214def _scalar_mat_op(op, obs, **kwargs):
-215 """Computes the matrix to scalar operation op to a given matrix of Obs."""
+215 """Computes the matrix to scalar operation op to a given matrix of Obs."""
216 def _mat(x, **kwargs):
217 dim = int(np.sqrt(len(x)))
218
@@ -338,7 +338,7 @@
233
234
235def _mat_mat_op(op, obs, **kwargs):
-236 """Computes the matrix to matrix operation op to a given matrix of Obs."""
+236 """Computes the matrix to matrix operation op to a given matrix of Obs."""
237 # Use real representation to calculate matrix operations for complex matrices
238 if any(isinstance(o, CObs) for o in obs.ravel()):
239 A = np.empty_like(obs)
@@ -364,25 +364,25 @@
259
260
261def eigh(obs, **kwargs):
-262 """Computes the eigenvalues and eigenvectors of a given hermitian matrix of Obs according to np.linalg.eigh."""
+262 """Computes the eigenvalues and eigenvectors of a given hermitian matrix of Obs according to np.linalg.eigh."""
263 w = derived_observable(lambda x, **kwargs: anp.linalg.eigh(x)[0], obs)
264 v = derived_observable(lambda x, **kwargs: anp.linalg.eigh(x)[1], obs)
265 return w, v
266
267
268def eig(obs, **kwargs):
-269 """Computes the eigenvalues of a given matrix of Obs according to np.linalg.eig."""
+269 """Computes the eigenvalues of a given matrix of Obs according to np.linalg.eig."""
270 w = derived_observable(lambda x, **kwargs: anp.real(anp.linalg.eig(x)[0]), obs)
271 return w
272
273
274def pinv(obs, **kwargs):
-275 """Computes the Moore-Penrose pseudoinverse of a matrix of Obs."""
+275 """Computes the Moore-Penrose pseudoinverse of a matrix of Obs."""
276 return derived_observable(lambda x, **kwargs: anp.linalg.pinv(x), obs)
277
278
279def svd(obs, **kwargs):
-280 """Computes the singular value decomposition of a matrix of Obs."""
+280 """Computes the singular value decomposition of a matrix of Obs."""
281 u = derived_observable(lambda x, **kwargs: anp.linalg.svd(x, full_matrices=False)[0], obs)
282 s = derived_observable(lambda x, **kwargs: anp.linalg.svd(x, full_matrices=False)[1], obs)
283 vh = derived_observable(lambda x, **kwargs: anp.linalg.svd(x, full_matrices=False)[2], obs)
@@ -403,7 +403,7 @@
7def matmul(*operands):
- 8 """Matrix multiply all operands.
+ 8 """Matrix multiply all operands.
9
10 Parameters
11 ----------
@@ -485,7 +485,7 @@ Obs valued.
63def jack_matmul(*operands):
- 64 """Matrix multiply both operands making use of the jackknife approximation.
+ 64 """Matrix multiply both operands making use of the jackknife approximation.
65
66 Parameters
67 ----------
@@ -572,7 +572,7 @@ Obs valued.
124def einsum(subscripts, *operands):
-125 """Wrapper for numpy.einsum
+125 """Wrapper for numpy.einsum
126
127 Parameters
128 ----------
@@ -673,7 +673,7 @@ Obs valued.
198def inv(x):
-199 """Inverse of Obs or CObs valued matrices."""
+199 """Inverse of Obs or CObs valued matrices."""
200 return _mat_mat_op(anp.linalg.inv, x)
@@ -695,7 +695,7 @@ Obs valued.
203def cholesky(x):
-204 """Cholesky decomposition of Obs valued matrices."""
+204 """Cholesky decomposition of Obs valued matrices."""
205 if any(isinstance(o, CObs) for o in x.ravel()):
206 raise Exception("Cholesky decomposition is not implemented for CObs.")
207 return _mat_mat_op(anp.linalg.cholesky, x)
@@ -719,7 +719,7 @@ Obs valued.
210def det(x):
-211 """Determinant of Obs valued matrices."""
+211 """Determinant of Obs valued matrices."""
212 return _scalar_mat_op(anp.linalg.det, x)
@@ -741,7 +741,7 @@ Obs valued.
262def eigh(obs, **kwargs):
-263 """Computes the eigenvalues and eigenvectors of a given hermitian matrix of Obs according to np.linalg.eigh."""
+263 """Computes the eigenvalues and eigenvectors of a given hermitian matrix of Obs according to np.linalg.eigh."""
264 w = derived_observable(lambda x, **kwargs: anp.linalg.eigh(x)[0], obs)
265 v = derived_observable(lambda x, **kwargs: anp.linalg.eigh(x)[1], obs)
266 return w, v
@@ -765,7 +765,7 @@ Obs valued.
269def eig(obs, **kwargs):
-270 """Computes the eigenvalues of a given matrix of Obs according to np.linalg.eig."""
+270 """Computes the eigenvalues of a given matrix of Obs according to np.linalg.eig."""
271 w = derived_observable(lambda x, **kwargs: anp.real(anp.linalg.eig(x)[0]), obs)
272 return w
@@ -788,7 +788,7 @@ Obs valued.
275def pinv(obs, **kwargs):
-276 """Computes the Moore-Penrose pseudoinverse of a matrix of Obs."""
+276 """Computes the Moore-Penrose pseudoinverse of a matrix of Obs."""
277 return derived_observable(lambda x, **kwargs: anp.linalg.pinv(x), obs)
@@ -810,7 +810,7 @@ Obs valued.
280def svd(obs, **kwargs):
-281 """Computes the singular value decomposition of a matrix of Obs."""
+281 """Computes the singular value decomposition of a matrix of Obs."""
282 u = derived_observable(lambda x, **kwargs: anp.linalg.svd(x, full_matrices=False)[0], obs)
283 s = derived_observable(lambda x, **kwargs: anp.linalg.svd(x, full_matrices=False)[1], obs)
284 vh = derived_observable(lambda x, **kwargs: anp.linalg.svd(x, full_matrices=False)[2], obs)
diff --git a/docs/pyerrors/misc.html b/docs/pyerrors/misc.html
index de71352e..9795eb3a 100644
--- a/docs/pyerrors/misc.html
+++ b/docs/pyerrors/misc.html
@@ -91,7 +91,7 @@
4
5
6def dump_object(obj, name, **kwargs):
- 7 """Dump object into pickle file.
+ 7 """Dump object into pickle file.
8
9 Parameters
10 ----------
@@ -111,7 +111,7 @@
24
25
26def load_object(path):
- 27 """Load object from pickle file.
+ 27 """Load object from pickle file.
28
29 Parameters
30 ----------
@@ -123,7 +123,7 @@
36
37
38def pseudo_Obs(value, dvalue, name, samples=1000):
- 39 """Generate an Obs object with given value, dvalue and name for test purposes
+ 39 """Generate an Obs object with given value, dvalue and name for test purposes
40
41 Parameters
42 ----------
@@ -155,7 +155,7 @@
68
69
70def gen_correlated_data(means, cov, name, tau=0.5, samples=1000):
- 71 """ Generate observables with given covariance and autocorrelation times.
+ 71 """ Generate observables with given covariance and autocorrelation times.
72
73 Parameters
74 ----------
@@ -216,7 +216,7 @@
7def dump_object(obj, name, **kwargs):
- 8 """Dump object into pickle file.
+ 8 """Dump object into pickle file.
9
10 Parameters
11 ----------
@@ -264,7 +264,7 @@ specifies a custom path for the file (default '.')
27def load_object(path):
-28 """Load object from pickle file.
+28 """Load object from pickle file.
29
30 Parameters
31 ----------
@@ -300,7 +300,7 @@ path to the file
39def pseudo_Obs(value, dvalue, name, samples=1000):
-40 """Generate an Obs object with given value, dvalue and name for test purposes
+40 """Generate an Obs object with given value, dvalue and name for test purposes
41
42 Parameters
43 ----------
@@ -362,7 +362,7 @@ number of samples for the Obs (default 1000).
71def gen_correlated_data(means, cov, name, tau=0.5, samples=1000):
- 72 """ Generate observables with given covariance and autocorrelation times.
+ 72 """ Generate observables with given covariance and autocorrelation times.
73
74 Parameters
75 ----------
diff --git a/docs/pyerrors/mpm.html b/docs/pyerrors/mpm.html
index 10afb66b..198fe7e9 100644
--- a/docs/pyerrors/mpm.html
+++ b/docs/pyerrors/mpm.html
@@ -83,7 +83,7 @@
5
6
7def matrix_pencil_method(corrs, k=1, p=None, **kwargs):
- 8 """Matrix pencil method to extract k energy levels from data
+ 8 """Matrix pencil method to extract k energy levels from data
9
10 Implementation of the matrix pencil method based on
11 eq. (2.17) of Y. Hua, T. K. Sarkar, IEEE Trans. Acoust. 38, 814-824 (1990)
@@ -150,7 +150,7 @@
8def matrix_pencil_method(corrs, k=1, p=None, **kwargs):
- 9 """Matrix pencil method to extract k energy levels from data
+ 9 """Matrix pencil method to extract k energy levels from data
10
11 Implementation of the matrix pencil method based on
12 eq. (2.17) of Y. Hua, T. K. Sarkar, IEEE Trans. Acoust. 38, 814-824 (1990)
diff --git a/docs/pyerrors/obs.html b/docs/pyerrors/obs.html
index e526141d..eeba5e51 100644
--- a/docs/pyerrors/obs.html
+++ b/docs/pyerrors/obs.html
@@ -221,7 +221,7 @@
17
18
19class Obs:
- 20 """Class for a general observable.
+ 20 """Class for a general observable.
21
22 Instances of Obs are the basic objects of a pyerrors error analysis.
23 They are initialized with a list which contains arrays of samples for
@@ -264,7 +264,7 @@
60 filter_eps = 1e-10
61
62 def __init__(self, samples, names, idl=None, **kwargs):
- 63 """ Initialize Obs object.
+ 63 """ Initialize Obs object.
64
65 Parameters
66 ----------
@@ -379,7 +379,7 @@
175 return self._covobs
176
177 def gamma_method(self, **kwargs):
- 178 """Estimate the error and related properties of the Obs.
+ 178 """Estimate the error and related properties of the Obs.
179
180 Parameters
181 ----------
@@ -554,7 +554,7 @@
350 return
351
352 def _calc_gamma(self, deltas, idx, shape, w_max, fft):
- 353 """Calculate Gamma_{AA} from the deltas, which are defined on idx.
+ 353 """Calculate Gamma_{AA} from the deltas, which are defined on idx.
354 idx is assumed to be a contiguous range (possibly with a stepsize != 1)
355
356 Parameters
@@ -587,7 +587,7 @@
383 return gamma
384
385 def details(self, ens_content=True):
- 386 """Output detailed properties of the Obs.
+ 386 """Output detailed properties of the Obs.
387
388 Parameters
389 ----------
@@ -659,7 +659,7 @@
455 print('\n'.join(my_string_list))
456
457 def reweight(self, weight):
- 458 """Reweight the obs with given rewighting factors.
+ 458 """Reweight the obs with given rewighting factors.
459
460 Parameters
461 ----------
@@ -674,7 +674,7 @@
470 return reweight(weight, [self])[0]
471
472 def is_zero_within_error(self, sigma=1):
- 473 """Checks whether the observable is zero within 'sigma' standard errors.
+ 473 """Checks whether the observable is zero within 'sigma' standard errors.
474
475 Parameters
476 ----------
@@ -686,7 +686,7 @@
482 return self.is_zero() or np.abs(self.value) <= sigma * self._dvalue
483
484 def is_zero(self, atol=1e-10):
- 485 """Checks whether the observable is zero within a given tolerance.
+ 485 """Checks whether the observable is zero within a given tolerance.
486
487 Parameters
488 ----------
@@ -696,7 +696,7 @@
492 return np.isclose(0.0, self.value, 1e-14, atol) and all(np.allclose(0.0, delta, 1e-14, atol) for delta in self.deltas.values()) and all(np.allclose(0.0, delta.errsq(), 1e-14, atol) for delta in self.covobs.values())
493
494 def plot_tauint(self, save=None):
- 495 """Plot integrated autocorrelation time for each ensemble.
+ 495 """Plot integrated autocorrelation time for each ensemble.
496
497 Parameters
498 ----------
@@ -736,7 +736,7 @@
532 fig.savefig(save + "_" + str(e))
533
534 def plot_rho(self, save=None):
- 535 """Plot normalized autocorrelation function time for each ensemble.
+ 535 """Plot normalized autocorrelation function time for each ensemble.
536
537 Parameters
538 ----------
@@ -767,7 +767,7 @@
563 fig.savefig(save + "_" + str(e))
564
565 def plot_rep_dist(self):
- 566 """Plot replica distribution for each ensemble with more than one replicum."""
+ 566 """Plot replica distribution for each ensemble with more than one replicum."""
567 if not hasattr(self, 'e_dvalue'):
568 raise Exception('Run the gamma method first.')
569 for e, e_name in enumerate(self.mc_names):
@@ -789,7 +789,7 @@
585 plt.draw()
586
587 def plot_history(self, expand=True):
- 588 """Plot derived Monte Carlo history for each ensemble
+ 588 """Plot derived Monte Carlo history for each ensemble
589
590 Parameters
591 ----------
@@ -821,7 +821,7 @@
617 plt.draw()
618
619 def plot_piechart(self, save=None):
- 620 """Plot piechart which shows the fractional contribution of each
+ 620 """Plot piechart which shows the fractional contribution of each
621 ensemble to the error and returns a dictionary containing the fractions.
622
623 Parameters
@@ -845,7 +845,7 @@
641 return dict(zip(self.e_names, sizes))
642
643 def dump(self, filename, datatype="json.gz", description="", **kwargs):
- 644 """Dump the Obs to a file 'name' of chosen format.
+ 644 """Dump the Obs to a file 'name' of chosen format.
645
646 Parameters
647 ----------
@@ -874,7 +874,7 @@
670 raise Exception("Unknown datatype " + str(datatype))
671
672 def export_jackknife(self):
- 673 """Export jackknife samples from the Obs
+ 673 """Export jackknife samples from the Obs
674
675 Returns
676 -------
@@ -1072,7 +1072,7 @@
868
869
870class CObs:
- 871 """Class for a complex valued observable."""
+ 871 """Class for a complex valued observable."""
872 __slots__ = ['_real', '_imag', 'tag']
873
874 def __init__(self, real, imag=0.0):
@@ -1089,14 +1089,14 @@
885 return self._imag
886
887 def gamma_method(self, **kwargs):
- 888 """Executes the gamma_method for the real and the imaginary part."""
+ 888 """Executes the gamma_method for the real and the imaginary part."""
889 if isinstance(self.real, Obs):
890 self.real.gamma_method(**kwargs)
891 if isinstance(self.imag, Obs):
892 self.imag.gamma_method(**kwargs)
893
894 def is_zero(self):
- 895 """Checks whether both real and imaginary part are zero within machine precision."""
+ 895 """Checks whether both real and imaginary part are zero within machine precision."""
896 return self.real == 0.0 and self.imag == 0.0
897
898 def conjugate(self):
@@ -1183,7 +1183,7 @@
979
980
981def _format_uncertainty(value, dvalue):
- 982 """Creates a string of a value and its error in paranthesis notation, e.g., 13.02(45)"""
+ 982 """Creates a string of a value and its error in paranthesis notation, e.g., 13.02(45)"""
983 if dvalue == 0.0:
984 return str(value)
985 fexp = np.floor(np.log10(dvalue))
@@ -1196,7 +1196,7 @@
992
993
994def _expand_deltas(deltas, idx, shape):
- 995 """Expand deltas defined on idx to a regular, contiguous range, where holes are filled by 0.
+ 995 """Expand deltas defined on idx to a regular, contiguous range, where holes are filled by 0.
996 If idx is of type range, the deltas are not changed
997
998 Parameters
@@ -1218,7 +1218,7 @@
1014
1015
1016def _merge_idx(idl):
-1017 """Returns the union of all lists in idl as sorted list
+1017 """Returns the union of all lists in idl as sorted list
1018
1019 Parameters
1020 ----------
@@ -1245,7 +1245,7 @@
1041
1042
1043def _intersection_idx(idl):
-1044 """Returns the intersection of all lists in idl as sorted list
+1044 """Returns the intersection of all lists in idl as sorted list
1045
1046 Parameters
1047 ----------
@@ -1254,7 +1254,7 @@
1050 """
1051
1052 def _lcm(*args):
-1053 """Returns the lowest common multiple of args.
+1053 """Returns the lowest common multiple of args.
1054
1055 From python 3.9 onwards the math library contains an lcm function."""
1056 return reduce(lambda a, b: a * b // gcd(a, b), args)
@@ -1278,7 +1278,7 @@
1074
1075
1076def _expand_deltas_for_merge(deltas, idx, shape, new_idx):
-1077 """Expand deltas defined on idx to the list of configs that is defined by new_idx.
+1077 """Expand deltas defined on idx to the list of configs that is defined by new_idx.
1078 New, empty entries are filled by 0. If idx and new_idx are of type range, the smallest
1079 common divisor of the step sizes is used as new step size.
1080
@@ -1305,7 +1305,7 @@
1101
1102
1103def _filter_zeroes(deltas, idx, eps=Obs.filter_eps):
-1104 """Filter out all configurations with vanishing fluctuation such that they do not
+1104 """Filter out all configurations with vanishing fluctuation such that they do not
1105 contribute to the error estimate anymore. Returns the new deltas and
1106 idx according to the filtering.
1107 A fluctuation is considered to be vanishing, if it is smaller than eps times
@@ -1334,7 +1334,7 @@
1130
1131
1132def derived_observable(func, data, array_mode=False, **kwargs):
-1133 """Construct a derived Obs according to func(data, **kwargs) using automatic differentiation.
+1133 """Construct a derived Obs according to func(data, **kwargs) using automatic differentiation.
1134
1135 Parameters
1136 ----------
@@ -1514,7 +1514,7 @@
1310
1311
1312def _reduce_deltas(deltas, idx_old, idx_new):
-1313 """Extract deltas defined on idx_old on all configs of idx_new.
+1313 """Extract deltas defined on idx_old on all configs of idx_new.
1314
1315 Assumes, that idx_old and idx_new are correctly defined idl, i.e., they
1316 are ordered in an ascending order.
@@ -1548,7 +1548,7 @@
1344
1345
1346def reweight(weight, obs, **kwargs):
-1347 """Reweight a list of observables.
+1347 """Reweight a list of observables.
1348
1349 Parameters
1350 ----------
@@ -1591,7 +1591,7 @@
1387
1388
1389def correlate(obs_a, obs_b):
-1390 """Correlate two observables.
+1390 """Correlate two observables.
1391
1392 Parameters
1393 ----------
@@ -1608,7 +1608,7 @@
1404 """
1405
1406 if sorted(obs_a.names) != sorted(obs_b.names):
-1407 raise Exception(f"Ensembles do not fit {set(sorted(obs_a.names)) ^ set(sorted(obs_b.names))}")
+1407 raise Exception(f"Ensembles do not fit {set(sorted(obs_a.names)) ^ set(sorted(obs_b.names))}")
1408 if len(obs_a.cov_names) or len(obs_b.cov_names):
1409 raise Exception('Error: Not possible to correlate Obs that contain covobs!')
1410 for name in obs_a.names:
@@ -1635,7 +1635,7 @@
1431
1432
1433def covariance(obs, visualize=False, correlation=False, smooth=None, **kwargs):
-1434 r'''Calculates the error covariance matrix of a set of observables.
+1434 r'''Calculates the error covariance matrix of a set of observables.
1435
1436 WARNING: This function should be used with care, especially for observables with support on multiple
1437 ensembles with differing autocorrelations. See the notes below for details.
@@ -1705,7 +1705,7 @@
1501
1502
1503def _smooth_eigenvalues(corr, E):
-1504 """Eigenvalue smoothing as described in hep-lat/9412087
+1504 """Eigenvalue smoothing as described in hep-lat/9412087
1505
1506 corr : np.ndarray
1507 correlation matrix
@@ -1713,7 +1713,7 @@
1509 Number of eigenvalues to be left substantially unchanged
1510 """
1511 if not (2 < E < corr.shape[0] - 1):
-1512 raise Exception(f"'E' has to be between 2 and the dimension of the correlation matrix minus 1 ({corr.shape[0] - 1}).")
+1512 raise Exception(f"'E' has to be between 2 and the dimension of the correlation matrix minus 1 ({corr.shape[0] - 1}).")
1513 vals, vec = np.linalg.eigh(corr)
1514 lambda_min = np.mean(vals[:-E])
1515 vals[vals < lambda_min] = lambda_min
@@ -1722,7 +1722,7 @@
1518
1519
1520def _covariance_element(obs1, obs2):
-1521 """Estimates the covariance of two Obs objects, neglecting autocorrelations."""
+1521 """Estimates the covariance of two Obs objects, neglecting autocorrelations."""
1522
1523 def calc_gamma(deltas1, deltas2, idx1, idx2, new_idx):
1524 deltas1 = _reduce_deltas(deltas1, idx1, new_idx)
@@ -1782,7 +1782,7 @@
1578
1579
1580def import_jackknife(jacks, name, idl=None):
-1581 """Imports jackknife samples and returns an Obs
+1581 """Imports jackknife samples and returns an Obs
1582
1583 Parameters
1584 ----------
@@ -1802,7 +1802,7 @@
1598
1599
1600def merge_obs(list_of_obs):
-1601 """Combine all observables in list_of_obs into one new observable
+1601 """Combine all observables in list_of_obs into one new observable
1602
1603 Parameters
1604 ----------
@@ -1833,7 +1833,7 @@
1629
1630
1631def cov_Obs(means, cov, name, grad=None):
-1632 """Create an Obs based on mean(s) and a covariance matrix
+1632 """Create an Obs based on mean(s) and a covariance matrix
1633
1634 Parameters
1635 ----------
@@ -1848,7 +1848,7 @@
1644 """
1645
1646 def covobs_to_obs(co):
-1647 """Make an Obs out of a Covobs
+1647 """Make an Obs out of a Covobs
1648
1649 Parameters
1650 ----------
@@ -1889,7 +1889,7 @@
20class Obs:
- 21 """Class for a general observable.
+ 21 """Class for a general observable.
22
23 Instances of Obs are the basic objects of a pyerrors error analysis.
24 They are initialized with a list which contains arrays of samples for
@@ -1932,7 +1932,7 @@
61 filter_eps = 1e-10
62
63 def __init__(self, samples, names, idl=None, **kwargs):
- 64 """ Initialize Obs object.
+ 64 """ Initialize Obs object.
65
66 Parameters
67 ----------
@@ -2047,7 +2047,7 @@
176 return self._covobs
177
178 def gamma_method(self, **kwargs):
-179 """Estimate the error and related properties of the Obs.
+179 """Estimate the error and related properties of the Obs.
180
181 Parameters
182 ----------
@@ -2222,7 +2222,7 @@
351 return
352
353 def _calc_gamma(self, deltas, idx, shape, w_max, fft):
-354 """Calculate Gamma_{AA} from the deltas, which are defined on idx.
+354 """Calculate Gamma_{AA} from the deltas, which are defined on idx.
355 idx is assumed to be a contiguous range (possibly with a stepsize != 1)
356
357 Parameters
@@ -2255,7 +2255,7 @@
384 return gamma
385
386 def details(self, ens_content=True):
-387 """Output detailed properties of the Obs.
+387 """Output detailed properties of the Obs.
388
389 Parameters
390 ----------
@@ -2327,7 +2327,7 @@
456 print('\n'.join(my_string_list))
457
458 def reweight(self, weight):
-459 """Reweight the obs with given rewighting factors.
+459 """Reweight the obs with given rewighting factors.
460
461 Parameters
462 ----------
@@ -2342,7 +2342,7 @@
471 return reweight(weight, [self])[0]
472
473 def is_zero_within_error(self, sigma=1):
-474 """Checks whether the observable is zero within 'sigma' standard errors.
+474 """Checks whether the observable is zero within 'sigma' standard errors.
475
476 Parameters
477 ----------
@@ -2354,7 +2354,7 @@
483 return self.is_zero() or np.abs(self.value) <= sigma * self._dvalue
484
485 def is_zero(self, atol=1e-10):
-486 """Checks whether the observable is zero within a given tolerance.
+486 """Checks whether the observable is zero within a given tolerance.
487
488 Parameters
489 ----------
@@ -2364,7 +2364,7 @@
493 return np.isclose(0.0, self.value, 1e-14, atol) and all(np.allclose(0.0, delta, 1e-14, atol) for delta in self.deltas.values()) and all(np.allclose(0.0, delta.errsq(), 1e-14, atol) for delta in self.covobs.values())
494
495 def plot_tauint(self, save=None):
-496 """Plot integrated autocorrelation time for each ensemble.
+496 """Plot integrated autocorrelation time for each ensemble.
497
498 Parameters
499 ----------
@@ -2404,7 +2404,7 @@
533 fig.savefig(save + "_" + str(e))
534
535 def plot_rho(self, save=None):
-536 """Plot normalized autocorrelation function time for each ensemble.
+536 """Plot normalized autocorrelation function time for each ensemble.
537
538 Parameters
539 ----------
@@ -2435,7 +2435,7 @@
564 fig.savefig(save + "_" + str(e))
565
566 def plot_rep_dist(self):
-567 """Plot replica distribution for each ensemble with more than one replicum."""
+567 """Plot replica distribution for each ensemble with more than one replicum."""
568 if not hasattr(self, 'e_dvalue'):
569 raise Exception('Run the gamma method first.')
570 for e, e_name in enumerate(self.mc_names):
@@ -2457,7 +2457,7 @@
586 plt.draw()
587
588 def plot_history(self, expand=True):
-589 """Plot derived Monte Carlo history for each ensemble
+589 """Plot derived Monte Carlo history for each ensemble
590
591 Parameters
592 ----------
@@ -2489,7 +2489,7 @@
618 plt.draw()
619
620 def plot_piechart(self, save=None):
-621 """Plot piechart which shows the fractional contribution of each
+621 """Plot piechart which shows the fractional contribution of each
622 ensemble to the error and returns a dictionary containing the fractions.
623
624 Parameters
@@ -2513,7 +2513,7 @@
642 return dict(zip(self.e_names, sizes))
643
644 def dump(self, filename, datatype="json.gz", description="", **kwargs):
-645 """Dump the Obs to a file 'name' of chosen format.
+645 """Dump the Obs to a file 'name' of chosen format.
646
647 Parameters
648 ----------
@@ -2542,7 +2542,7 @@
671 raise Exception("Unknown datatype " + str(datatype))
672
673 def export_jackknife(self):
-674 """Export jackknife samples from the Obs
+674 """Export jackknife samples from the Obs
675
676 Returns
677 -------
@@ -2783,7 +2783,7 @@ this overwrites the standard value for that ensemble.
63 def __init__(self, samples, names, idl=None, **kwargs):
- 64 """ Initialize Obs object.
+ 64 """ Initialize Obs object.
65
66 Parameters
67 ----------
@@ -2894,7 +2894,7 @@ list of ranges or lists on which the samples are defined
178 def gamma_method(self, **kwargs):
-179 """Estimate the error and related properties of the Obs.
+179 """Estimate the error and related properties of the Obs.
180
181 Parameters
182 ----------
@@ -3106,7 +3106,7 @@ of the autocorrelation function (default True)
386 def details(self, ens_content=True):
-387 """Output detailed properties of the Obs.
+387 """Output detailed properties of the Obs.
388
389 Parameters
390 ----------
@@ -3203,7 +3203,7 @@ print details about the ensembles and replica if true.
458 def reweight(self, weight):
-459 """Reweight the obs with given rewighting factors.
+459 """Reweight the obs with given rewighting factors.
460
461 Parameters
462 ----------
@@ -3248,7 +3248,7 @@ on the configurations in obs[i].idl. Default False.
473 def is_zero_within_error(self, sigma=1):
-474 """Checks whether the observable is zero within 'sigma' standard errors.
+474 """Checks whether the observable is zero within 'sigma' standard errors.
475
476 Parameters
477 ----------
@@ -3286,7 +3286,7 @@ Number of standard errors used for the check.
485 def is_zero(self, atol=1e-10):
-486 """Checks whether the observable is zero within a given tolerance.
+486 """Checks whether the observable is zero within a given tolerance.
487
488 Parameters
489 ----------
@@ -3321,7 +3321,7 @@ Absolute tolerance (for details see numpy documentation).
495 def plot_tauint(self, save=None):
-496 """Plot integrated autocorrelation time for each ensemble.
+496 """Plot integrated autocorrelation time for each ensemble.
497
498 Parameters
499 ----------
@@ -3386,7 +3386,7 @@ saves the figure to a file named 'save' if.
535 def plot_rho(self, save=None):
-536 """Plot normalized autocorrelation function time for each ensemble.
+536 """Plot normalized autocorrelation function time for each ensemble.
537
538 Parameters
539 ----------
@@ -3442,7 +3442,7 @@ saves the figure to a file named 'save' if.
566 def plot_rep_dist(self):
-567 """Plot replica distribution for each ensemble with more than one replicum."""
+567 """Plot replica distribution for each ensemble with more than one replicum."""
568 if not hasattr(self, 'e_dvalue'):
569 raise Exception('Run the gamma method first.')
570 for e, e_name in enumerate(self.mc_names):
@@ -3482,7 +3482,7 @@ saves the figure to a file named 'save' if.
588 def plot_history(self, expand=True):
-589 """Plot derived Monte Carlo history for each ensemble
+589 """Plot derived Monte Carlo history for each ensemble
590
591 Parameters
592 ----------
@@ -3539,7 +3539,7 @@ show expanded history for irregular Monte Carlo chains (default: True).
620 def plot_piechart(self, save=None):
-621 """Plot piechart which shows the fractional contribution of each
+621 """Plot piechart which shows the fractional contribution of each
622 ensemble to the error and returns a dictionary containing the fractions.
623
624 Parameters
@@ -3589,7 +3589,7 @@ saves the figure to a file named 'save' if.
644 def dump(self, filename, datatype="json.gz", description="", **kwargs):
-645 """Dump the Obs to a file 'name' of chosen format.
+645 """Dump the Obs to a file 'name' of chosen format.
646
647 Parameters
648 ----------
@@ -3650,7 +3650,7 @@ specifies a custom path for the file (default '.')
673 def export_jackknife(self):
-674 """Export jackknife samples from the Obs
+674 """Export jackknife samples from the Obs
675
676 Returns
677 -------
@@ -3991,7 +3991,7 @@ should agree with samples from a full jackknife analysis up to O(1/N).
871class CObs:
-872 """Class for a complex valued observable."""
+872 """Class for a complex valued observable."""
873 __slots__ = ['_real', '_imag', 'tag']
874
875 def __init__(self, real, imag=0.0):
@@ -4008,14 +4008,14 @@ should agree with samples from a full jackknife analysis up to O(1/N).
886 return self._imag
887
888 def gamma_method(self, **kwargs):
-889 """Executes the gamma_method for the real and the imaginary part."""
+889 """Executes the gamma_method for the real and the imaginary part."""
890 if isinstance(self.real, Obs):
891 self.real.gamma_method(**kwargs)
892 if isinstance(self.imag, Obs):
893 self.imag.gamma_method(**kwargs)
894
895 def is_zero(self):
-896 """Checks whether both real and imaginary part are zero within machine precision."""
+896 """Checks whether both real and imaginary part are zero within machine precision."""
897 return self.real == 0.0 and self.imag == 0.0
898
899 def conjugate(self):
@@ -4138,7 +4138,7 @@ should agree with samples from a full jackknife analysis up to O(1/N).
888 def gamma_method(self, **kwargs):
-889 """Executes the gamma_method for the real and the imaginary part."""
+889 """Executes the gamma_method for the real and the imaginary part."""
890 if isinstance(self.real, Obs):
891 self.real.gamma_method(**kwargs)
892 if isinstance(self.imag, Obs):
@@ -4163,7 +4163,7 @@ should agree with samples from a full jackknife analysis up to O(1/N).
895 def is_zero(self):
-896 """Checks whether both real and imaginary part are zero within machine precision."""
+896 """Checks whether both real and imaginary part are zero within machine precision."""
897 return self.real == 0.0 and self.imag == 0.0
@@ -4205,7 +4205,7 @@ should agree with samples from a full jackknife analysis up to O(1/N).
1133def derived_observable(func, data, array_mode=False, **kwargs):
-1134 """Construct a derived Obs according to func(data, **kwargs) using automatic differentiation.
+1134 """Construct a derived Obs according to func(data, **kwargs) using automatic differentiation.
1135
1136 Parameters
1137 ----------
@@ -4429,7 +4429,7 @@ functions. For the ratio of two observables one can e.g. use
1347def reweight(weight, obs, **kwargs):
-1348 """Reweight a list of observables.
+1348 """Reweight a list of observables.
1349
1350 Parameters
1351 ----------
@@ -4503,7 +4503,7 @@ on the configurations in obs[i].idl. Default False.
1390def correlate(obs_a, obs_b):
-1391 """Correlate two observables.
+1391 """Correlate two observables.
1392
1393 Parameters
1394 ----------
@@ -4520,7 +4520,7 @@ on the configurations in obs[i].idl. Default False.
1405 """
1406
1407 if sorted(obs_a.names) != sorted(obs_b.names):
-1408 raise Exception(f"Ensembles do not fit {set(sorted(obs_a.names)) ^ set(sorted(obs_b.names))}")
+1408 raise Exception(f"Ensembles do not fit {set(sorted(obs_a.names)) ^ set(sorted(obs_b.names))}")
1409 if len(obs_a.cov_names) or len(obs_b.cov_names):
1410 raise Exception('Error: Not possible to correlate Obs that contain covobs!')
1411 for name in obs_a.names:
@@ -4579,7 +4579,7 @@ Currently only works if ensembles are identical (this is not strictly necessary)
1434def covariance(obs, visualize=False, correlation=False, smooth=None, **kwargs):
-1435 r'''Calculates the error covariance matrix of a set of observables.
+1435 r'''Calculates the error covariance matrix of a set of observables.
1436
1437 WARNING: This function should be used with care, especially for observables with support on multiple
1438 ensembles with differing autocorrelations. See the notes below for details.
@@ -4698,7 +4698,7 @@ This construction ensures that the estimated covariance matrix is positive semi-
1581def import_jackknife(jacks, name, idl=None):
-1582 """Imports jackknife samples and returns an Obs
+1582 """Imports jackknife samples and returns an Obs
1583
1584 Parameters
1585 ----------
@@ -4745,7 +4745,7 @@ name of the ensemble the samples are defined on.
1601def merge_obs(list_of_obs):
-1602 """Combine all observables in list_of_obs into one new observable
+1602 """Combine all observables in list_of_obs into one new observable
1603
1604 Parameters
1605 ----------
@@ -4804,7 +4804,7 @@ list of the Obs object to be combined
1632def cov_Obs(means, cov, name, grad=None):
-1633 """Create an Obs based on mean(s) and a covariance matrix
+1633 """Create an Obs based on mean(s) and a covariance matrix
1634
1635 Parameters
1636 ----------
@@ -4819,7 +4819,7 @@ list of the Obs object to be combined
1645 """
1646
1647 def covobs_to_obs(co):
-1648 """Make an Obs out of a Covobs
+1648 """Make an Obs out of a Covobs
1649
1650 Parameters
1651 ----------
diff --git a/docs/pyerrors/roots.html b/docs/pyerrors/roots.html
index dfad773c..d61fc364 100644
--- a/docs/pyerrors/roots.html
+++ b/docs/pyerrors/roots.html
@@ -83,7 +83,7 @@
5
6
7def find_root(d, func, guess=1.0, **kwargs):
- 8 r'''Finds the root of the function func(x, d) where d is an `Obs`.
+ 8 r'''Finds the root of the function func(x, d) where d is an `Obs`.
9
10 Parameters
11 -----------------
@@ -133,7 +133,7 @@
8def find_root(d, func, guess=1.0, **kwargs):
- 9 r'''Finds the root of the function func(x, d) where d is an `Obs`.
+ 9 r'''Finds the root of the function func(x, d) where d is an `Obs`.
10
11 Parameters
12 -----------------