I’m trying to use KroneckerNormal and finding that it slows down a lot as the dimension of one of the covariance matrices increases. A similar model works quickly using MatrixNormal, but I want additive noise so I am trying to convert it to KroneckerNormal (and I realize these have different runtimes, but am still surprised at how slow KroneckerNormal is). I am not well-versed in theano, but I wondered if anyone could comment on what might be slowing it down, and whether there is something I can do differently (or whether it is an issue inherent in the code).

Here is a notebook demonstrating the models with toy data; as the dimension of one of the covariance matrices grows, KroneckerNormal slows down quite dramatically: https://github.com/natalieklein/intro_to_gp/blob/master/test_kronprod.ipynb

Thanks for any thoughts or advice!