@ckrapu Just to make sure I understand this…
My initial specification was:
gamma[0, :] ~ GP(0, K; params)
gamma[1, :] ~ GP(0, K; params)
etc.
To be precise, suppose gamma[0, :] are 52 RVs indexed gamma[0, 0], gamma[0, 1], …, gamma[0, 52]. I want the the joint density of gamma[0, 0], gamma[0, 1], …, gamma[0, 52] to be a GP. Also, I want the joint density of gamma[1, 0], gamma[1, 1], …, gamma[1, 52] to be a GP (the same GP as gamma[0, :]). Therefore, set of RVs {gamma[0, :]} and {gamma[1, :]} have identical joint distributions. However, these are different random variables, in the sense that a forward simulation draw might lead to different values for each set. Does that make sense?
I fear that using tt.repeat, we essentially repeat the gamma[0, :] to be gamma[1, :] and so on, meaning that we don’t explicitly state that the random variables are different. The for loop in my original post, I think, ensures they are different by virtue of creating a new set of RVs in each iteration. So I’m not sure tt.repeat is the solution here?