triqs_dft_tools.converters.plovasp.proj_group.ProjectorGroup.orthogonalize

ProjectorGroup.orthogonalize()[source]

Orthogonalize a group of projectors.

There are two options for orthogonalizing projectors:
  1. one ensures orthogonality on each site (NORMION = True);

  2. one ensures orthogonality for subsets of sites (NORMION = False), as, e.g., in cluster calculations.

In order to handle various cases the strategy is first to build a mapping that selects appropriate blocks of raw projectors, forms a matrix consisting of these blocks, orthogonalize the matrix, and use the mapping again to write the orthogonalized projectors back to the projector arrays. Note that the blocks can comprise several projector arrays contained in different projector shells.

The construction of block maps is performed in ‘self.get_block_matrix_map()’.