quantrs2_ml/quantum_advanced_diffusion/
quantumadvanceddiffusionconfig_traits.rs

1//! # QuantumAdvancedDiffusionConfig - Trait Implementations
2//!
3//! This module contains trait implementations for `QuantumAdvancedDiffusionConfig`.
4//!
5//! ## Implemented Traits
6//!
7//! - `Default`
8//!
9//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)
10
11use 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}