Skip to main content

ErrorCorrection

Trait ErrorCorrection 

Source
pub trait ErrorCorrection {
    // Required methods
    fn physical_qubits(&self) -> usize;
    fn logical_qubits(&self) -> usize;
    fn distance(&self) -> usize;
    fn encode_circuit(
        &self,
        logical_qubits: &[QubitId],
        ancilla_qubits: &[QubitId],
    ) -> Result<Circuit<16>>;
    fn decode_circuit(
        &self,
        encoded_qubits: &[QubitId],
        syndrome_qubits: &[QubitId],
    ) -> Result<Circuit<16>>;
}
Expand description

Trait for quantum error correction codes

Required Methods§

Source

fn physical_qubits(&self) -> usize

Get the number of physical qubits required

Source

fn logical_qubits(&self) -> usize

Get the number of logical qubits encoded

Source

fn distance(&self) -> usize

Get the distance of the code (minimum number of errors it can detect)

Source

fn encode_circuit( &self, logical_qubits: &[QubitId], ancilla_qubits: &[QubitId], ) -> Result<Circuit<16>>

Create a circuit to encode logical qubits into the error correction code

§Arguments
  • logical_qubits - The qubits containing the logical information to encode
  • ancilla_qubits - Additional qubits used for the encoding
§Returns

A Result containing the circuit with encoding operations, or an error if insufficient qubits

Source

fn decode_circuit( &self, encoded_qubits: &[QubitId], syndrome_qubits: &[QubitId], ) -> Result<Circuit<16>>

Create a circuit to decode and correct errors

§Arguments
  • encoded_qubits - The qubits that contain the encoded information
  • syndrome_qubits - Additional qubits used for syndrome extraction and error correction
§Returns

A Result containing the circuit with error detection and correction operations, or an error if insufficient qubits

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§