def METHOD_NAME(
    self,
    x,
    y,
    tangential_stretch,
    radial_stretch,
    curvature,
    direction,
    gamma1,
    gamma2,
    center_x,
    center_y,
):
    """
    :param x:
    :param y:
    :param tangential_stretch: float, stretch of intrinsic source in tangential direction
    :param radial_stretch: float, stretch of intrinsic source in radial direction
    :param curvature: 1/curvature radius
    :param direction: float, angle in radian
    :param gamma1: non-linear reduced shear distortion in the source plane
    :param gamma2: non-linear reduced shear distortion in the source plane
    :param center_x: center of source in image plane
    :param center_y: center of source in image plane
    :return:
    """
    alpha_ra, alpha_dec = self.derivatives(
        x,
        y,
        tangential_stretch,
        radial_stretch,
        curvature,
        direction,
        gamma1,
        gamma2,
        center_x,
        center_y,
    )
    diff = 0.0000001
    alpha_ra_dx, alpha_dec_dx = self.derivatives(
        x + diff,
        y,
        tangential_stretch,
        radial_stretch,
        curvature,
        direction,
        gamma1,
        gamma2,
        center_x,
        center_y,
    )
    alpha_ra_dy, alpha_dec_dy = self.derivatives(
        x,
        y + diff,
        tangential_stretch,
        radial_stretch,
        curvature,
        direction,
        gamma1,
        gamma2,
        center_x,
        center_y,
    )
    f_xx = (alpha_ra_dx - alpha_ra) / diff
    f_xy = (alpha_ra_dy - alpha_ra) / diff
    f_yx = (alpha_dec_dx - alpha_dec) / diff
    f_yy = (alpha_dec_dy - alpha_dec) / diff
    return f_xx, f_xy, f_yx, f_yy