pyriemann.utils.distance.distance_kullback

pyriemann.utils.distance.distance_kullback(A, B)

Kullback-Leibler divergence between SPD/HPD matrices.

The left Kullback-Leibler divergence between two SPD/HPD matrices A and B is [1]:

\[d(\mathbf{A},\mathbf{B}) = \frac{1}{2} \left( \text{tr}(\mathbf{B}^{-1}\mathbf{A}) - n + \log(\frac{\det(\mathbf{B})}{\det(\mathbf{A})}) \right)\]
Parameters
Andarray, shape (…, n, n)

First SPD/HPD matrices, at least 2D ndarray.

Bndarray, shape (…, n, n)

Second SPD/HPD matrices, same dimensions as A.

Returns
dndarray, shape (…,) or float

Left Kullback-Leibler divergence between A and B.

References

1

On information and sufficiency S. Kullback S, R. Leibler. The Annals of Mathematical Statistics, 1951, 22 (1), pp. 79-86