Skip to content

Commit

Permalink
Pathfinder: stop returning more draws than requested
Browse files Browse the repository at this point in the history
  • Loading branch information
WardBrian committed Apr 12, 2024
1 parent 9f5525b commit 7a4743d
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions src/stan/services/pathfinder/single.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -933,20 +933,21 @@ inline auto pathfinder_lbfgs_single(
lp_ratio = std::move(elbo_best.lp_ratio);
}
} else {
// output only first num_draws from what we computed for ELBO
constrained_draws_mat
= Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic>(
names.size(), elbo_draws.cols());
names.size(), num_draws);
Eigen::VectorXd approx_samples_constrained_col;
Eigen::VectorXd unconstrained_col;
for (Eigen::Index i = 0; i < elbo_draws.cols(); ++i) {
for (Eigen::Index i = 0; i < num_draws; ++i) {
constrained_draws_mat.col(i).head(2) = elbo_lp_mat.row(i).matrix();
unconstrained_col = elbo_draws.col(i);
constrained_draws_mat.col(i).tail(num_unconstrained_params)
= constrain_fun(rng, unconstrained_col,
approx_samples_constrained_col)
.matrix();
}
lp_ratio = std::move(elbo_best.lp_ratio);
lp_ratio = std::move(elbo_best.lp_ratio.head(num_draws));
}
parameter_writer(constrained_draws_mat);
parameter_writer();
Expand Down

0 comments on commit 7a4743d

Please sign in to comment.