I somewhat frequently have the situation where I have a matrix (or higher dimensional structure) which represents an intercept for some interaction of categorical variables. So I need to access it by re-indexing, as in:

```
matrix[J_Edu, J_Race] alpha_Edu_Race;
vector[N_SurveyData] alpha_Edu_Race_v;
for (n in 1:N_SurveyData) {
alpha_Edu_Race_v[n] = alpha_Edu_Race[SurveyData_Edu[n], SurveyData_Race[n]];
}
```

Now I can access `alpha_Edu_Race[SurveyData_Edu, SurveyData_Race]`

as a vector. Is there a way to do that more directly? I’ve tried the `diagonal`

function, as in `diagonal(alpha_Edu_Race[SurveyData_Edu, SurveyData_Race])`

, but that made things orders of magnitude slower.

Is there some other way to express this?

Adam