# Getting error in using pm.LKJCorr.dist()

**URL:** <https://discourse.pymc.io/t/getting-error-in-using-pm-lkjcorr-dist/17548>\
**Category:** General\
**Created:** [February 2, 2026, 4:10pm UTC](https://discourse.pymc.io/t/getting-error-in-using-pm-lkjcorr-dist/17548 "2026-02-02T16:10:21Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Abu\_Naser](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/abu_naser/32/8583_2.png) [@Abu\_Naser](https://discourse.pymc.io/u/Abu_Naser)\
**Post date:** [February 2, 2026, 4:10pm UTC](https://discourse.pymc.io/t/getting-error-in-using-pm-lkjcorr-dist/17548/1 "2026-02-02T16:10:21Z")

</div>

Hi all.

When I run the fllowing snippet, I get

```auto
ValueError: not enough values to unpack (expected 5, got 3)

```

Any Idea?

etas = [1, 4, 10, 20, 100]

for ii, eta in enumerate(etas):  
rv = pm.LKJCorr.dist(n = 2, eta=eta, return\_matrix=True)  
samples = pm.draw(rv, 1000)  
az.plot\_dist(samples, color=f"C{ii}“, label=f"LKJCorr$(\eta={eta})$”)plt.legend()  
plt.xlabel(“correlation”)  
plt.ylabel(“density”)  
plt.title(“LKJCorr distribution of correlations”);

---

<div class="post-metadata">

**Author:** ![ricardoV94](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/ricardov94/32/5775_2.png) [@ricardoV94](https://discourse.pymc.io/u/ricardoV94)\
**Post date:** [February 2, 2026, 6:44pm UTC](https://discourse.pymc.io/t/getting-error-in-using-pm-lkjcorr-dist/17548/2 "2026-02-02T18:44:12Z")

</div>

It doesn’t fail for me. What version of PyMC/Arviz do you have? Try to upgrade.

Also if you could provide the whole traceback that would help.

---

<div class="post-metadata">

**Author:** ![Abu\_Naser](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/abu_naser/32/8583_2.png) [@Abu\_Naser](https://discourse.pymc.io/u/Abu_Naser)\
**Post date:** [February 2, 2026, 6:48pm UTC](https://discourse.pymc.io/t/getting-error-in-using-pm-lkjcorr-dist/17548/3 "2026-02-02T18:48:29Z")

</div>

Thank you for responding Ricardo. The whole traceback is as follows:

```auto
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[13], line 1
----> 1 simulated_social_ties_model, simulated_social_ties_inference = fit_social_ties_model(simulated_gifts)

Cell In[12], line 18, in fit_social_ties_model(data, eta)
     16 # Single, global sigma
     17 sigma = pm.Exponential.dist(1)
---> 18 chol, corr, stds = pm.LKJCholeskyCov(
     19 "rho",
     20 eta=eta,
     21 n=n_correlated_features,
     22 sd_dist=sigma
     23 )
     25 # Record quantities for reporting
     26 pm.Deterministic("corrcoef_T", corr[0, 1])

File ~/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pymc/distributions/multivariate.py:1471, in LKJCholeskyCov. __new__ (cls, name, eta, n, sd_dist, compute_corr, store_in_trace, **kwargs)
   1470 def __new__ (cls, name, eta, n, sd_dist, *, compute_corr=True, store_in_trace=True, **kwargs):
-> 1471 packed_chol = _LKJCholeskyCov(name, eta=eta, n=n, sd_dist=sd_dist, **kwargs)
   1472 if not compute_corr:
   1473 return packed_chol

File ~/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pymc/distributions/distribution.py:529, in Distribution. __new__ (cls, name, rng, dims, initval, observed, total_size, transform, default_transform, *args, **kwargs)
    526 elif observed is not None:
    527 kwargs["shape"] = tuple(observed.shape)
--> 529 rv_out = cls.dist(*args, **kwargs)
    531 rv_out = model.register_rv(
    532 rv_out,
    533 name,
   (...) 539 initval=initval,
    540 )
    542 # add in pretty-printing support

File ~/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pymc/distributions/multivariate.py:1258, in _LKJCholeskyCov.dist(cls, n, eta, sd_dist, **kwargs)
   1255 raise TypeError("sd_dist must be a scalar or vector distribution variable")
   1257 check_dist_not_registered(sd_dist)
-> 1258 return super().dist([n, eta, sd_dist], **kwargs)

File ~/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pymc/distributions/distribution.py:598, in Distribution.dist(cls, dist_params, shape, **kwargs)
    595 ndim_supp = cls.rv_op(*dist_params, **kwargs).owner.op.ndim_supp
    597 create_size = find_size(shape=shape, size=size, ndim_supp=ndim_supp)
--> 598 return cls.rv_op(*dist_params, size=create_size, **kwargs)

File ~/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pymc/distributions/multivariate.py:1216, in _LKJCholeskyCovRV.rv_op(cls, n, eta, sd_dist, size)
   1213 # We flatten the size to make operations easier, and then rebuild it
   1214 flat_size = pt.prod(size, dtype="int64")
-> 1216 next_rng, C = LKJCorrRV._random_corr_matrix(rng=rng, n=n, eta=eta, flat_size=flat_size)
   1217 D_matrix = D.reshape((flat_size, n))
   1218 C *= D_matrix[..., :, None] * D_matrix[..., None, :]

File ~/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pymc/distributions/multivariate.py:1576, in LKJCorrRV._random_corr_matrix(cls, rng, n, eta, flat_size)
   1574 P = P[..., 0:mp1, mp1].set(pt.sqrt(y[..., np.newaxis]) * z)
   1575 P = P[..., mp1, mp1].set(pt.sqrt(1.0 - y))
-> 1576 C = pt.einsum("...ji,...jk->...ik", P, P.copy())
   1577 return next_rng, C

File ~/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pytensor/tensor/einsum.py:669, in einsum(subscripts, optimize, *operands)
    666 return operand.squeeze(squeeze_axes), "".join(names[i] for i in keep_axes)
    668 einsum_operands = list(tensor_operands) # So we can pop
--> 669 for operand_indices, contracted_names, einstr, _, _ in contraction_list:
    670 contracted_names = sorted(contracted_names)
    671 assert len(contracted_names) == len(
    672 set(contracted_names)
    673 ), "The set was needed!"

ValueError: not enough values to unpack (expected 5, got 3)

```

---

<div class="post-metadata">

**Author:** ![Abu\_Naser](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/abu_naser/32/8583_2.png) [@Abu\_Naser](https://discourse.pymc.io/u/Abu_Naser)\
**Post date:** [February 2, 2026, 8:50pm UTC](https://discourse.pymc.io/t/getting-error-in-using-pm-lkjcorr-dist/17548/4 "2026-02-02T20:50:58Z")

</div>

> [@ricardoV94](#):
>
> PyMC/Arviz

I have the 5.25.1 version of pymc.

---

<div class="post-metadata">

**Author:** ![ricardoV94](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/ricardov94/32/5775_2.png) [@ricardoV94](https://discourse.pymc.io/u/ricardoV94)\
**Post date:** [February 2, 2026, 9:52pm UTC](https://discourse.pymc.io/t/getting-error-in-using-pm-lkjcorr-dist/17548/5 "2026-02-02T21:52:10Z")

</div>

Can you try with the latest? [Releases · pymc-devs/pymc · GitHub](https://github.com/pymc-devs/pymc/releases)

---

<div class="post-metadata">

**Author:** ![Abu\_Naser](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/abu_naser/32/8583_2.png) [@Abu\_Naser](https://discourse.pymc.io/u/Abu_Naser)\
**Post date:** [February 3, 2026, 9:13am UTC](https://discourse.pymc.io/t/getting-error-in-using-pm-lkjcorr-dist/17548/6 "2026-02-03T09:13:25Z")

</div>

Yes, it worked with the latest version. Thank you for your help.
