quantrs2_sim/holographic_quantum_error_correction/
config.rs

1//! Configuration types for holographic quantum error correction.
2//!
3//! This module contains configuration structures and enums for the holographic
4//! quantum error correction framework.
5
6use crate::quantum_gravity_simulation::AdSCFTConfig;
7use serde::{Deserialize, Serialize};
8
9/// Holographic quantum error correction configuration
10#[derive(Debug, Clone, Serialize, Deserialize)]
11pub struct HolographicQECConfig {
12    /// AdS/CFT configuration for holographic duality
13    pub ads_cft_config: AdSCFTConfig,
14    /// Number of boundary qubits
15    pub boundary_qubits: usize,
16    /// Number of bulk qubits (typically exponentially larger)
17    pub bulk_qubits: usize,
18    /// `AdS` radius for geometry
19    pub ads_radius: f64,
20    /// Central charge of boundary CFT
21    pub central_charge: f64,
22    /// Holographic error correction code type
23    pub error_correction_code: HolographicCodeType,
24    /// Bulk reconstruction method
25    pub reconstruction_method: BulkReconstructionMethod,
26    /// Error correction threshold
27    pub error_threshold: f64,
28    /// Enable geometric protection
29    pub geometric_protection: bool,
30    /// Entanglement entropy threshold
31    pub entanglement_threshold: f64,
32    /// Number of Ryu-Takayanagi surfaces
33    pub rt_surfaces: usize,
34    /// Enable quantum error correction
35    pub enable_qec: bool,
36    /// Operator reconstruction accuracy
37    pub reconstruction_accuracy: f64,
38}
39
40impl Default for HolographicQECConfig {
41    fn default() -> Self {
42        Self {
43            ads_cft_config: AdSCFTConfig::default(),
44            boundary_qubits: 8,
45            bulk_qubits: 20,
46            ads_radius: 1.0,
47            central_charge: 12.0,
48            error_correction_code: HolographicCodeType::AdSRindler,
49            reconstruction_method: BulkReconstructionMethod::HKLL,
50            error_threshold: 0.01,
51            geometric_protection: true,
52            entanglement_threshold: 0.1,
53            rt_surfaces: 10,
54            enable_qec: true,
55            reconstruction_accuracy: 1e-6,
56        }
57    }
58}
59
60/// Types of holographic quantum error correction codes
61#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
62pub enum HolographicCodeType {
63    /// AdS-Rindler code
64    AdSRindler,
65    /// Holographic stabilizer code
66    HolographicStabilizer,
67    /// Quantum error correction with bulk geometry
68    BulkGeometry,
69    /// Tensor network error correction
70    TensorNetwork,
71    /// Holographic surface code
72    HolographicSurface,
73    /// Perfect tensor network code
74    PerfectTensor,
75    /// Holographic entanglement entropy code
76    EntanglementEntropy,
77    /// AdS/CFT quantum error correction
78    AdSCFTCode,
79}
80
81/// Methods for bulk reconstruction
82#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
83pub enum BulkReconstructionMethod {
84    /// Hamilton-Kabat-Lifschytz-Lowe (HKLL) reconstruction
85    HKLL,
86    /// Entanglement wedge reconstruction
87    EntanglementWedge,
88    /// Quantum error correction reconstruction
89    QECReconstruction,
90    /// Tensor network reconstruction
91    TensorNetwork,
92    /// Holographic tensor network
93    HolographicTensorNetwork,
94    /// Bulk boundary dictionary
95    BulkBoundaryDictionary,
96    /// Minimal surface reconstruction
97    MinimalSurface,
98}