def dirichlet_expectation(alpha): '''see onlineldavb.py by Blei et al''' if (len(alpha.shape) == 1): return (psi(alpha) - psi(n.sum(alpha))) return (psi(alpha) - psi(n.sum(alpha, 1))[:, n.newaxis])