@karlnapf 
Do you think which one is better
	eigen_l2_plus_s2 = (eigen_s2.replicate(1,eigen_l.rows()).array().transpose().colwise() + eigen_l.array().pow(2)).matrix();
or
	eigen_l2_plus_s2 = (eigen_s2.replicate(1,eigen_l.rows()).array().rowwise() + eigen_l.array().transpose().pow(2)).transpose().matrix();