Expand description
§ruqu-qear - Quantum Echo-Attention Reservoir
A scientifically novel library combining quantum reservoir computing with attention mechanisms for advanced time series processing and prediction.
§Overview
QEAR (Quantum Echo-Attention Reservoir) implements a hybrid computational model that leverages:
-
Quantum Reservoir Computing: Uses simulated quantum dynamics with echo state network principles to create rich, high-dimensional feature spaces.
-
Attention Mechanisms: Employs multi-head attention to fuse reservoir states with input sequences, enabling the model to focus on relevant temporal patterns.
-
Feature Extraction: Provides comprehensive feature extraction including quantum state tomography, expectation values, and classical statistics.
§Key Features
- Simulated quantum reservoir with N qubits (2^N neurons)
- Echo state network dynamics with controllable spectral radius
- Multi-head attention fusion between reservoir and inputs
- Temporal attention for sequence-to-sequence modeling
- Ridge regression and online learning for readout
- Sliding window time series processing
- Hyperparameter optimization via cross-validation
§Quick Start
use ruqu_qear::prelude::*;
// Create a quantum reservoir
let config = ReservoirConfig::new(5) // 32 neurons (2^5)
.with_spectral_radius(0.95)
.with_seed(42);
let mut reservoir = QuantumReservoir::new(config).unwrap();
// Process input sequence
let inputs = ndarray::Array2::from_shape_fn((100, 3), |(i, j)| {
((i + j) as f64 / 103.0).sin()
});
let states = reservoir.run(&inputs).unwrap();
// Extract features
let extractor = FeatureExtractor::default_extractor();
let features = extractor.extract(&states).unwrap();§Time Series Forecasting
use ruqu_qear::prelude::*;
// Configure time series processing
let ts_config = TimeSeriesConfig::new(1, 50) // 1D input, window size 50
.with_forecast_horizon(10);
let reservoir_config = ReservoirConfig::new(5);
let mut processor = TimeSeriesProcessor::new(ts_config, reservoir_config).unwrap();
// Prepare training data
let data = ndarray::Array2::from_shape_fn((1000, 1), |(i, _)| {
(i as f64 * 0.1).sin() // Simple sine wave
});
let (features, targets) = processor.prepare_training_data(&data).unwrap();
// Train readout layer
let mut model = RidgeRegression::default_model().unwrap();
// Convert features and targets to 2D arrays for training...§Architecture
The library is organized into several modules:
reservoir: Quantum echo state reservoir implementationfusion: Attention mechanisms for state fusionfeatures: Feature extraction from reservoir dynamicstimeseries: Time series processing utilitiestraining: Training algorithms (ridge regression, online learning)error: Error types and result handling
§Scientific Background
Reservoir computing is a recurrent neural network paradigm where:
- A fixed, randomly initialized “reservoir” transforms inputs into a high-dimensional space
- Only the output layer (readout) is trained
Echo State Networks (ESN) achieve this by ensuring the reservoir has the “echo state property” - that the effect of initial conditions vanishes over time. This is controlled by the spectral radius.
QEAR extends this by:
- Using complex-valued states to simulate quantum amplitudes
- Applying quantum-inspired dynamics with phase rotation
- Adding attention mechanisms to learn which reservoir states are relevant
§References
- Jaeger, H. (2001). The “echo state” approach to analysing and training recurrent neural networks.
- Fujii, K., & Nakajima, K. (2017). Harnessing disordered-ensemble quantum dynamics for machine learning.
- Vaswani, A. et al. (2017). Attention is all you need.
Re-exports§
pub use error::QearError;pub use error::QearResult;pub use features::ExpectationComputer;pub use features::FeatureConfig;pub use features::FeatureExtractor;pub use features::QuantumTomography;pub use fusion::AttentionConfig;pub use fusion::AttentionFusion;pub use fusion::TemporalAttention;pub use reservoir::QuantumReservoir;pub use reservoir::ReservoirConfig;pub use timeseries::EncodingMethod;pub use timeseries::InputEncoder;pub use timeseries::PredictionHead;pub use timeseries::SlidingWindow;pub use timeseries::TimeSeriesConfig;pub use timeseries::TimeSeriesProcessor;pub use training::HyperparameterOptimizer;pub use training::OnlineLearner;pub use training::RidgeConfig;pub use training::RidgeRegression;pub use training::RidgeSolver;
Modules§
- error
- Error types for the ruqu-qear crate.
- features
- Feature extraction from quantum reservoir dynamics.
- fusion
- Attention Fusion mechanisms for Quantum Reservoir.
- prelude
- Prelude module with commonly used types.
- reservoir
- Quantum Echo-State Reservoir implementation.
- timeseries
- Time series processing for Quantum Echo-Attention Reservoir.
- training
- Training module for Quantum Echo-Attention Reservoir.
Constants§
- CRATE_
NAME - Crate name.
- VERSION
- Version information for the crate.