qualia_core_db/specialized_libs/statistical_computing/
mod.rs1use crate::fiduciary_crypto::{FiduciaryCrypto, MlDsaSignature};
10use crate::zk_proofs::{CircuitExpression, FieldElement, VariableType, ZkProof, ZkProofSystem};
11use crate::zns_storage::ZnsZoneManager;
12use serde::{Deserialize, Serialize};
13use sha2::{Digest, Sha256};
14use std::collections::HashMap;
15use std::sync::{Arc, Mutex};
16use std::time::Instant;
17
18pub struct StatisticalComputingLibrary {
20 data_storage: StatisticalDataStorage,
21 computation_engine: StatisticalComputationEngine,
22 privacy_engine: StatisticalPrivacyEngine,
23 analysis_engine: StatisticalAnalysisEngine,
24 performance_monitor: StatisticalPerformanceMonitor,
25}
26
27pub struct StatisticalDataStorage {
29 zones: HashMap<String, StatisticalZone>,
30 data_catalog: DataCatalog,
31 compression_engine: DataCompressionEngine,
32 indexing_engine: DataIndexingEngine,
33 dataset_cache: HashMap<String, Dataset>,
34 zns_manager: Option<Arc<Mutex<ZnsZoneManager>>>,
38}
39pub struct DataCatalog {
41 datasets: HashMap<String, DatasetMetadata>,
42 relationships: HashMap<String, Vec<Relationship>>,
43 tags: HashMap<String, Vec<String>>,
44 search_index: SearchIndex,
45}
46pub struct StatisticalPrivacyEngine {
48 fiduciary_crypto: Arc<Mutex<FiduciaryCrypto>>,
49 zk_proofs: Arc<Mutex<ZkProofSystem>>,
50 differential_privacy: DifferentialPrivacy,
51 secure_aggregation: SecureAggregation,
52 privacy_budget: PrivacyBudget,
53}
54
55pub struct DifferentialPrivacy {
57 noise_mechanisms: Vec<NoiseMechanism>,
58 privacy_accountant: PrivacyAccountant,
59 sensitivity_analyzer: SensitivityAnalyzer,
60}
61pub struct SensitivityAnalyzer {
63 sensitivity_functions: HashMap<String, SensitivityFunction>,
64 sensitivity_cache: HashMap<String, f64>,
65}
66
67mod accelerator;
68mod analytics;
69mod catalog;
70mod compression;
71mod computation;
72mod datasets;
73mod errors;
74mod indexing;
75mod library;
76mod privacy;
77mod scheduler;
78mod types;
79
80pub use accelerator::*;
81pub use analytics::*;
82pub use catalog::*;
83pub use compression::*;
84pub use computation::*;
85pub use datasets::*;
86pub use errors::*;
87pub use indexing::*;
88pub use privacy::*;
89pub use scheduler::*;
90pub use types::*;
91
92#[cfg(test)]
93mod tests;