pub struct MotionalMode {
pub mode_id: usize,
pub frequency: f64,
pub direction: String,
pub mode_type: MotionalModeType,
pub lamb_dicke_parameter: f64,
pub phonon_state: Array1<Complex64>,
pub max_phonons: usize,
}Expand description
Motional modes of the trapped ion chain
Fields§
§mode_id: usizeMode index
frequency: f64Trap frequency for this mode
direction: StringMode direction (x, y, z)
mode_type: MotionalModeTypeCenter-of-mass or breathing mode
lamb_dicke_parameter: f64Lamb-Dicke parameter
phonon_state: Array1<Complex64>Current phonon state (Fock state amplitudes)
max_phonons: usizeMaximum phonons to consider
Implementations§
Source§impl MotionalMode
impl MotionalMode
Sourcepub fn ground_state(
mode_id: usize,
frequency: f64,
direction: String,
mode_type: MotionalModeType,
lamb_dicke_parameter: f64,
max_phonons: usize,
) -> Self
pub fn ground_state( mode_id: usize, frequency: f64, direction: String, mode_type: MotionalModeType, lamb_dicke_parameter: f64, max_phonons: usize, ) -> Self
Create motional mode in ground state
Sourcepub fn thermal_state(
mode_id: usize,
frequency: f64,
direction: String,
mode_type: MotionalModeType,
lamb_dicke_parameter: f64,
max_phonons: usize,
mean_phonons: f64,
) -> Self
pub fn thermal_state( mode_id: usize, frequency: f64, direction: String, mode_type: MotionalModeType, lamb_dicke_parameter: f64, max_phonons: usize, mean_phonons: f64, ) -> Self
Create thermal state with given mean phonon number
Sourcepub fn mean_phonon_number(&self) -> f64
pub fn mean_phonon_number(&self) -> f64
Get mean phonon number
Sourcepub fn displace(&mut self, alpha: Complex64) -> QuantRS2Result<()>
pub fn displace(&mut self, alpha: Complex64) -> QuantRS2Result<()>
Apply displacement operator D(α)
Trait Implementations§
Source§impl Clone for MotionalMode
impl Clone for MotionalMode
Source§fn clone(&self) -> MotionalMode
fn clone(&self) -> MotionalMode
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for MotionalMode
impl RefUnwindSafe for MotionalMode
impl Send for MotionalMode
impl Sync for MotionalMode
impl Unpin for MotionalMode
impl UnwindSafe for MotionalMode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.