Hi all,
I found a strange behavior of ngs mcresult operators "+" and "*".
I made a fresh instalation of ALPS-2.1.1-r6193, edited
/alps/applications/dmft/qmc/hybridization2/main.C and added the following
code between lines 52 and 53:
alps::mcresult img, temp;
img = results["gw_im"];
temp = img + img;
std::vector<double> temp_mean, img_mean;
temp_mean = temp.mean<std::vector<double> >();
img_mean = img.mean<std::vector<double> >();
I would expect temp_mean to be just twice the img_mean. However, it seems to
be 2*img_mean*img.bin_size()/img_mean.size(). Similarly, the "*" oerator
yields wrongly scalled result as well (I do not know what the scaling
factor is). On the contrary, "img-img" and "img/img" gives correct
answers. Is it a bug or just my misunderstanding of what these operators
should do?
Besides that, I would like to use the mcresult::covariance method, but it is
not implemented yet. Could I ask anyone to change that?
Thank you for any help or comments!
Best regards,
Pavel