public void main() { var x0 = np.arange(-2, 2.5, 0.25); var x1 = np.arange(-2, 2.5, 0.25); (var XSrc, var YSrc) = np.meshgrid(x0, x1); var X = XSrc.flatten(); var Y = YSrc.flatten(); var grad = numerical_gradient(function_2, np.array(X, Y).T()).T(); plt.figure(); plt.quiver(X, Y, grad[0].minus(), grad[1].minus(), angles: "xy", color: "#666666"); plt.xlim(-2, 2); plt.ylim(-2, 2); plt.xlabel("x0"); plt.ylabel("x1"); plt.grid(); plt.draw(); plt.show(); }