org.apache.commons.math3.optim

## Class AbstractConvergenceChecker<PAIR>

- java.lang.Object
- - org.apache.commons.math3.optim.AbstractConvergenceChecker<PAIR>

Type Parameters:
  `PAIR` - Type of (point, value) pair.

All Implemented Interfaces:
  ConvergenceChecker<PAIR>

Direct Known Subclasses:
  SimplePointChecker, SimpleUnivariateValueChecker, SimpleValueChecker, SimpleVectorValueChecker

    public abstract class AbstractConvergenceChecker<PAIR>
    extends Object
    implements ConvergenceChecker<PAIR>

Base class for all convergence checker implementations.

Since:
  3.0
Version:
  $Id: AbstractConvergenceChecker.java 1370215 2012-08-07 12:38:59Z sebb $

### Field Summary

Fields
`private double` `absoluteThreshold` Absolute tolerance threshold.
`private double` `relativeThreshold` Relative tolerance threshold.

### Constructor Summary

Constructors
Constructor and Description
`AbstractConvergenceChecker(double relativeThreshold, double absoluteThreshold)` Build an instance with a specified thresholds.

### Method Summary

Methods
`abstract boolean` `converged(int iteration, PAIR previous, PAIR current)` Check if the optimization algorithm has converged.
`double` `getAbsoluteThreshold()`
`double` `getRelativeThreshold()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### relativeThreshold

    private final double relativeThreshold

Relative tolerance threshold.

#### absoluteThreshold

    private final double absoluteThreshold

Absolute tolerance threshold.

### Constructor Detail

#### AbstractConvergenceChecker

    public AbstractConvergenceChecker(double relativeThreshold,
                              double absoluteThreshold)

Build an instance with a specified thresholds.

Parameters:
  `relativeThreshold` - relative tolerance threshold
  `absoluteThreshold` - absolute tolerance threshold

### Method Detail

#### getRelativeThreshold

    public double getRelativeThreshold()

Returns:
  the relative threshold.

#### getAbsoluteThreshold

    public double getAbsoluteThreshold()

Returns:
  the absolute threshold.

#### converged

    public abstract boolean converged(int iteration,
                    PAIR previous,
                    PAIR current)

Check if the optimization algorithm has converged.

Specified by:
  `converged` in interface `ConvergenceChecker<PAIR>`
Parameters:
  `iteration` - Current iteration.
  `previous` - Best point in the previous iteration.
  `current` - Best point in the current iteration.
Returns:
  `true` if the algorithm is considered to have converged.