Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Reproducibility

qslib treats reproducibility as a scientific result, not as a promise that a seed alone recreates every run. A durable record should retain:

  • the resolved model family, every pair coefficient and onsite parameter;
  • canonical row-major site order, boundaries, physical axes, and simulation basis;
  • algorithm, integrator, regularizer, cutoff, tolerance, and accepted-step controls;
  • random algorithm, seed derivation version, logical chain identifiers, and checkpoint RNG position;
  • software revision, schema version, dtype, parameter-layout fingerprint, and checksums for arrays and columnar parts.

For disordered models, persist the realized interaction table. Regenerating it from a seed can hide changes in ordering, periodic image multiplicity, or a future random-stream implementation. For stochastic SSE estimates, separate finite-sample uncertainty, autocorrelation, and finite-disorder ensemble error.

The IO layer provides strict JSON/YAML configuration, typed checkpoints, named NPY arrays, and append-only Parquet trajectories. The independent verifier in tools/verify_io_artifacts.py is useful in a clean Python environment. The CLI and Python examples in this repository are small deterministic contract fixtures; they are not substitutes for production thermalization or error analysis.