pub struct QuantumVolume {
pub max_qubits: usize,
pub num_circuits: usize,
pub num_shots: usize,
pub success_threshold: f64,
/* private fields */
}Expand description
Quantum Volume Protocol
Measures the largest random square circuit (n×n) that can be executed reliably on a quantum computer.
Fields§
§max_qubits: usizeMaximum number of qubits to test
num_circuits: usizeNumber of random circuits per qubit count
num_shots: usizeNumber of shots per circuit
success_threshold: f64Success threshold (heavy output probability)
Implementations§
Source§impl QuantumVolume
impl QuantumVolume
Sourcepub fn new(max_qubits: usize, num_circuits: usize, num_shots: usize) -> Self
pub fn new(max_qubits: usize, num_circuits: usize, num_shots: usize) -> Self
Create a new quantum volume protocol
Sourcepub fn run<F>(
&mut self,
circuit_executor: F,
) -> QuantRS2Result<QuantumVolumeResult>
pub fn run<F>( &mut self, circuit_executor: F, ) -> QuantRS2Result<QuantumVolumeResult>
Run quantum volume protocol
Returns the achieved quantum volume (largest successful n)
Auto Trait Implementations§
impl Freeze for QuantumVolume
impl !RefUnwindSafe for QuantumVolume
impl !Send for QuantumVolume
impl !Sync for QuantumVolume
impl Unpin for QuantumVolume
impl !UnwindSafe for QuantumVolume
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> 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.