quantrs2_ml/quantum_continuous_flows/
quantumcontinuousflowconfig_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::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}