Is it more efficient to declare a transformed parameter in the transformed parameters block or in the model block if I do not require the transformed parameter to be returned in the output.
For example
data {
real<lower=0> tt[N];
...
}
parameters {
real <lower = 0> mu;
real <lower = 0> eta;
...
}
transformed parameters{
real Mu[N];
for(i in 1:N){
Mu[i] = eta + mu*log(tt[i]);
}
...
}
Compared to
data {
real<lower=0> tt[N];
...
}
parameters {
real <lower = 0> mu;
real <lower = 0> eta;
...
}
model{
real Mu[N];
for(i in 1:N){
Mu[i] = eta + mu*log(tt[i]);
}
...
}
Does it take more run time in order to store all of the values of Mu in the first block of code (when I declare Mu in the transformed parameter block)?