using System; public class qnewton { public delegate double function(vector x); public static vector gradient(function f, vector x, double dx=1e-6){ double fx=f(x); vector dfdx = new vector(x.size); for(int i=0;idx && dfdx.norm()>eps); vector.copy(p,x); return nsteps; } }