Hypercontractivity Coefficient
The hypercontractivity coefficient [BG16] of a pair of variables is
\[s^*(X \Vert Y) = \max_{U - X - Y} \frac{I(U:Y)}{I(U:X)}\]
It is zero when \(X\) and \(Y\) are independent.
In [1]: from dit.divergences import hypercontractivity_coefficient
In [2]: from dit.example_dists import Xor
In [3]: hypercontractivity_coefficient(Xor(), [[0], [1]])
Out[3]: 0.0
API
- hypercontractivity_coefficient(dist, rvs, bound=None, niter=None)[source]
Computes the hypercontractivity coefficient:
\[s*(X||Y) = max_{U - X - Y} I[U:Y]/I[U:X]\]- Parameters:
dist (Distribution) – The distribution of interest.
rvs (iterable of iterables, len(rvs) == 2) – The variables to compute the hypercontractivity coefficient of. Order is important.
bound (int, None) – An external bound on the size of U. If None, \(|U| <= |X|+1\).
niter (int, None) – The number of basin-hopping steps to perform. If None, use the default.
- Returns:
hc – The hypercontractivity coefficient.
- Return type: