edu.northwestern.at.utils.math.rootfinders

## Interface MonadicFunctionRootFinder

- All Known Implementing Classes:
    Bisection, Brent, NewtonRaphson, Secant

      public interface MonadicFunctionRootFinder

  Interface implemented by monadic function root finders.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `double` | `findRoot(double x0, double x1, double tol, int maxIter, MonadicFunction function, MonadicFunction derivativeFunction, RootFinderConvergenceTest convergenceTest, RootFinderIterationInformation iterationInformation)` MonadicFunctionRootFinder interface.

- - ### Method Detail

    - #### findRoot

          double findRoot(double x0,
                        double x1,
                        double tol,
                        int maxIter,
                        MonadicFunction function,
                        MonadicFunction derivativeFunction,
                        RootFinderConvergenceTest convergenceTest,
                        RootFinderIterationInformation iterationInformation)

      MonadicFunctionRootFinder interface.
      Parameters:
        `x0` - Left bracket value for root.
        `x1` - Right bracket value for root. Not used by some root-finder (e.g., Newton/Raphson), set to same value as x0 in those cases.
        `tol` - Convergence tolerance.
        `maxIter` - Maximum number of iterations.
        `function` - MonadicFunction computes value for function whose root is being sought.
        `derivativeFunction` - MonadicFunction computes derivative value for function whose root is being sought. Currently used only by Newton/Raphson, set to null for other methods.
        `convergenceTest` - RootFinderConvergenceTest which tests for convergence of the root-finding process.
        `iterationInformation` - Method implementing the RootFinderIterationInformation interace. Allows retrieval of function, function derivative, and iteration number for each iteration in the root-finding process. Can be set to null if you don't want to get that information.