Help with implementation of Normal Normal-Inverse Gamma model

Hello, I am inexperienced with using the Stan syntax and would like to ask for help with the implementation of the following model:
Screenshot (31)
with
Screenshot (32)

is the below implementation in Stan correct?

model {
 
   // priors:
   target += inv_gamma_lpdf(sigma_sq | 2, 0.5);
   target += normal_lpdf(beta | 0, sqrt(lambda*sigma_sq));

   // likelihood:
   target += normal_id_glm_lpdf(y | to_matrix(X), 0, beta, sqrt(sigma_sq));
}

I’m sorry if this is trivial, but I am still getting used to Stan (and modelling in general).

As a follow-up to this question, if I want to sample beta from a standard normal distribution, would this be the right way to do it?


parameters {
   vector[1] beta_norm;
   real<lower = 0> sigma_sq; // variance
}

transformed parameters {
   real lambda = 2; 
   vector[1] beta = beta_norm*sqrt(lambda*sigma_sq);
}

model {
   
   // priors:
   target += inv_gamma_lpdf(sigma_sq | 2, 0.5);
   target += std_normal_lpdf(beta_norm);

   // likelihood:
   target += normal_id_glm_lpdf(y | to_matrix(X), 0, beta, sqrt(sigma_sq));
}