pengwann.descriptors.DescriptorCalculator.get_dos_matrix#
- descriptors.DescriptorCalculator.get_dos_matrix(c_star, c, resolve_k=False)#
Calculate the DOS matrix for a pair of Wannier functions.
- Parameters:
- c_star
ndarrayofcomplex The complex conjugate of the coefficient matrix for Wannier function i with Bravais lattice vector R_1.
- c
ndarrayofcomplex The coefficient matrix for Wannier function j with Bravais lattice vector R_2.
- resolve_kbool, optional
Whether or not to resolve the DOS matrix with respect to k-points. Defaults to False.
- c_star
- Returns:
See also
Notes
For resolve_k = True, the DOS matrix \(D_{\alpha\beta}\) for a given pair of Wannier functions \(\ket{w_{\alpha}}\) and \(\ket{w_{\beta}}\) has dimensions of num_energy x num_kpoints, where num_energy refers to the number of discrete energies over which the density of states has been evaluated. For resolve_k = False, it is technically no longer a DOS matrix but rather a DOS vector with num_energy elements.
For the k-resolved case, each element of the DOS matrix is constructed as [1]
\[D_{\alpha\beta}(E, k) = \sum_{n} \mathrm{Re}\left[\left(C^{\alpha}_{nk} \right)^{*}C^{\beta}_{nk}\right] \cdot \delta(E - \epsilon_{nk}),\]where \(\left(C^{\alpha}\right)^{*}\) and \(C^{\beta}\) reflect the values of the c_star and c arguments and \(\delta(E - \epsilon_{nk})\) is the density of states evaluated for a particular band and k-point. Summing over \(k\) (resolve_k = False) yields
\[D_{\alpha\beta}(E) = \sum_{k} D_{\alpha\beta}(E, k),\]which is the aforementioned DOS vector.
References