res = []for method in [GradientDescent, BFGS, Newton] r =optimize(f, x0, method(), autodiff=:forward, opts)push!(res, r)end
trace = res[1].tracefvals = [t.value for t in trace]plot(fvals[1:100], label="steepest descent")trace = res[2].tracefvals = [t.value for t in trace]plot!(fvals, label="quasi Newton")trace = res[3].tracefvals = [t.value for t in trace]plot!(fvals, label="Newton")