#单元测试 #蒙特卡罗 #物理 #核物理

test-sampler

用于采样程序统计单元测试的工具

1 个不稳定版本

0.1.0 2023年6月3日

#711科学

MIT 许可证

49KB
762

License: MIT build

test-sampler: 采样算法的单元测试工具

该包旨在提供用于单元测试采样算法的实用工具。

特别是,在开发蒙特卡罗粒子输运代码时,需要编写过程来采样描述不同物理相互作用(各种类型的散射、裂变等)的复杂分布。这些模型通常由微分截面 $\frac{d\sigma}{dE'd\Omega}(E)$ 明确表示,其中存在显式表达式。然而,在实践中,获取归一化以将截面转换为概率密度函数(pdf)可能需要复杂的数值积分。简而言之,获取pdf的形状通常很容易,而获取pdf或累积分布函数(cdf)则不然。

该包提供了两个组件,以启用采样算法的单元测试。

  • 一个 通用采样器,可以从描述在有限支持上的连续1D分布的任意形状函数中抽取样本。
  • 一些双样本统计测试,以验证两个样本是否来自相同的分布。

因此,可以使用 通用采样器(低效地)从形状函数生成参考样本集,并将其与“生产”算法进行比较。

编译文档

该包使用 Katex 将方程渲染为结果,在本地编译文档时需要向 cargo 提供额外标志。

export RUSTDOCFLAGS="--html-in-header <path-to-repo>/katex-header.html"

要从存储库的根目录编译文档,请运行:

RUSTDOCFLAGS="--html-in-header katex-header.html" cargo doc --no-deps

依赖关系

~3MB
~57K SLoC