While it's not necessary for this pull request, this could be made more efficient by:

```
Eigen::Matrix<typename boost::math::tools::promote_args<typename scalar_type<T_y>::type, typename scalar_type<T_loc>::type, T_covar>::type,-1,1> lp_vec(size,1);

for (size_t i = 0; i < size; i++) {
  // ...
  lp_vec[i] = trace_inv_quad_form_ldlt(ldlt_Sigma,y_minus_mu);
}
lp -= 0.5*sum(lp_vec);
```