Quantum 3xplorer (Q3)
An AI-native quantum simulation engine
Loading...
Searching...
No Matches
q3::SpreadReport Struct Reference

#include <spread_report.hpp>

Static Public Member Functions

static SpreadReport evaluated_as (const SpreadTerms &terms, bool guided_by_trial_orbitals, std::vector< Vector3D > trial_orbital_centers_bohr, Real initial_minimizable_bohr_squared)
 

Public Attributes

std::vector< Vector3D > centers_bohr
 
bool evaluated = false
 Whether the numbers below were evaluated at all; false leaves them at their zeros.
 
Real gauge_invariant_bohr_squared = 0.0
 
bool guided_by_trial_orbitals = false
 Whether the phase branches were fixed by the trial-orbital positions in the record.
 
Real initial_minimizable_bohr_squared = 0.0
 
bool localization_converged = false
 
Real localization_gradient_norm = 0.0
 
int localization_iterations = 0
 
bool localized = false
 Whether the gauge was rotated by the spread minimiser at all.
 
std::vector< Real > spreads_bohr_squared
 Omega_n per function, bohr squared.
 
Real total_bohr_squared = 0.0
 
std::vector< Vector3D > trial_orbital_centers_bohr
 The record's trial-orbital positions, Cartesian bohr; empty when it carries none.
 

Detailed Description

Definition at line 21 of file spread_report.hpp.

Member Function Documentation

◆ evaluated_as()

static SpreadReport q3::SpreadReport::evaluated_as ( const SpreadTerms &  terms,
bool  guided_by_trial_orbitals,
std::vector< Vector3D >  trial_orbital_centers_bohr,
Real  initial_minimizable_bohr_squared 
)
inlinestatic

The report of a spread that WAS evaluated: terms at the final gauge, what its phases were guided by, and the minimisable part at the projection gauge. The localisation's own numbers are its caller's to add; a gauge that was not localised leaves them at their defaults.

Definition at line 28 of file spread_report.hpp.

References q3::SpreadTerms::centers_bohr, centers_bohr, evaluated, q3::SpreadTerms::gauge_invariant_bohr_squared, gauge_invariant_bohr_squared, guided_by_trial_orbitals, initial_minimizable_bohr_squared, q3::SpreadTerms::spreads_bohr_squared, spreads_bohr_squared, q3::SpreadTerms::total_bohr_squared(), total_bohr_squared, and trial_orbital_centers_bohr.

Referenced by q3::MaximallyLocalizedGaugeChoice::choose(), and q3::ProjectionGaugeChoice::choose().

Member Data Documentation

◆ centers_bohr

std::vector<Vector3D> q3::SpreadReport::centers_bohr

Definition at line 54 of file spread_report.hpp.

Referenced by q3::WannierQualityAssessor::assess(), and evaluated_as().

◆ evaluated

bool q3::SpreadReport::evaluated = false

Whether the numbers below were evaluated at all; false leaves them at their zeros.

Definition at line 45 of file spread_report.hpp.

Referenced by evaluated_as().

◆ gauge_invariant_bohr_squared

Real q3::SpreadReport::gauge_invariant_bohr_squared = 0.0

Omega_I, bohr squared. From the spread when it was evaluated, and otherwise from the subspace iteration when there was one: it is the one spread term a disentangled model has even on a mesh where the centres are undefined.

Definition at line 52 of file spread_report.hpp.

Referenced by q3::ProjectionGaugeChoice::choose(), and evaluated_as().

◆ guided_by_trial_orbitals

bool q3::SpreadReport::guided_by_trial_orbitals = false

Whether the phase branches were fixed by the trial-orbital positions in the record.

Definition at line 58 of file spread_report.hpp.

Referenced by evaluated_as().

◆ initial_minimizable_bohr_squared

Real q3::SpreadReport::initial_minimizable_bohr_squared = 0.0

Omega_D + Omega_OD at the projection gauge, before any rotation: what localisation bought is this minus the final value.

Definition at line 65 of file spread_report.hpp.

Referenced by evaluated_as().

◆ localization_converged

bool q3::SpreadReport::localization_converged = false

Whether the minimisation actually reached a stationary gauge. False after a stall, where the gauge is the best one found but not a minimum – and where calling the model "maximally localized" would be a claim the run did not earn.

Definition at line 75 of file spread_report.hpp.

Referenced by q3::MaximallyLocalizedGaugeChoice::choose(), and q3::WannierConstructionReport::description().

◆ localization_gradient_norm

Real q3::SpreadReport::localization_gradient_norm = 0.0

Definition at line 76 of file spread_report.hpp.

Referenced by q3::MaximallyLocalizedGaugeChoice::choose().

◆ localization_iterations

int q3::SpreadReport::localization_iterations = 0

Definition at line 68 of file spread_report.hpp.

Referenced by q3::MaximallyLocalizedGaugeChoice::choose().

◆ localized

bool q3::SpreadReport::localized = false

Whether the gauge was rotated by the spread minimiser at all.

Definition at line 67 of file spread_report.hpp.

Referenced by q3::MaximallyLocalizedGaugeChoice::choose(), and q3::WannierConstructionReport::description().

◆ spreads_bohr_squared

std::vector<Real> q3::SpreadReport::spreads_bohr_squared

Omega_n per function, bohr squared.

Definition at line 56 of file spread_report.hpp.

Referenced by q3::WannierQualityAssessor::assess(), and evaluated_as().

◆ total_bohr_squared

Real q3::SpreadReport::total_bohr_squared = 0.0

Definition at line 53 of file spread_report.hpp.

Referenced by evaluated_as().

◆ trial_orbital_centers_bohr

std::vector<Vector3D> q3::SpreadReport::trial_orbital_centers_bohr

The record's trial-orbital positions, Cartesian bohr; empty when it carries none.

Definition at line 60 of file spread_report.hpp.

Referenced by evaluated_as().


The documentation for this struct was generated from the following file: