pub struct HolonomicGateOp {
pub path: HolonomicPath,
pub target_qubits: Vec<QubitId>,
pub gate_time: f64,
}Expand description
Holonomic quantum gate implementation
Fields§
§path: HolonomicPath§target_qubits: Vec<QubitId>§gate_time: f64Implementations§
Source§impl HolonomicGateOp
impl HolonomicGateOp
Sourcepub const fn new(
path: HolonomicPath,
target_qubits: Vec<QubitId>,
gate_time: f64,
) -> Self
pub const fn new( path: HolonomicPath, target_qubits: Vec<QubitId>, gate_time: f64, ) -> Self
Create a new holonomic gate
Sourcepub fn is_adiabatic(&self, energy_gap: f64) -> bool
pub fn is_adiabatic(&self, energy_gap: f64) -> bool
Check if the gate preserves adiabaticity
Sourcepub fn geometric_phase(&self) -> f64
pub fn geometric_phase(&self) -> f64
Compute the geometric phase accumulated during gate operation
Trait Implementations§
Source§impl Clone for HolonomicGateOp
impl Clone for HolonomicGateOp
Source§fn clone(&self) -> HolonomicGateOp
fn clone(&self) -> HolonomicGateOp
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 HolonomicGateOp
impl Debug for HolonomicGateOp
Source§impl GateOp for HolonomicGateOp
impl GateOp for HolonomicGateOp
Source§fn matrix(&self) -> QuantRS2Result<Vec<Complex64>>
fn matrix(&self) -> QuantRS2Result<Vec<Complex64>>
Returns the matrix representation of this gate
Source§fn clone_gate(&self) -> Box<dyn GateOp>
fn clone_gate(&self) -> Box<dyn GateOp>
Clone the gate into a new boxed instance
Source§fn num_qubits(&self) -> usize
fn num_qubits(&self) -> usize
Returns the number of qubits this gate acts on
Source§fn is_parameterized(&self) -> bool
fn is_parameterized(&self) -> bool
Returns true if this gate is parameterized
Auto Trait Implementations§
impl Freeze for HolonomicGateOp
impl RefUnwindSafe for HolonomicGateOp
impl Send for HolonomicGateOp
impl Sync for HolonomicGateOp
impl Unpin for HolonomicGateOp
impl UnwindSafe for HolonomicGateOp
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.