Skip to main content

Crate thermorust

Crate thermorust 

Source
Expand description

§thermorust

A minimal thermodynamic neural-motif crate for Rust.

Treats computation as energy-driven state transitions with Landauer-style dissipation and Langevin/Metropolis noise baked in.

§Core abstractions

ModuleWhat it provides
stateState – activation vector + dissipated-joules counter
energyEnergyModel trait, Ising, SoftSpin, Couplings
dynamicsstep_discrete (MH), step_continuous (Langevin), annealers
noiseLangevin & Poisson spike noise sources
metricsMagnetisation, overlap, entropy, free energy, Trace
motifsPre-wired ring / fully-connected / Hopfield / soft-spin motifs

§Quick start

use thermorust::{motifs::IsingMotif, dynamics::{Params, anneal_discrete}};
use rand::SeedableRng;

let mut motif = IsingMotif::ring(16, 0.2);
let params    = Params::default_n(16);
let mut rng   = rand::rngs::StdRng::seed_from_u64(42);

let trace = anneal_discrete(&motif.model, &mut motif.state, &params, 10_000, 100, &mut rng);
println!("Mean energy: {:.3}", trace.mean_energy());
println!("Heat shed:   {:.3e} J", trace.total_dissipation());

Re-exports§

pub use dynamics::Params;
pub use dynamics::step_discrete;
pub use dynamics::step_continuous;
pub use dynamics::anneal_discrete;
pub use dynamics::anneal_continuous;
pub use energy::Couplings;
pub use energy::EnergyModel;
pub use energy::Ising;
pub use energy::SoftSpin;
pub use metrics::magnetisation;
pub use metrics::overlap;
pub use metrics::Trace;
pub use state::State;

Modules§

dynamics
Stochastic dynamics: Metropolis-Hastings (discrete) and overdamped Langevin (continuous).
energy
Energy models: Ising/Hopfield Hamiltonian and the EnergyModel trait.
metrics
Thermodynamic observables: magnetisation, entropy, free energy, overlap.
motifs
Pre-wired motif factories: ring, fully-connected, and Hopfield memory nets.
noise
Thermal noise sources: Gaussian (Langevin) and Poisson spike noise.
state
System state: continuous activations or binary spins with dissipation bookkeeping.