Loading...
Searching...
No Matches
wannier_subspace.hpp
Go to the documentation of this file.
1#pragma once
2
3/**
4 * WannierSubspace — the chosen subspace, as a SubspaceSelection hands it to
5 * the gauge choice, with its section of the construction report.
6 *
7 * `frames[k]` is C(k), kept x N with orthonormal columns: the subspace at k
8 * in the projection gauge, its rows in the order of
9 * `classification.kpoints[k].kept_bands`. An isolated manifold keeps every
10 * band and its frame is the projection gauge itself; a disentangled one
11 * keeps a subset and its frame is V(k) U(k), the iteration's subspace times
12 * the projection gauge inside it.
13 */
14
15#include <vector>
16
21
22namespace q3 {
23
24struct [[nodiscard]] WannierSubspace {
26 std::vector<DenseMatrix<Complex>> frames;
28};
29
30} // namespace q3
Every k-point's verdict, and the summary of the whole.
BandClassification classification
std::vector< DenseMatrix< Complex > > frames
DisentanglementReport report