mirror of
https://github.com/fjosw/pyerrors.git
synced 2025-05-14 11:33:42 +02:00
fix: exception for ts<=t0 generalized, tests added.
This commit is contained in:
parent
43118bb67d
commit
98ce553521
2 changed files with 27 additions and 2 deletions
|
@ -263,6 +263,9 @@ class Corr:
|
||||||
|
|
||||||
if self.N == 1:
|
if self.N == 1:
|
||||||
raise Exception("GEVP methods only works on correlator matrices and not single correlators.")
|
raise Exception("GEVP methods only works on correlator matrices and not single correlators.")
|
||||||
|
if ts is not None:
|
||||||
|
if (ts <= t0):
|
||||||
|
raise Exception("ts has to be larger than t0.")
|
||||||
|
|
||||||
if "sorted_list" in kwargs:
|
if "sorted_list" in kwargs:
|
||||||
warnings.warn("Argument 'sorted_list' is deprecated, use 'sort' instead.", DeprecationWarning)
|
warnings.warn("Argument 'sorted_list' is deprecated, use 'sort' instead.", DeprecationWarning)
|
||||||
|
@ -272,8 +275,6 @@ class Corr:
|
||||||
if sort is None:
|
if sort is None:
|
||||||
if (ts is None):
|
if (ts is None):
|
||||||
raise Exception("ts is required if sort=None.")
|
raise Exception("ts is required if sort=None.")
|
||||||
if (ts <= t0):
|
|
||||||
raise Exception("ts has to be larger than t0.")
|
|
||||||
if (self.content[t0] is None) or (self.content[ts] is None):
|
if (self.content[t0] is None) or (self.content[ts] is None):
|
||||||
raise Exception("Corr not defined at t0/ts.")
|
raise Exception("Corr not defined at t0/ts.")
|
||||||
G0, Gt = np.empty([self.N, self.N], dtype="double"), np.empty([self.N, self.N], dtype="double")
|
G0, Gt = np.empty([self.N, self.N], dtype="double"), np.empty([self.N, self.N], dtype="double")
|
||||||
|
|
|
@ -242,12 +242,36 @@ def test_matrix_corr():
|
||||||
|
|
||||||
corr_mat.matrix_symmetric()
|
corr_mat.matrix_symmetric()
|
||||||
|
|
||||||
|
|
||||||
|
def test_GEVP_warnings():
|
||||||
|
corr_aa = _gen_corr(1)
|
||||||
|
corr_ab = 0.5 * corr_aa
|
||||||
|
|
||||||
|
corr_mat = pe.Corr(np.array([[corr_aa, corr_ab], [corr_ab, corr_aa]]))
|
||||||
|
corr_mat.item(0, 0)
|
||||||
|
|
||||||
with pytest.warns(RuntimeWarning):
|
with pytest.warns(RuntimeWarning):
|
||||||
corr_mat.GEVP(0, 1, sort="Eigenvalue")
|
corr_mat.GEVP(0, 1, sort="Eigenvalue")
|
||||||
|
|
||||||
with pytest.warns(DeprecationWarning):
|
with pytest.warns(DeprecationWarning):
|
||||||
corr_mat.GEVP(0, sorted_list="Eigenvalue")
|
corr_mat.GEVP(0, sorted_list="Eigenvalue")
|
||||||
|
|
||||||
|
with pytest.warns(DeprecationWarning):
|
||||||
|
corr_mat.GEVP(0, state=0)
|
||||||
|
|
||||||
|
def test_GEVP_exceptions():
|
||||||
|
corr_aa = _gen_corr(1)
|
||||||
|
corr_ab = 0.5 * corr_aa
|
||||||
|
|
||||||
|
corr_mat = pe.Corr(np.array([[corr_aa, corr_ab], [corr_ab, corr_aa]]))
|
||||||
|
corr_mat.item(0, 0)
|
||||||
|
|
||||||
|
with pytest.raises(Exception):
|
||||||
|
corr_mat.GEVP(0, 0, sort=None)
|
||||||
|
|
||||||
|
with pytest.raises(Exception):
|
||||||
|
corr_mat.GEVP(1, 0, sort="Eigenvector")
|
||||||
|
|
||||||
with pytest.raises(Exception):
|
with pytest.raises(Exception):
|
||||||
corr_mat.GEVP(0, 1, sort="This sorting method does not exist.")
|
corr_mat.GEVP(0, 1, sort="This sorting method does not exist.")
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue