Quantum 3xplorer (Q3)
Loading...
Searching...
No Matches
init.hpp
Go to the documentation of this file.
1
#pragma once
2
3
/**
4
* SubspaceSelection — how the N states the gauge is built from are chosen
5
* out of the band window.
6
*
7
* Two answers exist, and they are two classes rather than a mode the builder
8
* branches on. IsolatedManifoldSelection takes the
9
* window as it stands: the bands ARE the states, and the choice is the
10
* projection gauge on them. ProjectabilityDisentanglementSelection
11
* classifies the bands and iterates a smooth subspace out of a wider window,
12
* which is what an entangled manifold needs. Both hand back the same thing
13
* -- an orthonormal frame per k-point, in the projection gauge -- so the
14
* gauge choice that follows does not know which one ran.
15
*
16
* Mirrors OverlapOperator: an interface, one class per physical context, and
17
* a factory (factory.hpp) that dispatches on the settings.
18
*/
19
20
#include <cstddef>
21
#include <vector>
22
23
#include "
layer_0_core/math/linear_algebra/dense_matrix.hpp
"
24
#include "
layer_0_core/types/init.hpp
"
25
#include "
layer_4_computation/interpolator/method/wannier/construction_inputs.hpp
"
26
#include "
layer_4_computation/interpolator/method/wannier/internal/band_classification.hpp
"
27
#include "
layer_4_computation/interpolator/method/wannier/report/init.hpp
"
28
#include "
layer_4_computation/interpolator/method/wannier/subspace/wannier_subspace.hpp
"
29
30
namespace
q3
{
31
32
class
SubspaceSelection
{
33
public
:
34
virtual
~SubspaceSelection
() =
default
;
35
36
[[nodiscard]]
virtual
WannierSubspace
choose
(
const
WannierConstructionInputs
& inputs)
const
= 0;
37
};
38
39
}
// namespace q3
band_classification.hpp
q3::SubspaceSelection
Definition
init.hpp:32
q3::SubspaceSelection::~SubspaceSelection
virtual ~SubspaceSelection()=default
q3::SubspaceSelection::choose
virtual WannierSubspace choose(const WannierConstructionInputs &inputs) const =0
q3::WannierConstructionInputs
Definition
construction_inputs.hpp:41
construction_inputs.hpp
dense_matrix.hpp
init.hpp
init.hpp
q3
Definition
q3_core_api.hpp:33
q3::WannierSubspace
Definition
wannier_subspace.hpp:24
wannier_subspace.hpp
src
layer_4_computation
interpolator
method
wannier
subspace
init.hpp
Generated by
1.9.8