pub enum ProcessData {
MixedPauli(Vec<(f64, Vec<Pauli>)>),
Unitary(Array2<C64>),
KrausDecomposition(Array3<C64>),
Sequence(Vec<Process>),
ChpDecomposition(Vec<ChpOperation>),
Unsupported,
}
Expand description
Data used to represent a given process.
Variants§
MixedPauli(Vec<(f64, Vec<Pauli>)>)
Representation of a process as a mixture of Pauli operators ${(p_i, P_i)}$ such that the channel acts as $\rho \mapsto \sum_i p_i P_i \rho P_i^{\dagger}$.
Unitary(Array2<C64>)
Representation of the process by an arbitrary unitary matrix.
KrausDecomposition(Array3<C64>)
Representation of the process by the singular vectors of its Choi representation (colloquially, the Kraus decomposition).
The first index denotes each Kraus operator, with the second and third indices representing the indices of each operator.
Sequence(Vec<Process>)
Representation of a process as a sequence of other processes.
ChpDecomposition(Vec<ChpOperation>)
Representation of a Clifford operation in terms of a decomposition into CNOT, Hadamard, and phase operations.
Unsupported
Represents a process that is not supported by a given noise model, and thus always fails when applied.
Trait Implementations§
Source§impl Clone for ProcessData
impl Clone for ProcessData
Source§fn clone(&self) -> ProcessData
fn clone(&self) -> ProcessData
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ProcessData
impl Debug for ProcessData
Source§impl<'de> Deserialize<'de> for ProcessData
impl<'de> Deserialize<'de> for ProcessData
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for ProcessData
impl RefUnwindSafe for ProcessData
impl Send for ProcessData
impl Sync for ProcessData
impl Unpin for ProcessData
impl UnwindSafe for ProcessData
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
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>
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>
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 more