Calculates finite difference weights for numerical derivatives (including order 0, which amounts to interpolation). Syntax:
target_point - the point at which the derivative is required
grid_points - the points at which the function is given
max_order - maximum derivative order
The function returns finite difference coefficient array with the coefficients for the successive derivatives in rows.