double func (std::vector<double> &x)
{
return -(100.*pow(x[1]-x[0]*x[0], 2)+pow(1.-x[0], 2))/20.;
}
std::vector<std::vector<double>> starting_values (const int nwalkers, const std::vector<double> center, const double radius)
{
int npar = center.size();
std::vector<std::vector<double>> start(nwalkers, std::vector<double>(npar, 0));
for(int i=0; i<nwalkers;i++)
for(int j=0;j<npar;j++)
start[i][j] = center[j]+ran();
return start;
}
try {
int npar = 2;
int nwalkers = 10;
int chain_size = 1000;
double radius = 1.e-3;
std::vector<double> center= {0,0};
std::vector<std::vector<double>> start = starting_values(nwalkers, center, radius);
std::string dir_output = "../output/";
sampler.sample_stretch_move(chain_size, nwalkers, start, 4314234, 2);
sampler.write_chain(dir_output, "chain.dat", 100, 10);
sampler.sample_stretch_move_parallel(chain_size, nwalkers, start, 4314234, 2);
sampler.write_chain(dir_output, "chain_parallel.dat", 100, 10);
sampler.sample_stretch_move_parallel(chain_size, nwalkers, start, 434, 2);
sampler2.sample_stretch_move(chain_size, nwalkers, start, 4314234, 2);
sampler2.write_chain(dir_output, "chain2.dat", 100, 10);
sampler2.sample_stretch_move_parallel(chain_size, nwalkers, start, 4314234, 2);
sampler2.write_chain(dir_output, "chain_parallel2.dat", 100, 10);
}
return 0;
}
int main()
main function to create the logo of the CosmoBolognaLib
const char * what() const noexcept override
the error description
The class NormalRandomNumbers.