87 std::string *reason =
nullptr)
noexcept;
99 std::string *reason =
nullptr);
109 double hbar)
noexcept;
125 double initialMeanY)
noexcept;
138 double hbar)
noexcept;
145 double hbar)
noexcept;
204 const std::vector<QuantumZitterbewegungSample2D> &
samples() const noexcept {
return samples_; }
254 std::vector<QuantumZitterbewegungSample2D>
samples_;
Two-component complex spinor field used by the QPE Dirac branch.
Implements the Quantum Zitterbewegung2D component.
static double predictedZitterPeriod(const QuantumZitterbewegung2DConfig &config, double hbar) noexcept
Performs predicted zitter period.
static double predictedDriftX(const QuantumZitterbewegung2DConfig &config) noexcept
Performs predicted drift x.
static double predictedDriftY(const QuantumZitterbewegung2DConfig &config) noexcept
Performs predicted drift y.
static bool validateConfig(const QuantumZitterbewegung2DConfig &config, std::string *reason=nullptr) noexcept
Validates config.
static QuantumZitterbewegungSample2D measure(const DiracSpinor2D &spinor, const QuantumZitterbewegung2DConfig &config, double hbar, double time, double initialMeanX, double initialMeanY) noexcept
Performs measure.
static double centralEnergy(const QuantumZitterbewegung2DConfig &config) noexcept
Performs central energy.
static DiracEnergyFractions2D energyFractions(const DiracSpinor2D &spinor, const QuantumZitterbewegung2DConfig &config, double hbar) noexcept
Returns energy fractions.
static bool prepareState(DiracSpinor2D &spinor, const QuantumZitterbewegung2DConfig &config, double hbar, std::string *reason=nullptr)
Prepares state.
static double predictedZitterOmega(const QuantumZitterbewegung2DConfig &config, double hbar) noexcept
Performs predicted zitter omega.
Implements the Quantum Zitterbewegung History2D component.
QuantumZitterbewegung2DConfig config_
double fittedDriftX() const noexcept
Carries out fitted drift x.
bool configure(const DiracSpinor2D &spinor, const QuantumZitterbewegung2DConfig &config, double hbar)
Returns configure.
QuantumZitterbewegungHistory2D(std::size_t maximumSamples=640u)
Constructs a Quantum Zitterbewegung History 2D instance.
bool configured() const noexcept
Returns configured.
double positiveEnergyFraction() const noexcept
Carries out positive energy fraction.
void clear()
Clears stored state and returns the component to its empty/default state.
DiracEnergyFractions2D energyFractions_
double fittedDriftY() const noexcept
Carries out fitted drift y.
double initialMeanY() const noexcept
Initializes ial mean y.
const QuantumZitterbewegung2DConfig & config() const noexcept
Returns config.
std::size_t maximumSamples_
double maximumAbsResidualX() const noexcept
Carries out maximum abs residual x.
void append(double time, const DiracSpinor2D &spinor)
Carries out append.
void trim()
Carries out trim.
double initialMeanX() const noexcept
Initializes ial mean x.
std::vector< QuantumZitterbewegungSample2D > samples_
double maximumAbsResidualX_
double negativeEnergyFraction() const noexcept
Carries out negative energy fraction.
double hbar() const noexcept
Carries out hbar.
const std::vector< QuantumZitterbewegungSample2D > & samples() const noexcept
Samples s.
Declares the two-component Dirac spinor field container used by QPE.
Data structure used by the Dirac Energy Fractions2D component.
Configuration values for Quantum Zitterbewegung2D Config.
Data structure used by the Quantum Zitterbewegung Sample2D component.