#include <projection_gauge.hpp>
Public Member Functions | |
| ProjectionGauge (Real singular_value_tolerance=math::tolerances::wannier_projection_singular_value_threshold) | |
| DenseMatrix< Complex > | compute (const DenseMatrix< Complex > &projections) const |
| std::vector< DenseMatrix< Complex > > | compute_all (const std::vector< DenseMatrix< Complex > > &projections) const |
| U(k) for every k-point's projection block; a refusal names the k-point it happened at. | |
Definition at line 50 of file projection_gauge.hpp.
|
inlineexplicit |
A smallest singular value below singular_value_tolerance means the trial orbitals fail to span the target manifold there, and every downstream quantity built on the resulting gauge would be quietly meaningless; it is refused.
Definition at line 58 of file projection_gauge.hpp.
|
inline |
U from one k-point's projection block, bands x Wannier functions with the band as the row; U has the same shape.
Scientific notation, not std::to_string: the values compared here are near zero by construction, and six fixed decimals would report both of them as "0.000000" – a diagnostic that names no number.
Definition at line 83 of file projection_gauge.hpp.
References q3::DenseMatrix< T >::columns(), q3::SingularValueDecomposition::compute(), q3::gauge_singular, q3::SingularValueDecompositionResult::left_vectors, q3::multiply(), q3::None, q3::SingularValueDecompositionResult::right_vectors_adjoint, q3::DenseMatrix< T >::rows(), and q3::SingularValueDecompositionResult::singular_values.
Referenced by compute_all().
|
inline |
U(k) for every k-point's projection block; a refusal names the k-point it happened at.
Definition at line 64 of file projection_gauge.hpp.
References compute().
Referenced by q3::IsolatedManifoldSelection::choose().