Dear all, I have a basic question and I am quite new to Wannier90. As a test I computed in the case of diamond the Wannier functions and I obtained the two matrices u_mat and u_mat_opt.
Given that I want to convert my Hamiltonian in Wannier basis, I was playing with these two matrices and I noticed that if you compute the density matrix \rho in Bloch basis and you take the trace Tr(\rho) you get the exact number of electrons in the system (8). Then I computed the density matrix in Wannier basis as \rho_w = conjg(u_mat) rho u_mat . Again if you take the trace : Tr(\rho_w) = 8. However if you do \rho_w = conjg(u_mat_opt) rho u_mat_opt, you get something lower ~ 7.72 . I know that there is an internal routine that check the unitarity of the matrices. Does anyone know why u_mat_opt does not preserve the trace ? Thanks in advance for the help. Jacopo Simoni, Lawrence Berkeley Nat. Lab & OTI Lumionics.
_______________________________________________ Wannier mailing list Wannier@lists.quantum-espresso.org https://lists.quantum-espresso.org/mailman/listinfo/wannier