Crate ruqu_qear

Crate ruqu_qear 

Source
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 implementation
  • fusion: Attention mechanisms for state fusion
  • features: Feature extraction from reservoir dynamics
  • timeseries: Time series processing utilities
  • training: Training algorithms (ridge regression, online learning)
  • error: Error types and result handling

§Scientific Background

Reservoir computing is a recurrent neural network paradigm where:

  1. A fixed, randomly initialized “reservoir” transforms inputs into a high-dimensional space
  2. 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:

  1. Using complex-valued states to simulate quantum amplitudes
  2. Applying quantum-inspired dynamics with phase rotation
  3. 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.