def get_biggest_difference(x_s, rho_hat, x_list):
    w_s = get_lagrange_poly_weights(x_s, rho_hat)
    ylist = zeros(len(x_list))
    for i in range(len(x_list)):
        for j in range(len(x_s)):
            ylist[i] += w_s[j] * evaluate_lagrange(x_s, x_list[i], j)

    return ylist
def get_kernel(f, x, x_s, w_s, j, d):
    return lambda y: f(x, y, d) * w_s[j] * evaluate_lagrange(x_s, y, j)