code: public static double root(double eps, double a, double b, Function1D f)
      {
          return root(eps, 1000, a, b, f);
      }
docs: Performs root finding on the function {@code f}.
  
  @param eps the desired accuracy of the result
  @param a the left bound on the root (i.e., f(a) &lt; 0)
  @param b the right bound on the root (i.e., f(b) &gt; 0)
  @param f the function to find the root of
  @return the value of variable {@code pos} that produces a zero value
  output