pub struct SciRS2ProcessTomographer { /* private fields */ }Expand description
Main SciRS2 process tomographer
Implementations§
Source§impl SciRS2ProcessTomographer
Analysis methods implementation for SciRS2ProcessTomographer
impl SciRS2ProcessTomographer
Analysis methods implementation for SciRS2ProcessTomographer
Sourcepub fn perform_statistical_analysis(
&self,
process_matrix: &Array4<Complex64>,
experimental_data: &ExperimentalData,
) -> DeviceResult<(HashMap<String, StatisticalTest>, DistributionAnalysis, CorrelationAnalysis)>
pub fn perform_statistical_analysis( &self, process_matrix: &Array4<Complex64>, experimental_data: &ExperimentalData, ) -> DeviceResult<(HashMap<String, StatisticalTest>, DistributionAnalysis, CorrelationAnalysis)>
Perform comprehensive statistical analysis
Sourcepub fn analyze_process_structure(
&self,
process_matrix: &Array4<Complex64>,
) -> DeviceResult<ProcessStructureAnalysis>
pub fn analyze_process_structure( &self, process_matrix: &Array4<Complex64>, ) -> DeviceResult<ProcessStructureAnalysis>
Analyze process structure
Sourcepub fn convert_to_pauli_transfer(
&self,
process_matrix: &Array4<Complex64>,
) -> DeviceResult<Array2<f64>>
pub fn convert_to_pauli_transfer( &self, process_matrix: &Array4<Complex64>, ) -> DeviceResult<Array2<f64>>
Convert to Pauli transfer representation
Sourcepub fn quantify_uncertainty(
&self,
process_matrix: &Array4<Complex64>,
experimental_data: &ExperimentalData,
) -> DeviceResult<ProcessUncertaintyQuantification>
pub fn quantify_uncertainty( &self, process_matrix: &Array4<Complex64>, experimental_data: &ExperimentalData, ) -> DeviceResult<ProcessUncertaintyQuantification>
Quantify uncertainty in process estimates
Sourcepub fn compare_with_known_processes(
&self,
process_matrix: &Array4<Complex64>,
) -> DeviceResult<ProcessComparisons>
pub fn compare_with_known_processes( &self, process_matrix: &Array4<Complex64>, ) -> DeviceResult<ProcessComparisons>
Compare with known processes
Source§impl SciRS2ProcessTomographer
impl SciRS2ProcessTomographer
Sourcepub const fn new(
config: SciRS2ProcessTomographyConfig,
calibration_manager: CalibrationManager,
) -> Self
pub const fn new( config: SciRS2ProcessTomographyConfig, calibration_manager: CalibrationManager, ) -> Self
Create a new SciRS2 process tomographer
Sourcepub fn generate_input_states(&mut self, num_qubits: usize) -> DeviceResult<()>
pub fn generate_input_states(&mut self, num_qubits: usize) -> DeviceResult<()>
Generate input states for process tomography
Sourcepub fn generate_measurement_operators(
&mut self,
num_qubits: usize,
) -> DeviceResult<()>
pub fn generate_measurement_operators( &mut self, num_qubits: usize, ) -> DeviceResult<()>
Generate measurement operators
Sourcepub async fn perform_process_tomography<const N: usize, E: ProcessTomographyExecutor>(
&self,
device_id: &str,
process_circuit: &Circuit<N>,
executor: &E,
) -> DeviceResult<SciRS2ProcessTomographyResult>
pub async fn perform_process_tomography<const N: usize, E: ProcessTomographyExecutor>( &self, device_id: &str, process_circuit: &Circuit<N>, executor: &E, ) -> DeviceResult<SciRS2ProcessTomographyResult>
Perform comprehensive process tomography
Sourcepub fn calculate_process_fidelity(
&self,
process_matrix: &Array4<Complex64>,
) -> DeviceResult<f64>
pub fn calculate_process_fidelity( &self, process_matrix: &Array4<Complex64>, ) -> DeviceResult<f64>
Calculate process fidelity with an ideal process
Sourcepub fn calculate_entangling_power(
&self,
process_matrix: &Array4<Complex64>,
) -> DeviceResult<f64>
pub fn calculate_entangling_power( &self, process_matrix: &Array4<Complex64>, ) -> DeviceResult<f64>
Calculate entangling power of the process
Source§impl SciRS2ProcessTomographer
Reconstruction methods implementation for SciRS2ProcessTomographer
impl SciRS2ProcessTomographer
Reconstruction methods implementation for SciRS2ProcessTomographer
Sourcepub fn linear_inversion_reconstruction(
&self,
experimental_data: &ExperimentalData,
) -> DeviceResult<(Array4<Complex64>, ReconstructionQuality)>
pub fn linear_inversion_reconstruction( &self, experimental_data: &ExperimentalData, ) -> DeviceResult<(Array4<Complex64>, ReconstructionQuality)>
Linear inversion reconstruction
Sourcepub fn maximum_likelihood_reconstruction(
&self,
experimental_data: &ExperimentalData,
) -> DeviceResult<(Array4<Complex64>, ReconstructionQuality)>
pub fn maximum_likelihood_reconstruction( &self, experimental_data: &ExperimentalData, ) -> DeviceResult<(Array4<Complex64>, ReconstructionQuality)>
Maximum likelihood estimation reconstruction
Sourcepub fn compressed_sensing_reconstruction(
&self,
experimental_data: &ExperimentalData,
) -> DeviceResult<(Array4<Complex64>, ReconstructionQuality)>
pub fn compressed_sensing_reconstruction( &self, experimental_data: &ExperimentalData, ) -> DeviceResult<(Array4<Complex64>, ReconstructionQuality)>
Compressed sensing reconstruction
Sourcepub fn bayesian_reconstruction(
&self,
experimental_data: &ExperimentalData,
) -> DeviceResult<(Array4<Complex64>, ReconstructionQuality)>
pub fn bayesian_reconstruction( &self, experimental_data: &ExperimentalData, ) -> DeviceResult<(Array4<Complex64>, ReconstructionQuality)>
Bayesian inference reconstruction
Sourcepub fn ensemble_reconstruction(
&self,
experimental_data: &ExperimentalData,
) -> DeviceResult<(Array4<Complex64>, ReconstructionQuality)>
pub fn ensemble_reconstruction( &self, experimental_data: &ExperimentalData, ) -> DeviceResult<(Array4<Complex64>, ReconstructionQuality)>
Ensemble methods reconstruction
Sourcepub fn ml_reconstruction(
&self,
experimental_data: &ExperimentalData,
) -> DeviceResult<(Array4<Complex64>, ReconstructionQuality)>
pub fn ml_reconstruction( &self, experimental_data: &ExperimentalData, ) -> DeviceResult<(Array4<Complex64>, ReconstructionQuality)>
Machine learning reconstruction
Sourcepub fn build_measurement_matrix(
&self,
experimental_data: &ExperimentalData,
) -> DeviceResult<Array2<f64>>
pub fn build_measurement_matrix( &self, experimental_data: &ExperimentalData, ) -> DeviceResult<Array2<f64>>
Build measurement matrix for linear reconstruction
Source§impl SciRS2ProcessTomographer
impl SciRS2ProcessTomographer
Sourcepub async fn collect_experimental_data<const N: usize, E: ProcessTomographyExecutor>(
&self,
process_circuit: &Circuit<N>,
executor: &E,
) -> DeviceResult<ExperimentalData>
pub async fn collect_experimental_data<const N: usize, E: ProcessTomographyExecutor>( &self, process_circuit: &Circuit<N>, executor: &E, ) -> DeviceResult<ExperimentalData>
Collect experimental data from device
Sourcepub fn calculate_process_metrics(
&self,
process_matrix: &Array4<Complex64>,
) -> DeviceResult<ProcessMetrics>
pub fn calculate_process_metrics( &self, process_matrix: &Array4<Complex64>, ) -> DeviceResult<ProcessMetrics>
Calculate process metrics from process matrix
Source§impl SciRS2ProcessTomographer
impl SciRS2ProcessTomographer
Sourcepub fn perform_validation(
&self,
experimental_data: &ExperimentalData,
) -> DeviceResult<ProcessValidationResults>
pub fn perform_validation( &self, experimental_data: &ExperimentalData, ) -> DeviceResult<ProcessValidationResults>
Perform comprehensive validation
Auto Trait Implementations§
impl Freeze for SciRS2ProcessTomographer
impl RefUnwindSafe for SciRS2ProcessTomographer
impl Send for SciRS2ProcessTomographer
impl Sync for SciRS2ProcessTomographer
impl Unpin for SciRS2ProcessTomographer
impl UnwindSafe for SciRS2ProcessTomographer
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
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>
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>
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>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
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
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.