def __call__(self, r1, phi1, r2, phi2): cd = cosh_d((r1, phi1), (r2, phi2)) if abs(cd - 1.0) < 1e-15: return np.array((0.0, 0.0, 0.0, 0.0)) grad_cd = grad_cosh_d((r1, phi1), (r2, phi2)) return grad_cd / np.sqrt(cd - 1) / np.sqrt(cd + 1)
def __call__(self, r1, phi1, r2, phi2): cd = cosh_d((r1, phi1), (r2, phi2)) if abs(cd - 1.) < 1e-15: return np.array((0., 0., 0., 0.)) grad_cd = grad_cosh_d((r1, phi1), (r2, phi2)) return grad_cd / np.sqrt(cd - 1) / np.sqrt(cd + 1)
def __call__(self, r1, phi1, r2, phi2): cd = cosh_d((r1, phi1), (r2, phi2)) return np.arccosh(cd) - self.R