pub enum QuantumOp {
Gate1 {
gate: Clifford1,
qubit: QubitId,
},
Gate2 {
control_basis: Pauli,
target_basis: Pauli,
control: QubitId,
target: QubitId,
},
Pauli {
basis: Pauli,
qubit: QubitId,
},
T {
basis: Pauli,
qubit: QubitId,
adjoint: bool,
},
Measure {
observable: PauliProduct,
records: Box<[RecordId]>,
flip_probability: f64,
},
Reset {
basis: Pauli,
qubit: QubitId,
},
ConditionalPauli {
basis: Pauli,
qubit: QubitId,
control: RecordId,
},
Depolarize1 {
probability: f64,
qubits: Box<[QubitId]>,
},
Depolarize2 {
probability: f64,
pairs: Box<[(QubitId, QubitId)]>,
},
PauliError {
probability: f64,
basis: Pauli,
qubits: Box<[QubitId]>,
},
}Variants§
Gate1
Gate2
Pauli
T
Measure
Fields
§
observable: PauliProductReset
ConditionalPauli
Depolarize1
Depolarize2
PauliError
Trait Implementations§
impl StructuralPartialEq for QuantumOp
Auto Trait Implementations§
impl Freeze for QuantumOp
impl RefUnwindSafe for QuantumOp
impl Send for QuantumOp
impl Sync for QuantumOp
impl Unpin for QuantumOp
impl UnsafeUnpin for QuantumOp
impl UnwindSafe for QuantumOp
Blanket Implementations§
§impl<T, BorrowedSelf> BitwiseMutViaBorrow<BorrowedSelf> for T
impl<T, BorrowedSelf> BitwiseMutViaBorrow<BorrowedSelf> for T
fn assign_index(&mut self, index: usize, to: bool)
fn negate_index(&mut self, index: usize)
fn clear_bits(&mut self)
fn assign_random(
&mut self,
bit_count: usize,
random_number_generator: &mut impl RngExt,
)where
BorrowedSelf: BitLength,
§impl<Bits, Other, BorrowedSelf, BorrowedOther> BitwisePairMutViaBorrow<Other, BorrowedSelf, BorrowedOther> for Bits
impl<Bits, Other, BorrowedSelf, BorrowedOther> BitwisePairMutViaBorrow<Other, BorrowedSelf, BorrowedOther> for Bits
fn assign(&mut self, other: &Other)
fn bitxor_assign(&mut self, other: &Other)
fn bitand_assign(&mut self, other: &Other)
fn bitor_assign(&mut self, other: &Other)
§impl<T, Other, BorrowedSelf, BorrowedOther> BitwisePairViaBorrow<Other, BorrowedSelf, BorrowedOther> for T
impl<T, Other, BorrowedSelf, BorrowedOther> BitwisePairViaBorrow<Other, BorrowedSelf, BorrowedOther> for T
§impl<T, BorrowedSelf> BitwiseViaBorrow<BorrowedSelf> for T
impl<T, BorrowedSelf> BitwiseViaBorrow<BorrowedSelf> for T
fn index(&self, index: usize) -> bool
fn weight(&self) -> usize
fn parity(&self) -> bool
fn is_zero(&self) -> bool
fn is_unit(&self, index: usize) -> bool
fn support<'a>(&'a self) -> impl SortedIteratorwhere
BorrowedSelf: 'a,
fn max_support(&self) -> Option<usize>
fn min_support(&self) -> Option<usize>
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