test
merge from Kun
test for Dyson
merge from Kun
find the bug in calculate_Sigma_first_order. consistent with Fortran code now