pub struct QuantumSupremacyEngine {
pub engine_id: u64,
pub random_circuit_sampling: RandomCircuitSampling,
pub boson_sampling: BosonSampling,
pub iqp_sampling: IQPSampling,
pub quantum_fourier_sampling: QuantumFourierSampling,
pub quantum_simulation_advantage: QuantumSimulationAdvantage,
pub supremacy_verification: SupremacyVerification,
pub complexity_analysis: ComplexityAnalysis,
pub benchmarking_suite: QuantumBenchmarkingSuite,
}
Expand description
Quantum supremacy demonstration engine
Fields§
§engine_id: u64
§random_circuit_sampling: RandomCircuitSampling
§boson_sampling: BosonSampling
§iqp_sampling: IQPSampling
§quantum_fourier_sampling: QuantumFourierSampling
§quantum_simulation_advantage: QuantumSimulationAdvantage
§supremacy_verification: SupremacyVerification
§complexity_analysis: ComplexityAnalysis
§benchmarking_suite: QuantumBenchmarkingSuite
Implementations§
Source§impl QuantumSupremacyEngine
Implementation of the Quantum Supremacy Engine
impl QuantumSupremacyEngine
Implementation of the Quantum Supremacy Engine
Sourcepub fn execute_random_circuit_sampling(
&mut self,
circuit_parameters: RandomCircuitParameters,
sampling_parameters: SamplingParameters,
) -> Result<RandomCircuitSupremacyResult, QuantRS2Error>
pub fn execute_random_circuit_sampling( &mut self, circuit_parameters: RandomCircuitParameters, sampling_parameters: SamplingParameters, ) -> Result<RandomCircuitSupremacyResult, QuantRS2Error>
Execute random circuit sampling supremacy demonstration
Sourcepub fn execute_boson_sampling(
&mut self,
photon_count: usize,
mode_count: usize,
sampling_count: usize,
) -> Result<BosonSamplingSupremacyResult, QuantRS2Error>
pub fn execute_boson_sampling( &mut self, photon_count: usize, mode_count: usize, sampling_count: usize, ) -> Result<BosonSamplingSupremacyResult, QuantRS2Error>
Execute Boson sampling supremacy demonstration
Sourcepub fn execute_iqp_sampling(
&mut self,
qubit_count: usize,
circuit_depth: usize,
sample_count: usize,
) -> Result<IQPSupremacyResult, QuantRS2Error>
pub fn execute_iqp_sampling( &mut self, qubit_count: usize, circuit_depth: usize, sample_count: usize, ) -> Result<IQPSupremacyResult, QuantRS2Error>
Execute IQP sampling supremacy demonstration
Sourcepub fn execute_quantum_simulation_advantage(
&mut self,
system_type: ManyBodySystemType,
system_size: usize,
evolution_time: f64,
) -> Result<QuantumSimulationAdvantageResult, QuantRS2Error>
pub fn execute_quantum_simulation_advantage( &mut self, system_type: ManyBodySystemType, system_size: usize, evolution_time: f64, ) -> Result<QuantumSimulationAdvantageResult, QuantRS2Error>
Execute quantum simulation advantage demonstration
Sourcepub fn benchmark_quantum_supremacy(&mut self) -> QuantumSupremacyBenchmarkReport
pub fn benchmark_quantum_supremacy(&mut self) -> QuantumSupremacyBenchmarkReport
Comprehensive quantum supremacy benchmarking
Trait Implementations§
Auto Trait Implementations§
impl Freeze for QuantumSupremacyEngine
impl RefUnwindSafe for QuantumSupremacyEngine
impl Send for QuantumSupremacyEngine
impl Sync for QuantumSupremacyEngine
impl Unpin for QuantumSupremacyEngine
impl UnwindSafe for QuantumSupremacyEngine
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.