$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [Boost-users] [random] Cauchy distribution
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2011-07-13 14:34:10
AMDG
On 07/13/2011 11:04 AM, Karsten Ahnert wrote:
> I have the following code
> 
> boost::mt19937 rng;
> boost::cauchy_distribution< double > cauchy( 0.0 , 0.1 );
> 
> for( size_t i=0 ; i<16 ; ++i )
> {
>     std::cout << cauchy( rng ) << " ";
> }
> 
> which produced this sequence :
> 
> 76513.4 4.3467e+06 -254805 -1.63299e+06 -6.96405e+06 233243 214884
> 883827 471904 268253 648798 140314 1.43562e+06 653319 -582905 91567.6
> 
> I think these number are much to high. The standard deviation should be
> 0.1. Does anyone knows what went wrong? Is this my failure?
> 
> I use boost 1.46 and gcc 4.5.2.
> 
This code should work correctly in 1.47.
In 1.46 and prior, you need to use variate_generator.
boost::variate_generator<
    boost::mt19937&,
    boost::cauchy_distribution<double> >
gen(rng, cauchy);
std::cout << gen() << " ";
In Christ,
Steven Watanabe