I have a latent factor model where there are N latent factors on every block. To make this simpler let’s assume there are 2 blocks each with T time points (N < T and J groups. The big matrix is `cholesky_factor_cov[2 * T, 2 * N] F`

. The sub-matrices are \mathbf{A, B, C} and are size and type `cholesky_factor_cov[T, L]`

, i.e.,

where \mathbf{1^D} is a diagonal matrix with 1s on the diagonal of size N \times N. \mathbf{M} is basically just a pad matrix that maintains the 0s across the first N rows and then a diagonal 1s because the N latent factors for group 1 shouldn’t be correlated with the N latent factors of group 2. The rest of \mathbf{M} are composed of 0s until the group 2 \mathbf{L_C} starts.

As you can see, I’ve constrained the diagonals of the submatrices to be 1. In the code I’ve put priors on the lower triangle of the matrices each with separate `normal(mu, sigma)`

where `mu`

and `sigma`

are dimension size 3. I construct the final `cholesky_factor_cov`

for the `multivariate_normal_cholesky`

by

```
cholesky_factor_cov[T_two] F_Sigma = cholesky_decompose(add_diag(multiply_lower_tri_self_transpose(F), sigma_y);
Y ~ multi_normal_cholesky(Mu, F_Sigma);
```

I’m trying to come up with a to hierarchically share information across the blocks of \mathbf{A, B, C}. Right now they each have their own normal. I was thinking something like multivariate priors for hierarchical models in the manual where, in this case, it would be a 2 vector of means and a 2 x 2 covariance matrix. But I’m struggling with how best to share information using this to the covariance block \mathbf{B}. Maybe I’m missing something simple but any suggestions are welcome.

Thanks!