quantrs2_ml/quantum_advanced_diffusion/
quantumadvanceddiffusionconfig_traits.rs1use super::*;
12use crate::error::{MLError, Result};
13use scirs2_core::ndarray::*;
14use scirs2_core::random::prelude::*;
15use scirs2_core::{Complex32, Complex64};
16use std::f64::consts::PI;
17
18use super::types::QuantumAdvancedDiffusionConfig;
19
20impl Default for QuantumAdvancedDiffusionConfig {
21 fn default() -> Self {
22 Self {
23 data_dim: 32,
24 num_qubits: 16,
25 num_timesteps: 1000,
26 noise_schedule: QuantumNoiseSchedule::QuantumCosine {
27 s: 0.008,
28 entanglement_preservation: 0.9,
29 decoherence_rate: 0.01,
30 },
31 denoiser_architecture: DenoisingArchitecture::QuantumUNet {
32 depth: 4,
33 base_channels: 32,
34 quantum_skip_connections: true,
35 },
36 quantum_enhancement_level: 0.5,
37 use_quantum_attention: true,
38 enable_entanglement_monitoring: true,
39 adaptive_denoising: true,
40 use_quantum_fourier_features: true,
41 error_mitigation_strategy: ErrorMitigationStrategy::AdaptiveMitigation,
42 }
43 }
44}