#histogram #heatmap #wang-landau #replica-exchange #large-deviation

sampling

Large-deviation Algorithms like Wang-Landau, Entropic sampling and Replica-Exchange Wang-Landau. Also contains Binning, Histograms, Heatmaps and bootstrap resampling. This is intended for scientific simulations

3 unstable releases

new 0.2.0 Jan 6, 2025
0.1.1 Sep 30, 2021
0.1.0 Sep 29, 2021

#682 in Math


Used in net_ensembles

MIT/Apache

705KB
14K SLoC

Scientific Sampling

Crate Docs

Minimal Rust version: 1.63.0

About

Large-deviation sampling methods (Wang-Landau, Replica-exchange Wang-Landau, entropic sampling, Markov-chains), bootstrap resampling, histograms, heat maps and more. It also allows you to create gnuplot scripts for your heatmaps.

The Documentation of the working branch can be found here.

Usage

Add this to your Cargo.toml:

[dependencies]
sampling = "0.2.0"
# for feature "serde_support" (enabled by default) also use
serde = { version = "1.0", features = ["derive"] }

Features:

serde_support: Enabled by default. Use this if you want to use serialization with the serde crate

sweep_time_optimization: Enables minor optimizations, which might or might not benefit you for your large-deviation simulation. This is disabled by default, as most users will not benefit from it.

sweep_stats Also activates feature sweep_time_optimization. This is intended for testing purposes. You get additional information on how long the walkers of Rewl take.

replica_exchange: enabled by default. Use this, if you want to use any of the replica exchange types or methods.

If you want to minimize build time and space requirements upon building, you can disable default features and only enable what you need, e.g.

[dependencies]
sampling = { version = "0.2.0", default-features = false, features=["replica_exchange"]  }

Notes

No warranties whatsoever, but since I am writing this library for my own scientific simulations, I do my best to avoid errors.

You can learn more about me and my research on my homepage.

If you notice any bugs, or want to request new features: do not hesitate to open a new issue on the repository.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~1.2–2.2MB
~46K SLoC