triqs_dft_tools.converters.plovasp.proj_group.ProjectorGroup.calc_complement

ProjectorGroup.calc_complement(eigvals)[source]

Calculate the complement for a group of projectors.

This leads to quadtratic projectors \(P = <l|n>\) by using a Gram-Schmidt.

The projector on the orthogonal complement of the existing projectors \(|l>\) is \(P^u = 1 - sum_l |l><l|\) We get candidates for complement projectors by applying P^u to a Bloch state \(|n>\): \(|l*> = P^u |n>\). For numerical stability we select that Bloch state which leads to the \(|l*>\) with the largest norm (that corresponds to that Bloch state with the smallest overlap with the space spanned by \(|l>\)) We normalize \(|l*>\) and add it to \(|l>\). We do so untill we have as many \(|l>\) states as we have \(|n>\) states.