ErrorCorrectionCode

Trait ErrorCorrectionCode 

Source
pub trait ErrorCorrectionCode:
    Send
    + Sync
    + Debug {
    // Required methods
    fn get_parameters(&self) -> CodeParameters;
    fn encode(
        &self,
        logical_state: &Array1<Complex64>,
    ) -> Result<Array1<Complex64>>;
    fn decode(
        &self,
        encoded_state: &Array1<Complex64>,
    ) -> Result<DecodingResult>;
    fn syndrome_circuit(&self, num_qubits: usize) -> Result<InterfaceCircuit>;
    fn correct_errors(
        &self,
        state: &mut Array1<Complex64>,
        syndrome: &[bool],
    ) -> Result<()>;
}
Expand description

Error correction code trait for concatenation

Required Methods§

Source

fn get_parameters(&self) -> CodeParameters

Get code parameters

Source

fn encode(&self, logical_state: &Array1<Complex64>) -> Result<Array1<Complex64>>

Encode logical qubits

Source

fn decode(&self, encoded_state: &Array1<Complex64>) -> Result<DecodingResult>

Decode with syndrome extraction

Source

fn syndrome_circuit(&self, num_qubits: usize) -> Result<InterfaceCircuit>

Generate syndrome extraction circuit

Source

fn correct_errors( &self, state: &mut Array1<Complex64>, syndrome: &[bool], ) -> Result<()>

Apply error correction based on syndrome

Implementors§