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}