## gov.sandia.cognition.math Interface DivergenceFunction<FirstType,SecondType>

Type Parameters:
`FirstType` - First class to consider
`SecondType` - Second class to consider
All Superinterfaces:
Cloneable, CloneableSerializable, Serializable
All Known Subinterfaces:
ClusterDivergenceFunction<ClusterType,DataType>, ClusterToClusterDivergenceFunction<ClusterType,DataType>, Metric<EvaluatedType>, Semimetric<InputType>
All Known Implementing Classes:
AbstractClusterToClusterDivergenceFunction, CentroidClusterDivergenceFunction, ChebyshevDistanceMetric, ClusterCentroidDivergenceFunction, ClusterCompleteLinkDivergenceFunction, ClusterMeanLinkDivergenceFunction, ClusterSingleLinkDivergenceFunction, CosineDistanceMetric, EuclideanDistanceMetric, EuclideanDistanceSquaredMetric, GaussianClusterDivergenceFunction, IdentityDistanceMetric, KernelDistanceMetric, ManhattanDistanceMetric, MinkowskiDistanceMetric, WeightedEuclideanDistanceMetric

```@CodeReviews(reviews={@CodeReview(reviewer="Kevin R. Dixon",date="2008-02-26",changesNeeded=false,comments="Looks good."),@CodeReview(reviewer="Jonathan McClain",date="2006-05-16",changesNeeded=false,comments="Looks good.")})
public interface DivergenceFunction<FirstType,SecondType>extends CloneableSerializable```

The DivergenceFunction class defines the functionality of something that computes the divergence between two objects. A divergence function should have the following properties: g(x, y) >= 0 g(x, x) == 0

Since:
1.0
Author:
Justin Basilico, Kevin R. Dixon

Method Summary
` double` ```evaluate(FirstType first, SecondType second)```
Evaluates the divergence between the two given objects.

Methods inherited from interface gov.sandia.cognition.util.CloneableSerializable
`clone`

Method Detail

### evaluate

```double evaluate(FirstType first,
SecondType second)```
Evaluates the divergence between the two given objects.

Parameters:
`first` - The first object.
`second` - The second object.
Returns:
The divergence between the objects.