70 std::string *reason =
nullptr)
noexcept;
84 double hbar = 1.0)
noexcept;
94 double hbar = 1.0)
noexcept;
103 double hbar = 1.0)
noexcept;
144 void clear()
noexcept;
176 const std::vector<QuantumRevivalSample2D> &
samples() const noexcept
Owning Cartesian grid of complex scalar samples.
bool empty() const noexcept
Returns whether the field contains no samples.
float dx() const noexcept
Returns the X grid spacing.
std::size_t width() const noexcept
Returns the number of samples along X.
Implements the Potential Scene2D component.
Implements the Quantum Revival History2D component.
bool empty() const noexcept
Returns whether the object contains no data.
void setMaximumSamples(std::size_t maximumSamples)
Sets maximum samples.
bool captureReference(const ComplexField2D &field)
Carries out capture reference.
std::size_t size() const noexcept
Returns size.
std::vector< QuantumRevivalSample2D > samples_
std::size_t maximumSamples_
float dx() const noexcept
Returns the X-axis grid spacing.
const std::vector< QuantumRevivalSample2D > & samples() const noexcept
Samples s.
void clear() noexcept
Clears stored state and returns the component to its empty/default state.
bool append(double time, const ComplexField2D &field)
Carries out append.
std::size_t maximumSamples() const noexcept
Carries out maximum samples.
bool hasReference() const noexcept
Returns whether reference.
QuantumRevivalHistory2D(std::size_t maximumSamples=1200u)
Constructs a Quantum Revival History 2D instance.
std::size_t gridWidth() const noexcept
Carries out grid width.
void trimToLimit()
Carries out trim to limit.
ComplexField2D reference_
Implements the Quantum Revivals2D component.
static std::vector< float > marginalProbabilityX(const ComplexField2D &field)
Performs marginal probability x.
static double revivalTimeY(const QuantumBoxGeometry2D &geometry, double mass, double hbar=1.0) noexcept
Performs revival time y.
static double revivalTimeX(const QuantumBoxGeometry2D &geometry, double mass, double hbar=1.0) noexcept
Performs revival time x.
static bool identifyBox(const PotentialScene2D &scene, QuantumBoxGeometry2D &geometry, std::string *reason=nullptr) noexcept
Returns identify box.
static double revivalTime(double boxLength, double mass, double hbar=1.0) noexcept
Performs revival time.
static double fidelity(const ComplexField2D &reference, const ComplexField2D &field) noexcept
Performs fidelity.
Declares the complex scalar field container representing two-dimensional wave functions.
Declares the potentialscene2d physics/numerical component used by QPE experiments.
Data structure used by the Quantum Box Geometry2D component.
Data structure used by the Quantum Revival Sample2D component.
std::vector< float > marginalX