<div dir="ltr"><div>Dear all, I have a basic question and I am quite new to Wannier90.</div><div><br></div><div>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.</div><div><br></div><div>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).</div><div>Then I computed the density matrix in Wannier basis as \rho_w = conjg(u_mat) rho u_mat .</div><div>Again if you take the trace : Tr(\rho_w) = 8.</div><div>However if you do \rho_w = conjg(u_mat_opt) rho u_mat_opt, you get something lower ~ 7.72 .</div><div>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 ?</div><div><br></div><div>Thanks in advance for the help.</div><div>Jacopo Simoni, Lawrence Berkeley Nat. Lab & OTI Lumionics.<br></div></div>