Skip to content

How to use covariance_map

Below is a minimal example.

import numpy as np
from free_matrix_laws import covariance_map as eta

n, s = 3, 2
A1 = np.eye(n)
A2 = 2*np.eye(n)
B  = np.array([[0.,1.,0.],[1.,0.,0.],[0.,0.,0.]])

val = eta(B, [A1, A2])          # list of A_i
# or: val = eta(B, np.stack([A1, A2], axis=0))  # (s,n,n) stack

# sanity check against a loop
val_loop = A1 @ B @ A1 + A2 @ B @ A2
assert np.allclose(val, val_loop)