#monte-carlo #array #monte #carlo #orthogonal

oars

一个提供正交数组(OA)和强正交数组(SOA)构建方法和实用函数的库

22 个版本 (稳定版)

3.0.1 2020 年 12 月 27 日
2.1.2 2020 年 12 月 26 日
2.1.1 2020 年 7 月 30 日
2.0.4 2019 年 9 月 29 日
0.4.1 2019 年 6 月 18 日

#1663 in 算法

MIT 许可证

51KB
864

oars

Build Status Documentation License

摘要

oars 是一个用于构建具有各种参数的正交数组的库,能够使用多种构建方法来构建正交数组。它还提供了用于构建与现有 OA 或从头开始构建 SOA 的设施一起工作的强正交数组的实用工具。除了能够生成正交数组外,这个包还提供了在给定一组参数的情况下验证正交数组的实用工具。

这些正交数组不是预先定义的,而是即时构建的。如果您想使用预定义的查找表创建正交数组,网上有许多资源可以提供您使用的数字。

有关正交数组及其在蒙特卡洛抽样中的应用的更多信息,请参阅 Art Owen 的蒙特卡洛书籍的第 10 章 第 10 章

除非有重大兴趣支持旧版本,否则此库仅保证与稳定 Rust 的稳定性。在这种情况下,请通过在 Github 上提交问题或联系我告诉我。

开发

此项目仅依赖于 ndarray 包。可以对包进行一些优化以提高编译速度,例如使用 BLAS 加速。您可以选择通过 serde 为正交数组结构启用支持,使用 features = ["serialize"]

此包是为稳定编译器制作的,因此构建非常简单

cargo build
# or
cargo build --release

您还可以使用 cargo bench 运行基准测试。这使用 criterion 运行基准测试,提供了基准测试的稳健统计数据以及基准测试结果的精美输出。

用法

您可以通过 cargo 在您的 Rust 项目中使用此库。它针对稳定 Rust 编译器,因此只要您保持 Rust 更新,您可能就很好。

我在Mac/Linux上使用Travis测试了这个库,也在我的个人Mac和Linux机器上进行了测试。

当然,如果您发现任何问题,请提交一个issue或发送一个PR。欢迎提出功能请求。

如果您想为这个库启用序列化支持,请将依赖项包含如下

[dependencies.oars]
version = "2.1"
features = ["serialize", "parallel"] # optional features

依赖项

~4MB
~83K SLoC