Form a covariance object that is the kronecker product of other covariances.

In contrast to standard multiplication, where each covariance is given the same inputs X and Xs, kronecker product covariances first split the inputs into their respective spaces (inferred from the input_dim of each object) before forming their product. Kronecker covariances have a larger input dimension than any of its factors since the inputs are the concatenated columns of its components.

Factors must be covariances or their combinations, arrays will not work.

Generally utilized by the gp.MarginalKron and gp.LatentKron` implementations.




Kron.full(X, Xs)