1 个不稳定版本
0.1.0 | 2023年6月3日 |
---|
#711 在 科学
49KB
762 行
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