# Class EntropyNorm<T extends Comparable<T>>

java.lang.Object
org.tweetyproject.math.func.EntropyFunction
org.tweetyproject.math.norm.EntropyNorm<T>
Type Parameters:
`T` - The class of the objects used.
All Implemented Interfaces:
`SimpleFunction<Vector<Double>,Double>`, `SimpleRealValuedFunction`, `Norm<Vector<Double>>`, `RealVectorNorm`

public class EntropyNorm<T extends Comparable<T>> extends EntropyFunction implements RealVectorNorm
The entropy norm. Uses the entropy of a vector of doubles (=probability function) as a measure of norm and the relative entropy of two probability distributions as distance. Note that entropy is not actually a norm!
Author:
Matthias Thimm
• ## Constructor Summary

Constructors
Constructor
Description
`EntropyNorm()`

• ## Method Summary

Modifier and Type
Method
Description
`double`
```distance(Vector<Double> obj1, Vector<Double> obj2)```
The distance between the two object, i.e.
`double`
```distance(ProbabilityFunction<T> prob1, ProbabilityFunction<T> prob2)```
distance between problems
`Term`
```distanceTerm(Vector<Term> obj1, Vector<Term> obj2)```
The distance between the two objects as a term.
`Term`
```distanceTerm(Term[] obj1, Term[] obj2)```
The distance between the two objects as a term.
`double`
`norm(Vector<Double> obj)`
Returns the norm of the given object
`double`
`norm(ProbabilityFunction<T> prob)`
norm
`Term`
`normTerm(Vector<Term> obj)`
Returns the norm as a term of the given terms
`Term`
`normTerm(Term[] obj)`
Returns the norm as a term of the given terms

### Methods inherited from class org.tweetyproject.math.func.EntropyFunction

`eval, getTerm`

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

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ## Constructor Details

• ### EntropyNorm

public EntropyNorm()
• ## Method Details

• ### norm

public double norm(Vector<Double> obj)
Description copied from interface: `Norm`
Returns the norm of the given object
Specified by:
`norm` in interface `Norm<T extends Comparable<T>>`
Parameters:
`obj` - some object
Returns:
the norm of the object
• ### norm

public double norm(ProbabilityFunction<T> prob)
norm
Parameters:
`prob` - problem
Returns:
Probability Vector As Doubles
• ### normTerm

public Term normTerm(Term[] obj)
Description copied from interface: `RealVectorNorm`
Returns the norm as a term of the given terms
Specified by:
`normTerm` in interface `RealVectorNorm`
Parameters:
`obj` - some term array
Returns:
the term of the norm
• ### distanceTerm

public Term distanceTerm(Term[] obj1, Term[] obj2)
Description copied from interface: `RealVectorNorm`
The distance between the two objects as a term.
Specified by:
`distanceTerm` in interface `RealVectorNorm`
Parameters:
`obj1` - some terms
`obj2` - some terms
Returns:
the distance between the two objects as a term
• ### distance

public double distance(Vector<Double> obj1, Vector<Double> obj2)
Description copied from interface: `Norm`
The distance between the two object, i.e. the norm of the difference vector.
Specified by:
`distance` in interface `Norm<T extends Comparable<T>>`
Parameters:
`obj1` - some object
`obj2` - some object
Returns:
the distance between the two objects
• ### distance

public double distance(ProbabilityFunction<T> prob1, ProbabilityFunction<T> prob2)
distance between problems
Parameters:
`prob1` - problem 1
`prob2` - problem 2
Returns:
distance
• ### normTerm

public Term normTerm(Vector<Term> obj)
Description copied from interface: `RealVectorNorm`
Returns the norm as a term of the given terms
Specified by:
`normTerm` in interface `RealVectorNorm`
Parameters:
`obj` - some term vector
Returns:
the term of the norm
• ### distanceTerm

public Term distanceTerm(Vector<Term> obj1, Vector<Term> obj2)
Description copied from interface: `RealVectorNorm`
The distance between the two objects as a term.
Specified by:
`distanceTerm` in interface `RealVectorNorm`
Parameters:
`obj1` - some terms
`obj2` - some terms
Returns:
the distance between the two objects as a term