pythtb.Wannier.project#

Wannier.project(tf_list=None, band_idxs=None, use_tilde=False)[source]#

Perform Wannierization via optimal alignment with trial functions (single-shot SVD).

Constructs Bloch-like states \(\tilde{\psi}_{n\mathbf{k}}\) by maximizing their overlap with user-specified trial functions using a per-\(\mathbf{k}\) singular-value decomposition. Specifically, for the overlap matrix

\[A_{n j}(\mathbf{k}) \;=\; \langle \psi_{n\mathbf{k}} \mid t_j \rangle ,\]

we compute \(A(\mathbf{k}) = V(\mathbf{k}) \Sigma(\mathbf{k}) W^\dagger(\mathbf{k})\) and rotate the selected energy eigenstates by \(U(\mathbf{k}) \equiv V(\mathbf{k}) W^\dagger(\mathbf{k})\):

\[\tilde{\psi}_{n\mathbf{k}} \;=\; \sum_{m\in \texttt{band_idxs}} U_{nm}(\mathbf{k}) \, \psi_{m\mathbf{k}} .\]

This realizes the optimal alignment described in [1] (Sec. II) and used in the disentanglement initialization of [2].

Sets the Wannier functions in home unit cell with associated spreads, centers, trial functions and Bloch-like (tilde) states using the single shot projection method.

Parameters:
tf_listlist, optional

Trial wavefunctions. If omitted, previously set trials are used.

band_idxslist, optional

Indices of energy bands to project (defaults to occupied manifold).

use_tildebool, optional

If True, project onto the current Bloch-like subspace instead of the original energy eigenstates. This can be used to re-wannierize a set of Bloch-like states with a different set of trial functions. By default False.

Returns:
w_0nnp.ndarray

Wannier functions in the home unit cell, obtained by inverse FFT of \(\tilde{\psi}_{n\mathbf{k}}\).

Notes

This routine does not perform iterative minimization of \(\Omega\); it provides a high-quality initial guess via SVD alignment.

References

[1]

Marzari, N., & Vanderbilt, D. Maximally localized generalized Wannier functions for composite energy bands. Phys. Rev. B 56, 12847 (1997).

[2]

Souza, I., Marzari, N., & Vanderbilt, D. Maximally localized Wannier functions for entangled energy bands. Phys. Rev. B 65, 035109 (2001).