pub struct LogicalAnnealingEncoder {
pub code: ErrorCorrectionCode,
pub parameters: CodeParameters,
pub encoding: LogicalEncoding,
pub syndrome_detector: Option<SyndromeDetector>,
pub hardware_topology: AnnealingTopology,
pub performance_metrics: EncodingPerformanceMetrics,
pub config: LogicalEncoderConfig,
}Expand description
Logical qubit encoder for annealing problems
Fields§
§code: ErrorCorrectionCodeError correction code being used
parameters: CodeParametersCode parameters
encoding: LogicalEncodingLogical encoding configuration
syndrome_detector: Option<SyndromeDetector>Syndrome detector for monitoring
hardware_topology: AnnealingTopologyHardware topology information
performance_metrics: EncodingPerformanceMetricsEncoding performance metrics
config: LogicalEncoderConfigConfiguration
Implementations§
Source§impl LogicalAnnealingEncoder
impl LogicalAnnealingEncoder
Sourcepub fn new(
code: ErrorCorrectionCode,
parameters: CodeParameters,
config: LogicalEncoderConfig,
) -> QECResult<Self>
pub fn new( code: ErrorCorrectionCode, parameters: CodeParameters, config: LogicalEncoderConfig, ) -> QECResult<Self>
Create new logical annealing encoder
Sourcepub fn encode_ising_problem(
&mut self,
logical_problem: &IsingModel,
) -> QECResult<LogicalEncodingResult>
pub fn encode_ising_problem( &mut self, logical_problem: &IsingModel, ) -> QECResult<LogicalEncodingResult>
Encode logical Ising problem into physical implementation
Sourcepub fn monitor_logical_qubits(
&mut self,
physical_state: &QuantumState,
encoding_result: &mut LogicalEncodingResult,
) -> QECResult<Vec<SyndromeRecord>>
pub fn monitor_logical_qubits( &mut self, physical_state: &QuantumState, encoding_result: &mut LogicalEncodingResult, ) -> QECResult<Vec<SyndromeRecord>>
Monitor logical qubits during annealing
Sourcepub fn apply_logical_operation(
&self,
operation: &LogicalOperation,
logical_qubit: usize,
encoding_map: &EncodingMap,
) -> QECResult<Vec<QuantumGate>>
pub fn apply_logical_operation( &self, operation: &LogicalOperation, logical_qubit: usize, encoding_map: &EncodingMap, ) -> QECResult<Vec<QuantumGate>>
Apply logical operation during annealing
Trait Implementations§
Source§impl Clone for LogicalAnnealingEncoder
impl Clone for LogicalAnnealingEncoder
Source§fn clone(&self) -> LogicalAnnealingEncoder
fn clone(&self) -> LogicalAnnealingEncoder
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 LogicalAnnealingEncoder
impl RefUnwindSafe for LogicalAnnealingEncoder
impl Send for LogicalAnnealingEncoder
impl Sync for LogicalAnnealingEncoder
impl Unpin for LogicalAnnealingEncoder
impl UnwindSafe for LogicalAnnealingEncoder
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.