Open
Description
Describe the issue:
When applying the ordered transform to the ZSN the model suffers a -inf
logp.
Reproduceable code example:
with pm.Model() as pmodel:
pm.ZeroSumNormal("zsn", shape=2, transform=pm.distributions.transforms.ordered)
pmodel.debug()
Error message:
RuntimeWarning: divide by zero encountered in log
variables = ufunc(*ufunc_args, **ufunc_kwargs)
point={'zsn_ordered__': array([ 0., -inf])}
The variable zsn has the following parameters:
0: normal_rv{0, (0, 0), floatX, False}.1 [id A] <Vector(float64, shape=(2,))>
├─ RandomGeneratorSharedVariable(<Generator(PCG64) at 0x1E355016500>) [id B] <RandomGeneratorType>
├─ [2] [id C] <Vector(int64, shape=(1,))>
├─ 11 [id D] <Scalar(int64, shape=())>
├─ 0 [id E] <Scalar(int8, shape=())>
└─ 1.0 [id F] <Scalar(float64, shape=())>
1: 1.0 [id F] <Scalar(float64, shape=())>
2: [2] [id G] <Vector(int32, shape=(1,))>
The parameters evaluate to:
0: [1.40383536 0.612628 ]
1: 1.0
2: [2]
Some of the values of variable zsn are associated with a non-finite logp:
value = [ 0. -inf] -> logp = -inf
PyMC version information:
5.9.1 at 419af06
Context for the issue:
No response