毕设跌宕起伏,故事千回百转…算QCP途中疑似超导,看领域大佬类似的模型说也仿佛看到超导…然鹅搞了半天是超乎想象的有限尺度效应…

忙的很久没更了…

因为后续可能多不再进行经典模型的模拟,所以在这里先补充一波必要的基本知识和常用手段。

对于量子model,一般形如: \(H=H_0+gH_1\) ,此时的 \(H_0\) 和\(H_1\)通常不对易,对应着不同的基态,则改变 \(g\) 的大小则整个系统的基态会发生改变。

我们知道对于量子系统的配分函数,形式为:

\(Z=Tr\left \{ e^{-\beta H} \right \}\)

算符的期望值:

\(\left \langle O \right \rangle=\frac{Tr\left \{ Oe^{-\beta H} \right \}}{Z}\)

对于一组完备基,我们有:

\(Z=\sum_{\left \{ \phi \right \}} \left \langle \left \{ \phi \right \}|e^{-\beta H}|\left \{ \phi \right \} \right \rangle\)

算符 \(e^{-\beta H}\) 有着量子力学中的时间演化算符的形式,只需把 \(-i\beta\) 对应 \(t\) ,相应的有了虚时 \(\beta\) 。当温度趋向于0时, \(\beta\) 趋向于无穷。我们把虚时看做新的一维,发现可将量子的配分函数改写为经典的高一维的配分函数的形式。我们常称之为 \((d+1)\) 维的model

对于关联长度,经典情况下: \(\xi \sim |T-T_c|^{-\nu}\)

而对于此时的量子系统,空间尺度的关联长度为: \(\xi \sim |g-g_c|^{-\nu}\)

新维度上通常为: \(\xi_\tau \sim \xi^z \sim |g-g_c|^{-z\nu}\) 如果没记错一般 \(O(n)\) model 的话 \(z=1\) ,我们在进行模拟时最好保持 \(\beta\) 和 \(L\) 同比例增长。

一个简单的例子——横场伊辛

经典的伊辛模型已经在上 一篇文章中简要说明过,而外加横场的量子伊辛模型,在量子领域同样是十分基础和重要的模型。

哈密顿量如下:

\(H=H_0+H_1\)

其中

\(H_0=-J\sum_{<i,j>}\sigma _i^z \sigma_j^z \\ H_1=-h\sum_{i}\sigma_i^x\)

\(\sigma^x\) 等为泡利矩阵:

\(\sigma_i^x=\begin{pmatrix} 0 & 1\\ 1 & 0 \end{pmatrix},\qquad \sigma_i^z=\begin{pmatrix} 1 & 0\\ 0 & -1 \end{pmatrix}\)

d维量子系统与d+1维经典系统的对应

将 \(\beta\) 视为虚时间, \(\beta=L\Delta \tau\) ,则配分函数可写作:

\[ \begin{alignat}{2} Z&=\mathrm{Tr}\left [ e^{-\beta H} \right ]\nonumber \\ &=\mathrm{Tr}\left [ e^{-\Delta \tau H} e^{-\Delta \tau H}... e^{-\Delta \tau H} e^{-\Delta \tau H} \right ] \end{alignat} \]

我们知道:

\[ \begin{alignat}{2} 1&=\prod_{i=1}^{N}\left [ \sum_{S_i^z=\pm 1}|S_i^z \rangle \langle S_i^z| \right ]\nonumber \\ &\equiv \sum_{\left \{ S_i^z \right \}} |S_i^z \rangle \langle S_i^z| \end{alignat} \]

分别在不同的地方将其插入并最终用这组基来求Trace,有:

\[ \label{shangshu} Z= \sum_{\left \{ S_{i,l}=\pm 1 \right \}} \langle S_1^z| e^{-\Delta \tau H} |S_L^z \rangle \langle S_L^z| e^{-\Delta \tau H} |S_{L-1}^z \rangle \langle S_{L-1}^z| e^{-\Delta \tau H} |S_{L-2}^z \rangle...\langle S_3^z| e^{-\Delta \tau H} |S_2^z \rangle \langle S_2^z| e^{-\Delta \tau H} |S_1^z \rangle \]

因为 \(H_0\) 和 \(H_1\) 不对易,所以我们采用这都有名字系列我甚至不想打公式的Trotter-Suzuki近似:

\[ e^{\Delta(A+B)}=\begin{cases} e^{\Delta A}e^{\Delta B}+\mathcal{O}(\Delta^2),\\ e^{\Delta B/2}e^{\Delta A}e^{\Delta B/2}+\mathcal{O}(\Delta^3). \end{cases} \]

这也是此种蒙卡会造成误差的地方。我们有

\[ \begin{alignat}{2} \langle S_{l+1}^z| e^{-\Delta \tau H}|S_l^z \rangle&=\langle S_{l+1}^z| e^{-\Delta \tau H_1-\Delta \tau H_0}|S_l^z \rangle \nonumber \\ &\approx \langle S_{l+1}^z| e^{-\Delta \tau H_1}e^{-\Delta \tau H_0}+\mathbf{O}\left ( \epsilon \right )|S_l^z \rangle \end{alignat} \]

其中

\[ \epsilon=\left [ \Delta \tau H_0,\Delta \tau H_1 \right ]=(\Delta \tau)^2 [H_0,H_1]=\mathbf{O}((\Delta \tau)^2Jh) \]

要求

\((\Delta \tau)^2Jh\ll 1 \\ L^2\gg \beta^2Jh\\ L\gg \beta\sqrt{Jh}\)

对于其中的一项,进行细致的推导:

\[ \langle S_{l+1}^z| e^{-\Delta \tau H_1}e^{-\Delta \tau H_0}|S_l^z \rangle=e^{-\Delta \tau J \sum_{i=1}^{N}S_{i,l}^z S_{i+1,l}^z}\langle S_{l+1}^z| e^{-\Delta \tau h \sum_{i=1}^{N}\sigma _i^x}|S_l^z \rangle \]

又因为

\[ e^{\Delta \tau h \sigma_x}=\mathbf{I}\cosh(\Delta \tau h)+\mathbf{\sigma _x}\sinh(\Delta \tau h) \]

表示为如下形式:

\[ \langle S_z^{'}|e^{\Delta \tau h \sigma_x}|S_z \rangle=\Lambda e^{\gamma S_z^{'}S_z} \]

代入 \(S_z=S_z^{'}\) 和 \(S_z=-S_z^{'}\) 可解出两个参数如下:

\[ \begin{align}\label{qw} \gamma =-\frac{1}{2}\ln(\tanh(\Delta \tau h))\\ \Lambda ^2=\sinh(\Delta \tau h)\cosh(\Delta \tau h) \end{align} \]

得到

\[ \langle S_{l+1}^z| e^{-\Delta \tau H_1}e^{-\Delta \tau H_0}|S_l^z \rangle=\Lambda^N e^{\Delta \tau J\sum_{i=1}^{N}S_{i,l}^z S_{i+1,l}^z+\gamma \sum_{i=1}^{N}S_{i,l}^z S_{i,l+1}^z} \]

由此配分函数可写作与经典Ising一致的形式:

\[ Z_{cl}=\Lambda^{NL}\sum_{\left \{ S_{i,l}=\pm 1 \right \}} e^{\beta_{cl}J_x\sum_{i=1}^{N_x}\sum_{j=1}^{N_y}S_{i,j}S_{i+1,j}+\beta_{cl}J_y\sum_{i=1}^{N_x}\sum_{j=1}^{N_y}S_{i,j}S_{i,j+1}} \]

而此时其中的参数则变为了

\(N_x=N\\ N_y=L\\ \beta_{cl}J_x=\Delta \tau J\\ \beta_{cl}J_y=\gamma\\\)

我们就这么将一个 \(d\) 维量子系统的模拟转变为了 \(d+1\) 维的经典伊辛模型的模拟,无非是 \(J\) 有了改变。

对于一维横场伊辛模型,相变点应该在 \(h=J\) 处,二维应该在 \(3.04438(2)J\) ?

当然了你完全可以拿SSE(随机级数展开来算),没有 \(\Delta \tau\) 相关的误差了而且更快更准(当然会有别的)。比如上述二维横场伊辛的相变点就是有人拿SSE暴力算到了128*128的格子定出来的……

不知道什么时候有时间写些SSE啊Worm啊之类的或是Hybrid蒙卡…

不过按照最近几个月的肝度我觉得悬…

比如前几天:

老板:“明天周四,你要回玉泉路上课是吧?(失望状)”

我:“不啊…老师我明天下午在D楼答辩啊”

老板:“哦你明天答辩啊,那你明天会在所里!(开心状)”

答辩的前两个小时收到微信:“你答完辩就过来吧我们下午跟xxx(来访问的某明尼苏达博后)讨论你可以听一下”

(又一次在看小樱更新的时候被老板推门而入了绝望…幸好为了截图我点了暂停→_→)