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:
- Create an error correction code object
- Use the object to generate encoding and decoding circuits
- 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§
- BitFlip
Code - The 3-qubit bit flip code
- Five
Qubit Code - The 5-qubit perfect code
- Phase
Flip Code - The 3-qubit phase flip code
- Shor
Code - The 9-qubit Shor code
Traits§
- Error
Correction - Trait for quantum error correction codes