#include #include #include #include "rtnorm.hpp" #include #include #define LOW_DISCREPANCY_HPP #include #include #include #include #include //--génération quantiles-- std::vector quantile_norm(int n, double sigma){ std::vector q(n); for (int i=0; i q; q = quantile_norm(n, sigma); std::pair p; p = rtnorm (gen, q[i], q[i+1], mu, sigma); return p.first; } std::pair mean_var( std::vector r){ std::pair p; for(auto &x: r){ p.first += x; p.second += x*x; } p.first /= r.size(); p.second /= r.size(); p.second -= p.first * p.first; return p; } //actualisation du nombre de tirages à faire par strates std::vector update_sampling (std::vector p, std::vector sigma, int n) { std::vector r; // notre vecteur final à retourner std::vector m; //le vecteur des Mi idéals int s = p.size(); if (sigma.empty()) { for (int i = 0; i q; q = quantile_norm(10, 1); std::pair p; std::pair mv; //number of classes int I = 10; //number of samples int N = 10000; std::vector r(N); double a; for (int i=0; i k; std::vector z = {(double)1/3,(double)1/3,(double)1/3}; std::vector sigma = {0.1, 0.4, 0.3}; k = update_sampling(z, sigma, 10000); for (int j=0; j