Class BrentRootFinder

  • public class BrentRootFinderextends IterativeMethod

    Brent's method (1) for finding roots of functions.

    For example, to find roots for sine, first a Function is defined:

     Function sine = new Function() {    public double evaluate(double x) {        return Math.sin(x);    }} }; 

    Then, a Brent's method root finder is created with the above function:

     BrentRootFinder finder = new BrentRootFinder(sine); 

    Lastly, locating roots is accomplished using the findRoot(double, double) method:

     // find the root between 3 and 4. double pi = finder.findRoot(3.0, 4.0);  // find the root between -1 and 1. double zero = finder.findRoot(-1.0, 1.0); 


    1. Wikipedia contributors, "Brent's method," Wikipedia, The Free Encyclopedia,

    • Constructor Detail

      • BrentRootFinder

        public BrentRootFinder(Function f)
        Create a root finder for the given function.
        f - the target function.
      • BrentRootFinder

        public BrentRootFinder(Function f,               int iterations,               double error)
        Create a root finder for the given function.
        f - the target function.
        iterations - maximum number of iterations.
        error - maximum relative error.
    • Method Detail

      • findRoot

        public double findRoot(double min,              double max)                throws NumericException
        Find a root of the target function that lies between the two initial approximations, x0 and x1.
        min - the lower bound of the search interval.
        max - the upper bound of the search interval.
        a root that lies between min and max, inclusive.
        NumericException - if a root could not be found.
      • getFunction

        public Function getFunction()
        Access the target function.
        the target function.
      • setFunction

        public void setFunction(Function f)
        Modify the target function.
        f - the new target function.

SCaVis 2.2 © jWork.ORG