$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-users] trouble with boost/random/poisson_distribution and large lambda
From: Michael King (wmichaelking1_at_[hidden])
Date: 2011-06-22 18:49:18
Hello,
I am new to the boost mailing list, so I apologize before hand if this is
not the appropriate forum for this question.
I have been using boost/random recently and have encountered what appears to
be a problem with poisson variate generators with large lambda values.
The random values can't seem to get much higher than 800 regardless of what
value lambda is.
For example:
  #include<iostream>
  #include<iterator>
  #include<vector>
  #include<algorithm>
  #include<boost/random/poisson_distribution.hpp>
  #include<boost/random/variate_generator.hpp>
  #include<boost/random/mersenne_twister.hpp>
  using namespace boost;
  using namespace std;
  int main() {
    mt19937 gen;
    double lambda = 1000.;
    poisson_distribution<int, double> pois(lambda);
    variate_generator<mt19937&, poisson_distribution<int, double> >
rpois(gen, pois);
    // generate 10 random poisson variables
    vector<double> sample(10);
    generate(sample.begin(), sample.end(), rpois);
    cout << "Simulating from Poisson Random Variable with lambda=" << lambda
<< endl;
    cout << "\nSample: ";
    copy(sample.begin(), sample.end(), ostream_iterator<int>(cout, " "));
    cout << "\n\nShouldn't the numbers be a little closer to 1,000?" <<
endl;
    return 0;
 }
Thanks,
Mike