def logp(self, z, x, i, ll):
        # x_mean is N x O
        x_mean = np.dot(z[i], self.C.T)
        x_pi = np.exp(x_mean)
        x_pi /= x_pi.sum(axis=1)[:,None]

        llref = np.sum(x[i] * np.log(x_pi), axis=1)
        np.copyto(np.asarray(ll), llref)
Compute the log likelihood, log p(x|z), at time index i and put the
dataset/ETHPy150Open HIPS/pgmult/pgmult/particle_lds.py/_CategoricalLikelihood.logp