def _get_magnification_w_times(self, source_x, source_y, radius,
magnification_center=None):
"""Evaluates Gould (2008) eq. 8"""
shift = radius / sqrt(2.)
dx = [1., -1., -1., 1.]
dy = [1., 1., -1., -1.]
out = []
for (i, dxval) in enumerate(dx):
x = source_x + dxval * shift
y = source_y + dy[i] * shift
out.append(self.point_source_magnification(
source_x=x, source_y=y))
if magnification_center is None:
magnification_center = self.point_source_magnification(
source_x=source_x, source_y=source_y)
return 0.25 * fsum(out) - magnification_center
评论列表
文章目录