I looked at the source code and the existing examples for setting the sd_dist parameter in LKJCholeskyCov and it seems ambiguous.
sd_dist = pm.HalfCauchy.dist(beta=2.5) packed_chol = pm.LKJCholeskyCov('chol_cov', eta=2, n=10, sd_dist=sd_dist)
sd_dist shape is left empty, but n is equal to 10.
Here, however: https://docs.pymc.io/api/distributions/multivariate.html
sd_dist = pm.HalfCauchy.dist(beta=2.5, shape=3) chol_packed = pm.LKJCholeskyCov('chol_packed', n=3, eta=2, sd_dist=sd_dist)
It’s slightly unclear to me why shape is 3: assuming this represents a more flexible model where each entry gets its own random variable, then surely the shape shouldn’t be 3 but it should be 3+2+1 (ie, the number of entries for a lower triangular matrix).