quantrs2_sim/quantum_reservoir_computing/
memoryanalysisconfig_traits.rs1use scirs2_core::random::prelude::*;
12
13use super::types::{EntropyMeasure, IPCFunction, MemoryAnalysisConfig, MemoryTask};
14
15impl Default for MemoryAnalysisConfig {
16 fn default() -> Self {
17 Self {
18 enable_capacity_estimation: true,
19 capacity_tasks: vec![
20 MemoryTask::DelayLine,
21 MemoryTask::TemporalXOR,
22 MemoryTask::Parity,
23 ],
24 enable_nonlinear: true,
25 nonlinearity_orders: vec![2, 3, 4],
26 enable_temporal_correlation: true,
27 correlation_lags: (1..=20).collect(),
28 enable_ipc: true,
29 ipc_functions: vec![
30 IPCFunction::Linear,
31 IPCFunction::Quadratic,
32 IPCFunction::Cubic,
33 ],
34 enable_entropy: true,
35 entropy_measures: vec![
36 EntropyMeasure::Shannon,
37 EntropyMeasure::Renyi,
38 EntropyMeasure::VonNeumann,
39 ],
40 }
41 }
42}