pub struct CVGateLibrary;Expand description
Common CV gate implementations
Implementations§
Source§impl CVGateLibrary
impl CVGateLibrary
Sourcepub fn displacement(amplitude: Complex) -> (CVGateType, CVGateParams)
pub fn displacement(amplitude: Complex) -> (CVGateType, CVGateParams)
Create a displacement gate
Sourcepub fn squeezing(parameter: f64, phase: f64) -> (CVGateType, CVGateParams)
pub fn squeezing(parameter: f64, phase: f64) -> (CVGateType, CVGateParams)
Create a squeezing gate
Sourcepub fn balanced_beamsplitter() -> (CVGateType, CVGateParams)
pub fn balanced_beamsplitter() -> (CVGateType, CVGateParams)
Create a 50:50 beamsplitter
Sourcepub fn fourier_transform() -> CVGateSequence
pub fn fourier_transform() -> CVGateSequence
Create a Hadamard-like operation for CV (Fourier transform)
Sourcepub fn cv_cnot() -> CVGateSequence
pub fn cv_cnot() -> CVGateSequence
Create a CNOT-like operation for CV
Sourcepub fn epr_pair_generation(squeezing_param: f64) -> CVGateSequence
pub fn epr_pair_generation(squeezing_param: f64) -> CVGateSequence
Create an EPR pair generation sequence
Sourcepub fn gkp_state_preparation() -> CVGateSequence
pub fn gkp_state_preparation() -> CVGateSequence
Create a GKP (Gottesman-Kitaev-Preskill) state preparation sequence
Auto Trait Implementations§
impl Freeze for CVGateLibrary
impl RefUnwindSafe for CVGateLibrary
impl Send for CVGateLibrary
impl Sync for CVGateLibrary
impl Unpin for CVGateLibrary
impl UnwindSafe for CVGateLibrary
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
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.