L-BFGS with an initial diagonal inverse hessian calculated via finite difference. At each step after the initial, the initial inverse hessian, which determines the scale of the problem, is updated by calculating the curvature from the previous point. The memory length was set to 20 steps and the maximum move distance was 0.2 distance units. The LBFGS history was reset when the angle between the descent direction and the force became greater than 90º, a step greater than the max move was taken, or the curvature to the previous point was negative.