this creates an issue when a large number of cores is used, and the vector is small: only the cores in mpi_comm_group will get the norm, the others will get nothing. Then when they creare impG, the weights will all be 0. When they try to invert it in order to get Sigma, they will fail.
The solution can be
a) move the bcast after the delete_hv_sector line, where the communicator is reset
b) implement the new functions added in the single-site code (e.g. tridiag_Hv_sector_normal)
as it stands, the norm of vvinit is broadcast in this way, whenever we need to add/remove a particle
this creates an issue when a large number of cores is used, and the vector is small: only the cores in mpi_comm_group will get the norm, the others will get nothing. Then when they creare impG, the weights will all be 0. When they try to invert it in order to get Sigma, they will fail. The solution can be
a) move the bcast after the delete_hv_sector line, where the communicator is reset b) implement the new functions added in the single-site code (e.g. tridiag_Hv_sector_normal)
b) is preferred for uniformity and future-proof