pub struct ClassicalShadow { /* private fields */ }Expand description
Classical shadow protocol for efficient property estimation
Implementations§
Source§impl ClassicalShadow
impl ClassicalShadow
Sourcepub fn from_measurements(
num_qubits: usize,
bases: Vec<String>,
outcomes: Vec<String>,
) -> Result<Self, QuantumInfoError>
pub fn from_measurements( num_qubits: usize, bases: Vec<String>, outcomes: Vec<String>, ) -> Result<Self, QuantumInfoError>
Create a new classical shadow from measurement data
Sourcepub fn generate_random_bases(
num_qubits: usize,
num_snapshots: usize,
) -> Vec<String>
pub fn generate_random_bases( num_qubits: usize, num_snapshots: usize, ) -> Vec<String>
Generate random Pauli measurement bases
Sourcepub fn estimate_observable(
&self,
observable: &str,
) -> Result<f64, QuantumInfoError>
pub fn estimate_observable( &self, observable: &str, ) -> Result<f64, QuantumInfoError>
Sourcepub fn estimate_observables(
&self,
observables: &[String],
) -> Result<Vec<f64>, QuantumInfoError>
pub fn estimate_observables( &self, observables: &[String], ) -> Result<Vec<f64>, QuantumInfoError>
Estimate multiple observables efficiently
Sourcepub fn estimate_fidelity(
&self,
target: &QuantumState,
) -> Result<f64, QuantumInfoError>
pub fn estimate_fidelity( &self, target: &QuantumState, ) -> Result<f64, QuantumInfoError>
Estimate fidelity with a target pure state
Sourcepub fn num_snapshots(&self) -> usize
pub fn num_snapshots(&self) -> usize
Get number of snapshots
Trait Implementations§
Source§impl Clone for ClassicalShadow
impl Clone for ClassicalShadow
Source§fn clone(&self) -> ClassicalShadow
fn clone(&self) -> ClassicalShadow
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 moreAuto Trait Implementations§
impl Freeze for ClassicalShadow
impl RefUnwindSafe for ClassicalShadow
impl Send for ClassicalShadow
impl Sync for ClassicalShadow
impl Unpin for ClassicalShadow
impl UnwindSafe for ClassicalShadow
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.