部分跟踪算法(原创)

计算科学 量子力学 软件
2021-12-14 17:55:38

一般来说,是否存在可以使用 Mathematica 或 Maple 等软件中的基本矩阵运算进行编码的部分跟踪算法(理想情况下适用于任何规模的系统)?我所知道的所有方法似乎都适合人类,我正在努力想办法用我知道的任何编程语言来实现它们。我将不胜感激任何形式的帮助。

谢谢你。

1个回答

我不知道为什么这些方法更适合人类而不是计算机,您可以通过谷歌搜索轻松找到 MatLab 实现,例如在Toby Cubitt 的网页上(我没有检查算法,但我相信托比能正确地得到这样的东西。)

下面我试着给你一个“适合电脑”的解释。ρAB是您感兴趣的密度矩阵,使用dAdB基向量按以下顺序:

|1,1,|1,2,,|1,dB,|2,1,,|dA,dB

获得ρB=TrA(ρAB), 你只需要添加dA的对角子矩阵ρAB. 就像是ρB=j=0dA1ρAB[jdB+1jdB+dA;jdB+1jdB+dA].

要得到ρA,您可以重新排序索引以返回之前的算法。或者您直接获取相关的子矩阵,但它们以某种方式分散。ρA[k;l]=idBρAB[(k1)dB+i;(l1)dB+i]