4 : ids_(ids), rvg_(
std::move(rvg))
8 std::vector<double> s = rvg_->sample();
13 std::vector<std::vector<double>> samples = rvg_->sample(n);
14 std::vector<std::map<ParamId, double>> out;
15 for (
const auto& s : samples) {
16 out.emplace_back(
zip(ids_, s));
std::map< T, U > zip(const std::vector< T > &ids, const std::vector< U > &vals)
Builds a map from parallel id and value vectors.
Nuisance sampler backed by a joint random-vector generator.
std::map< ParamId, double > sample() const override
Draws one nuisance-parameter sample.
RvgNuisanceSampler(const std::vector< ParamId > &ids, std::unique_ptr< JointDistribution > rvg)
Constructs a sampler from parameter identifiers and a joint law.
Hash specialization for SymbolId<Tag>.