dodiscover.ci.kernel_utils.von_neumann_divergence#

dodiscover.ci.kernel_utils.von_neumann_divergence(A, B)[source]#

Compute Von Neumann divergence between two PSD matrices.

Parameters:
Aarray_like of shape (n_features, n_features)

The first PSD matrix.

Barray_like of shape (n_features, n_features)

The second PSD matrix.

Returns:
divfloat

The divergence value.

Notes

The Von Neumann divergence, or what is known as the Bregman divergence in [1] is computed as follows with \(D(A || B) = Tr(A (log(A) - log(B)) - A + B)\).