diff --git a/src/admm_MADMMplasso.cpp b/src/admm_MADMMplasso.cpp index a5549c1..2a3511c 100644 --- a/src/admm_MADMMplasso.cpp +++ b/src/admm_MADMMplasso.cpp @@ -128,6 +128,7 @@ arma::field admm_MADMMplasso_cpp( arma::mat b; const arma::mat W_hat_t = W_hat.t(); arma::mat DD3(W_hat_t.n_rows, W_hat_t.n_rows); + arma::vec DD3_diag(W_hat_t.n_rows); arma::mat part_z(W_hat_t.n_rows, W_hat_t.n_cols); arma::vec part_y(W_hat_t.n_rows); arma::vec my_beta_jj(W_hat_t.n_rows); @@ -157,7 +158,7 @@ arma::field admm_MADMMplasso_cpp( arma::vectorise(rho * (EE.slice(jj) - HH.slice(jj))); DD3 = arma::diagmat(1 / invmat.slice(jj)); - arma::vec DD3_diag = arma::diagvec(DD3); + DD3_diag = arma::diagvec(DD3); for (arma::uword j = 0; j < W_hat_t.n_cols; ++j) { part_z.col(j) = DD3_diag % W_hat_t.col(j); }