pyewjn/pynam/noise/im_ref.py

16 lines
364 B
Python

from typing import Callable
import numpy as np
import pynam.noise.zeta
def get_im_ref_p(eps: Callable[[float], complex]) -> Callable[[float], float]:
zeta_p = pynam.noise.zeta.get_zeta_p_function(eps)
def im_ref_p(u: float) -> float:
zeta_p_val = zeta_p(u)
return np.imag((np.pi * 1j * u - zeta_p_val) / (np.pi * 1j * u + zeta_p_val))
return im_ref_p