pub struct OverlapResult {
pub fidelity: f64,
pub left: RunMetadata,
pub right: RunMetadata,
}Expand description
Overlap between the output states of two runs, returned by
Simulate::overlap.
Fields§
§fidelity: f64|<a|b>|^2 over the two normalized states: 1 for the same state up to
phase, 0 for orthogonal ones. The amplitude itself is not reported,
since a tableau keeps no global phase and every MPS truncation moves
one.
left: RunMetadataProvenance of the run the terminal was called on, the left of the inner product.
right: RunMetadataProvenance of the run passed as the argument.
Trait Implementations§
Source§impl Clone for OverlapResult
impl Clone for OverlapResult
Source§fn clone(&self) -> OverlapResult
fn clone(&self) -> OverlapResult
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for OverlapResult
impl RefUnwindSafe for OverlapResult
impl Send for OverlapResult
impl Sync for OverlapResult
impl Unpin for OverlapResult
impl UnsafeUnpin for OverlapResult
impl UnwindSafe for OverlapResult
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T, U> Imply<T> for U
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 more