Module error_correction

Module error_correction 

Source
Expand description

Quantum error correction codes and utilities Quantum Error Correction Module

This module provides quantum error correction capabilities for protecting quantum information against noise and decoherence.

§Overview

Quantum error correction is essential for creating fault-tolerant quantum computers. It allows us to encode quantum information in a way that we can detect and correct errors that may occur during computation.

This module implements various quantum error correction codes:

  • Bit Flip Code: Protects against X (bit flip) errors
  • Phase Flip Code: Protects against Z (phase flip) errors
  • Shor Code: Protects against arbitrary single-qubit errors
  • 5-Qubit Perfect Code: The smallest code that can correct arbitrary single-qubit errors

§Usage

To use quantum error correction in your quantum circuits:

  1. Create an error correction code object
  2. Use the object to generate encoding and decoding circuits
  3. Incorporate these circuits into your quantum program
use quantrs2_circuit::builder::Circuit;
use quantrs2_core::qubit::QubitId;
use quantrs2_sim::error_correction::{BitFlipCode, ErrorCorrection};
use quantrs2_sim::statevector::StateVectorSimulator;

// Create a bit flip code object
let code = BitFlipCode;

// Define qubits for encoding
let logical_qubits = vec![QubitId::new(0)];
let ancilla_qubits = vec![QubitId::new(1), QubitId::new(2)];

// Generate encoding circuit
let encode_circuit = code.encode_circuit(&logical_qubits, &ancilla_qubits);

// Define qubits for syndrome extraction and correction
let encoded_qubits = vec![QubitId::new(0), QubitId::new(1), QubitId::new(2)];
let syndrome_qubits = vec![QubitId::new(3), QubitId::new(4)];

// Generate correction circuit
let correction_circuit = code.decode_circuit(&encoded_qubits, &syndrome_qubits);

// Create a main circuit and add the encoding and correction operations
let mut circuit = Circuit::<5>::new();
// ... add your operations here ...

Modules§

utils
Utility functions for error correction

Structs§

BitFlipCode
The 3-qubit bit flip code
FiveQubitCode
The 5-qubit perfect code
PhaseFlipCode
The 3-qubit phase flip code
ShorCode
The 9-qubit Shor code

Traits§

ErrorCorrection
Trait for quantum error correction codes