16 lines
364 B
Python
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
|