How can we build a mixture of mixtures?

Not really, during the computation, it can potentially accept 5d vector but that’s not what it is intended. The correct input format should be a 1D array eg lp = np.exp(ln_mix.logp(np.asarray([mu_g]).flatten())).

I think this is fixed on master:

mu_g = np.arange(5,50,5)
ln_mix.logp(np.asarray([mu_g]).flatten()).tag.test_value
# outputs 
array([[ -2.96199652],
       [ -5.03014159],
       [ -6.58978369],
       [ -7.85298049],
       [ -8.92231757],
       [ -9.85409017],
       [-10.68262926],
       [-11.43051321],
       [-12.11344185]])