mirror of
https://github.com/fjosw/pyerrors.git
synced 2025-05-14 19:43:41 +02:00
docstring and test added for Corr.reweight
This commit is contained in:
parent
3e60403a51
commit
b07f16fe1c
3 changed files with 27 additions and 5 deletions
|
@ -233,13 +233,28 @@ class Corr:
|
||||||
"""Reverse the time ordering of the Corr"""
|
"""Reverse the time ordering of the Corr"""
|
||||||
return Corr(self.content[::-1])
|
return Corr(self.content[::-1])
|
||||||
|
|
||||||
def reweight(self, weight):
|
def reweight(self, weight, **kwargs):
|
||||||
|
"""Reweight the correlator.
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
weight : Obs
|
||||||
|
Reweighting factor. An Observable that has to be defined on a superset of the
|
||||||
|
configurations in obs[i].idl for all i.
|
||||||
|
|
||||||
|
Keyword arguments
|
||||||
|
-----------------
|
||||||
|
all_configs : bool
|
||||||
|
if True, the reweighted observables are normalized by the average of
|
||||||
|
the reweighting factor on all configurations in weight.idl and not
|
||||||
|
on the configurations in obs[i].idl.
|
||||||
|
"""
|
||||||
new_content = []
|
new_content = []
|
||||||
for t_slice in self:
|
for t_slice in self:
|
||||||
if t_slice is None:
|
if t_slice is None:
|
||||||
new_content.append(None)
|
new_content.append(None)
|
||||||
else:
|
else:
|
||||||
new_content.append(np.array(reweight(weight, t_slice)))
|
new_content.append(np.array(reweight(weight, t_slice, **kwargs)))
|
||||||
return Corr(new_content)
|
return Corr(new_content)
|
||||||
|
|
||||||
def T_symmetry(self, partner, parity=+1):
|
def T_symmetry(self, partner, parity=+1):
|
||||||
|
|
|
@ -1105,7 +1105,8 @@ def reweight(weight, obs, **kwargs):
|
||||||
|
|
||||||
Keyword arguments
|
Keyword arguments
|
||||||
-----------------
|
-----------------
|
||||||
all_configs -- if True, the reweighted observables are normalized by the average of
|
all_configs : bool
|
||||||
|
if True, the reweighted observables are normalized by the average of
|
||||||
the reweighting factor on all configurations in weight.idl and not
|
the reweighting factor on all configurations in weight.idl and not
|
||||||
on the configurations in obs[i].idl.
|
on the configurations in obs[i].idl.
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -54,6 +54,12 @@ def test_m_eff():
|
||||||
my_corr.m_eff('cosh')
|
my_corr.m_eff('cosh')
|
||||||
my_corr.m_eff('sinh')
|
my_corr.m_eff('sinh')
|
||||||
|
|
||||||
|
def test_reweighting():
|
||||||
|
my_corr = pe.correlators.Corr([pe.pseudo_Obs(10, 0.1, 't'), pe.pseudo_Obs(0, 0.05, 't')])
|
||||||
|
assert my_corr.reweighted is False
|
||||||
|
r_my_corr = my_corr.reweight(pe.pseudo_Obs(1, 0.1, 't'))
|
||||||
|
assert r_my_corr.reweighted is True
|
||||||
|
|
||||||
def test_T_symmetry():
|
def test_T_symmetry():
|
||||||
my_corr = pe.correlators.Corr([pe.pseudo_Obs(10, 0.1, 't'), pe.pseudo_Obs(0, 0.05, 't')])
|
my_corr = pe.correlators.Corr([pe.pseudo_Obs(10, 0.1, 't'), pe.pseudo_Obs(0, 0.05, 't')])
|
||||||
with pytest.warns(RuntimeWarning):
|
with pytest.warns(RuntimeWarning):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue