Class ConvergingAlgorithmImpl

    • Field Detail

      • absoluteAccuracy

        protected double absoluteAccuracy
        Deprecated.
        Maximum absolute error.
      • relativeAccuracy

        protected double relativeAccuracy
        Deprecated.
        Maximum relative error.
      • maximalIterationCount

        protected int maximalIterationCount
        Deprecated.
        Maximum number of iterations.
      • defaultAbsoluteAccuracy

        protected double defaultAbsoluteAccuracy
        Deprecated.
        Default maximum absolute error.
      • defaultRelativeAccuracy

        protected double defaultRelativeAccuracy
        Deprecated.
        Default maximum relative error.
      • defaultMaximalIterationCount

        protected int defaultMaximalIterationCount
        Deprecated.
        Default maximum number of iterations.
      • iterationCount

        protected int iterationCount
        Deprecated.
        The last iteration count.
    • Constructor Detail

      • ConvergingAlgorithmImpl

        @Deprecated
        protected ConvergingAlgorithmImpl​(int defaultMaximalIterationCount,
                                          double defaultAbsoluteAccuracy)
        Deprecated.
        in 2.2. Derived classes should use the "setter" methods in order to assign meaningful values to all the instances variables.
        Construct an algorithm with given iteration count and accuracy.
        Parameters:
        defaultAbsoluteAccuracy - maximum absolute error
        defaultMaximalIterationCount - maximum number of iterations
        Throws:
        java.lang.IllegalArgumentException - if f is null or the defaultAbsoluteAccuracy is not valid
      • ConvergingAlgorithmImpl

        @Deprecated
        protected ConvergingAlgorithmImpl()
        Deprecated.
        in 2.2 (to be removed as soon as the single non-default one has been removed).
        Default constructor.
        Since:
        2.2
    • Method Detail

      • getIterationCount

        public int getIterationCount()
        Deprecated.
        Get the number of iterations in the last run of the algorithm.

        This is mainly meant for testing purposes. It may occasionally help track down performance problems: if the iteration count is notoriously high, check whether the problem is evaluated properly, and whether another algorithm is more amenable to the problem.

        Specified by:
        getIterationCount in interface ConvergingAlgorithm
        Returns:
        the last iteration count.
      • setAbsoluteAccuracy

        public void setAbsoluteAccuracy​(double accuracy)
        Deprecated.
        Set the absolute accuracy.

        The default is usually chosen so that results in the interval -10..-0.1 and +0.1..+10 can be found with a reasonable accuracy. If the expected absolute value of your results is of much smaller magnitude, set this to a smaller value.

        Algorithms are advised to do a plausibility check with the relative accuracy, but clients should not rely on this.

        Specified by:
        setAbsoluteAccuracy in interface ConvergingAlgorithm
        Parameters:
        accuracy - the accuracy.
      • getAbsoluteAccuracy

        public double getAbsoluteAccuracy()
        Deprecated.
        Get the actual absolute accuracy.
        Specified by:
        getAbsoluteAccuracy in interface ConvergingAlgorithm
        Returns:
        the accuracy
      • resetAbsoluteAccuracy

        public void resetAbsoluteAccuracy()
        Deprecated.
        Reset the absolute accuracy to the default.

        The default value is provided by the algorithm implementation.

        Specified by:
        resetAbsoluteAccuracy in interface ConvergingAlgorithm
      • setMaximalIterationCount

        public void setMaximalIterationCount​(int count)
        Deprecated.
        Set the upper limit for the number of iterations.

        Usually a high iteration count indicates convergence problems. However, the "reasonable value" varies widely for different algorithms. Users are advised to use the default value supplied by the algorithm.

        A ConvergenceException will be thrown if this number is exceeded.

        Specified by:
        setMaximalIterationCount in interface ConvergingAlgorithm
        Parameters:
        count - maximum number of iterations
      • getMaximalIterationCount

        public int getMaximalIterationCount()
        Deprecated.
        Get the upper limit for the number of iterations.
        Specified by:
        getMaximalIterationCount in interface ConvergingAlgorithm
        Returns:
        the actual upper limit
      • setRelativeAccuracy

        public void setRelativeAccuracy​(double accuracy)
        Deprecated.
        Set the relative accuracy.

        This is used to stop iterations if the absolute accuracy can't be achieved due to large values or short mantissa length.

        If this should be the primary criterion for convergence rather then a safety measure, set the absolute accuracy to a ridiculously small value, like MathUtils.SAFE_MIN.

        Specified by:
        setRelativeAccuracy in interface ConvergingAlgorithm
        Parameters:
        accuracy - the relative accuracy.
      • getRelativeAccuracy

        public double getRelativeAccuracy()
        Deprecated.
        Get the actual relative accuracy.
        Specified by:
        getRelativeAccuracy in interface ConvergingAlgorithm
        Returns:
        the accuracy
      • resetRelativeAccuracy

        public void resetRelativeAccuracy()
        Deprecated.
        Reset the relative accuracy to the default. The default value is provided by the algorithm implementation.
        Specified by:
        resetRelativeAccuracy in interface ConvergingAlgorithm
      • resetIterationsCounter

        protected void resetIterationsCounter()
        Deprecated.
        Reset the iterations counter to 0.
        Since:
        2.2