pub struct NoiseModel {
pub channels: Vec<NoiseChannelType>,
pub per_gate: bool,
}Expand description
Noise model that combines multiple noise channels
Fields§
§channels: Vec<NoiseChannelType>List of noise channels
per_gate: boolWhether the noise is applied after each gate
Implementations§
Source§impl NoiseModel
impl NoiseModel
Sourcepub fn add_bit_flip(&mut self, channel: BitFlipChannel) -> &mut Self
pub fn add_bit_flip(&mut self, channel: BitFlipChannel) -> &mut Self
Add a bit flip noise channel to the model
Sourcepub fn add_phase_flip(&mut self, channel: PhaseFlipChannel) -> &mut Self
pub fn add_phase_flip(&mut self, channel: PhaseFlipChannel) -> &mut Self
Add a phase flip noise channel to the model
Sourcepub fn add_depolarizing(&mut self, channel: DepolarizingChannel) -> &mut Self
pub fn add_depolarizing(&mut self, channel: DepolarizingChannel) -> &mut Self
Add a depolarizing noise channel to the model
Sourcepub fn add_amplitude_damping(
&mut self,
channel: AmplitudeDampingChannel,
) -> &mut Self
pub fn add_amplitude_damping( &mut self, channel: AmplitudeDampingChannel, ) -> &mut Self
Add an amplitude damping noise channel to the model
Sourcepub fn add_phase_damping(&mut self, channel: PhaseDampingChannel) -> &mut Self
pub fn add_phase_damping(&mut self, channel: PhaseDampingChannel) -> &mut Self
Add a phase damping noise channel to the model
Sourcepub fn apply_to_statevector(
&self,
state: &mut [Complex64],
) -> QuantRS2Result<()>
pub fn apply_to_statevector( &self, state: &mut [Complex64], ) -> QuantRS2Result<()>
Apply all noise channels to a state vector
Sourcepub fn num_channels(&self) -> usize
pub fn num_channels(&self) -> usize
Get the total number of channels
Trait Implementations§
Source§impl Clone for NoiseModel
impl Clone for NoiseModel
Source§fn clone(&self) -> NoiseModel
fn clone(&self) -> NoiseModel
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 moreSource§impl Debug for NoiseModel
impl Debug for NoiseModel
Auto Trait Implementations§
impl Freeze for NoiseModel
impl RefUnwindSafe for NoiseModel
impl Send for NoiseModel
impl Sync for NoiseModel
impl Unpin for NoiseModel
impl UnwindSafe for NoiseModel
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.