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§
Sourcefn get_parameters(&self) -> CodeParameters
fn get_parameters(&self) -> CodeParameters
Get code parameters
Sourcefn encode(&self, logical_state: &Array1<Complex64>) -> Result<Array1<Complex64>>
fn encode(&self, logical_state: &Array1<Complex64>) -> Result<Array1<Complex64>>
Encode logical qubits
Sourcefn decode(&self, encoded_state: &Array1<Complex64>) -> Result<DecodingResult>
fn decode(&self, encoded_state: &Array1<Complex64>) -> Result<DecodingResult>
Decode with syndrome extraction
Sourcefn syndrome_circuit(&self, num_qubits: usize) -> Result<InterfaceCircuit>
fn syndrome_circuit(&self, num_qubits: usize) -> Result<InterfaceCircuit>
Generate syndrome extraction circuit