Skip to main content

quantrs2_ml/quantum_continuous_flows/
quantumcontinuousflowconfig_traits.rs

1//! # QuantumContinuousFlowConfig - Trait Implementations
2//!
3//! This module contains trait implementations for `QuantumContinuousFlowConfig`.
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::QuantumContinuousFlowConfig;
19
20impl Default for QuantumContinuousFlowConfig {
21    fn default() -> Self {
22        Self {
23            input_dim: 32,
24            latent_dim: 16,
25            num_qubits: 8,
26            num_flow_layers: 4,
27            flow_architecture: FlowArchitecture::QuantumRealNVP {
28                hidden_dims: vec![64, 64],
29                num_coupling_layers: 4,
30                quantum_coupling_type: QuantumCouplingType::QuantumEntangledCoupling,
31            },
32            quantum_enhancement_level: 0.5,
33            integration_method: ODEIntegrationMethod::QuantumAdaptive,
34            invertibility_tolerance: 1e-6,
35            entanglement_coupling_strength: 0.1,
36            quantum_divergence_type: QuantumDivergenceType::QuantumRelativeEntropy,
37            use_quantum_attention_flows: true,
38            adaptive_step_size: true,
39            regularization_config: FlowRegularizationConfig {
40                weight_decay: 1e-5,
41                spectral_normalization: true,
42                kinetic_energy_regularization: 0.01,
43                entanglement_regularization: 0.1,
44                jacobian_regularization: 0.01,
45                quantum_volume_preservation: 0.05,
46            },
47        }
48    }
49}