function scalar Rosenbrock(const matrix param) scalar x = param[1] scalar y = param[2] return -(1-x)^2 - 100 * (y - x^2)^2 end function matrix theta = {0, 0} set max_verbose on M = BFGSmax(&theta, Rosenbrock(theta)) print theta