I’m fitting a model, which contains several 2d vectors having the same direction. Currently, I use the very intuitive way to parametrize them:

```
angle = pm.VonMises(...)
direction = tt.stack(tt.cos(angle), tt.sin(angle))
coeffs = pm.Normal(..., shape=nvec)
vectors = direction * coeffs
```

this kinda works and leads to a reasonable posterior, but obviously suffers from nonidentifyability: replacing `angle`

with `angle + 180º`

and `coeffs`

with `-coeffs`

doesn’t affect `vectors`

. I couldn’t think of any way to fix it: taking `angle`

as being defined on `-90º...90º`

leads to a discontinuity (taking `angle = arctan(x)`

also does); constraining `coeffs > 0`

in my case doesn’t work because they may have different signs;

What can be done in this case?