Commit a390f109 authored by Davis King's avatar Davis King

Made approximate derivative calculation slightly more numerically robust.

parent ff9f597a
......@@ -42,7 +42,7 @@ namespace dlib
e(i) = old_val - eps;
const double delta_minus = f(e);
der(i) = (delta_plus - delta_minus)/(2*eps);
der(i) = (delta_plus - delta_minus)/((old_val+eps)-(old_val-eps));
// and finally restore the old value of this element
e(i) = old_val;
......@@ -68,7 +68,7 @@ namespace dlib
e(i) = old_val - eps;
const double delta_minus = f(item,e);
der(i) = (delta_plus - delta_minus)/(2*eps);
der(i) = (delta_plus - delta_minus)/((old_val+eps)-(old_val-eps));
// and finally restore the old value of this element
e(i) = old_val;
......@@ -80,7 +80,7 @@ namespace dlib
double operator()(const double& x) const
{
return (f(x+eps)-f(x-eps))/(2*eps);
return (f(x+eps)-f(x-eps))/((x+eps)-(x-eps));
}
private:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment