Single-file diffusion is a paradigm for strongly correlated classical stochastic many-body dynamics and has widespread applications in soft condensed matter and biophysics. However, exact results for {single-file} systems are sparse and limited to the simplest scenarios. We present an algorithm for computing the non-Markovian time-dependent conditional probability density function of a {tagged-particle} in a {single-file} of $N$ particles diffusing in a confining external potential. The algorithm implements an eigenexpansion of the full interacting many-body problem obtained by means of the coordinate Bethe ansatz. While formally exact, the Bethe eigenspectrum involves the generation and evaluation of permutations, {which becomes unfeasible for single-files with an increasing number of particles $N$.} Here we exploit the underlying {exchange} symmetries between the particles to the left and to the right of the {tagged-particle} and show that it is possible to reduce the complexity of the algorithm from the worst case scenario $\mathcal{O}(N!)$ down to $\mathcal{O}(N)$. A C++ code to calculate the non-Markovian probability density function using this algorithm is provided. Solutions for simple model potentials are readily implemented incl. {single-file diffusion} in a flat and a 'tilted' box, as well as in a parabolic potential. Notably, the program allows for implementations of solutions in arbitrary external potentials under the condition that the user can supply solutions to the respective single-particle eigenspectra.
翻译:单文件扩散是一种典型古典随机多体动态的范例。 它在软压缩物质和生物物理中广泛应用。 然而, { single- file} 系统的确切结果很少, 并且仅限于最简单的假设情景。 我们在 { single- file} 中为计算非马尔科文时间依赖的 { talt- particle} 的有条件概率密度函数提供了一个算法。 我们在这里利用了在外部潜力中将颗粒向左和向右扩散的基底 { talp- particle} 执行一个完全互动的多体问题。 算法通过坐标 Besatz 实现的完全互动。 虽然正式精确, { seigenspegraphr 系统包含对变形的生成和评估, { 它对于粒子数量不断增加的单体单体来说不可行 。} 在这里, 我们利用粒子向左面和右侧面的 { tal- pal- prolemental 解算法的模型, 在最坏的 Orent ral ral roqal rofal oral_ lial roqal Prode 中, 在使用一个稳定的Oral\ dal_ dal_ roqal- deal robal rodududududucal rodudeal rodudal rodudal rodudal rodudal 提供一个O 。