We propose and analyze a new Markov Chain Monte Carlo algorithm that generates a uniform sample over full and non-full dimensional polytopes. This algorithm, termed "Matrix Hit and Run" (MHAR), is a modification of the Hit and Run framework. For the regime $n^{1+\frac{1}{3}} \ll m$, MHAR has a lower asymptotic cost per sample in terms of soft-O notation ($\SO$) than do existing sampling algorithms after a \textit{warm start}. MHAR is designed to take advantage of matrix multiplication routines that require less computational and memory resources. Our tests show this implementation to be substantially faster than the \textit{hitandrun} R package, especially for higher dimensions. Finally, we provide a python library based on Pytorch and a Colab notebook with the implementation ready for deployment in architectures with GPU or just CPU.
翻译:我们提议并分析一个新的Markov链条蒙特卡洛算法,该算法在完整和非完整的多面形上生成统一样本。 这个算法叫做“ Matrix Hit and Run” (MHAR), 是“ Hit and Run” 框架的修改。 对于这个制度来说, $ ⁇ 1 ⁇ frac{1 ⁇ 3 ⁇ 3 ⁇ \ll m$, MAHAR 的每个样本在软- O notation ($\SO$) 方面, 与在\ textit{ warm start} 之后的现有取样算法相比, 少了。 MAHAR 的设计是要利用矩阵的复制程序, 而这需要较少计算和记忆资源。 我们的测试显示, 这个执行速度大大快于\ textit{hitandrun} R 包, 特别是更高尺寸。 最后, 我们提供基于 Pytoch 的 python 图书馆和 colab 笔记本, 其执行准备在 GPU 或 just CPU 的建筑中部署。