Skip to main content

minimum_position_uncertainty

Function minimum_position_uncertainty 

Source
pub fn minimum_position_uncertainty(momentum_uncertainty: f64) -> Option<f64>
Expand description

Computes the minimum position uncertainty estimate from delta x >= hbar / (2 * delta p).

Returns None when momentum_uncertainty is not positive and finite, or when the computed result is not finite.

ยงExamples

use use_quantum::{REDUCED_PLANCK_CONSTANT, minimum_position_uncertainty};

let position_uncertainty =
    minimum_position_uncertainty(REDUCED_PLANCK_CONSTANT).ok_or("expected valid input")?;

assert!((position_uncertainty - 0.5).abs() < 1.0e-12);
Examples found in repository?
examples/basic_usage.rs (line 31)
11fn main() -> Result<(), &'static str> {
12    let photon = Photon::from_wavelength(500.0e-9).ok_or("expected valid photon wavelength")?;
13    let matter_wave =
14        MatterWave::from_mass_velocity(2.0, 3.0).ok_or("expected valid matter wave")?;
15    let quantum_numbers =
16        QuantumNumbers::new(2, 1, 0, 1).ok_or("expected valid quantum numbers")?;
17
18    assert!(photon.energy_ev().ok_or("expected photon energy in eV")? > 0.0);
19    assert!(
20        matter_wave
21            .wavelength()
22            .ok_or("expected matter wavelength")?
23            > 0.0
24    );
25    assert!(approx_eq(quantum_numbers.spin_projection(), 0.5));
26    assert!(approx_eq(
27        hydrogen_energy_level_ev(1).ok_or("expected hydrogen energy level")?,
28        -RYDBERG_ENERGY_EV,
29    ));
30    assert!(approx_eq(
31        minimum_position_uncertainty(REDUCED_PLANCK_CONSTANT)
32            .ok_or("expected minimum uncertainty")?,
33        0.5,
34    ));
35
36    Ok(())
37}