mirror of
https://github.com/fjosw/pyerrors.git
synced 2025-05-14 19:43:41 +02:00
refactor: linalg.slogdet removed
This commit is contained in:
parent
a2a799b591
commit
207a60c085
1 changed files with 0 additions and 25 deletions
|
@ -300,31 +300,6 @@ def svd(obs, **kwargs):
|
||||||
return (u, s, vh)
|
return (u, s, vh)
|
||||||
|
|
||||||
|
|
||||||
def slogdet(obs, **kwargs):
|
|
||||||
"""Computes the determinant of a matrix of Obs via np.linalg.slogdet."""
|
|
||||||
def _mat(x):
|
|
||||||
dim = int(np.sqrt(len(x)))
|
|
||||||
if np.sqrt(len(x)) != dim:
|
|
||||||
raise Exception('Input has to have dim**2 entries')
|
|
||||||
|
|
||||||
mat = []
|
|
||||||
for i in range(dim):
|
|
||||||
row = []
|
|
||||||
for j in range(dim):
|
|
||||||
row.append(x[j + dim * i])
|
|
||||||
mat.append(row)
|
|
||||||
|
|
||||||
(sign, logdet) = anp.linalg.slogdet(np.array(mat))
|
|
||||||
return sign * anp.exp(logdet)
|
|
||||||
|
|
||||||
if isinstance(obs, np.ndarray):
|
|
||||||
return derived_observable(_mat, (1 * (obs.ravel())).tolist(), **kwargs)
|
|
||||||
elif isinstance(obs, list):
|
|
||||||
return derived_observable(_mat, obs, **kwargs)
|
|
||||||
else:
|
|
||||||
raise TypeError('Unproper type of input.')
|
|
||||||
|
|
||||||
|
|
||||||
# Variants for numerical differentiation
|
# Variants for numerical differentiation
|
||||||
|
|
||||||
def _num_diff_mat_mat_op(op, obs, **kwargs):
|
def _num_diff_mat_mat_op(op, obs, **kwargs):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue