Luigi,Its a bit long and spread out in various .hpp, but here is the main part of it:template<typename Gen>void SimulationFrameWork::AssetSimulation::UniformRandoms<Gen>::CreateCorrelatedUniformNumbers(Size nb_scenarios, Size timepoints){Disposable<Matrix> sqrt_correl = pseudoSqrt(correlation_matrix_,SalvagingAlgorithm::None);vector<Real> v;
Array w(correlation_matrix_.rows(), 0);for (auto i = 0; i< w.size(); ++i) values_[i] = Matrix(nb_scenarios, timepoints, 0);for (auto k = 0; k< nb_scenarios; ++k){ for (auto i =0; i<w.size(); ++i){ for (auto j = 0; j< timepoints ;++j){ v = (generator_.nextSequence()).value; this is where something probably strange happens, or maybe an issue of output formatting ?Array a(v.begin(), v.end());w = sqrt_correl * a;(values_[i])(k,j) = w[i];//std::cout<<"scenario "<< k <<" time point "<< j<<" for asset: " << i << " : " << (values_[i])(k,j) <<"\n";}}}}inline std::ostream& operator<<(std::ostream& out, const UniformRandoms& rands){vector<Matrix> values = rands.getValues();for (int i = 0; i<values.size(); ++i){for (int k = 0; values[i].columns(); ++k){for (int j = 0; j< values[i].rows(); ++j){out << "|" << values[i](j,k)<<"\n";}out << "\n";}out << "=====================" << "\n";}return out;}The weird output is something like (forget the “| character):|1.31481e-259|5.40126e-62|7.97701e-72|5.39455e-62|7.58067e-96|4.755e-38|1.91825e-76|4.58223e-72|1.58822e-47|3.45301e-86|9.96356e-43|1.08646e-71|1.65502e-47|7.59532e-96|4.755e-38|6.38272e-67|1.30372e-76|2.17733e-76|3.45301e-86|1.79454e-52|7.97702e-72|1.65502e-47|7.57884e-96|1.55795e-76|2.17598e-76|1.30372e-76|2.00393e-76|1.31481e-259|9.51515e-43|7.977e-72Thanks for the help!On 27 Jan 2017, at 13:03, Luigi Ballabio <[hidden email]> wrote:Hello Amine,
may you post your code?Luigi
On Fri, Jan 27, 2017, 14:01 Amine Ifri <[hidden email]> wrote:Hi all,
This is my first posting on the Quantlib Users forum.
I am currently working on a small random numbers generation framework for a simulation model, and using the class template RandomSequenceGenerator<> with the Mersenne Twister generator provided with QL.
I generate 30 scenarios per time point, along 80 time points or so. I noticed that the format of the numbers outputted on my std::out is set to some weird floating representations (e-294, etc…) and after a while the generator sets the numbers to 0.
Any help on this will be very much appreciated,
Thanks,
Amine
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Free forum by Nabble | Disable Popup Ads | Edit this page |