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: bool
Whether 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.