从Pauli矩阵出发构造哈密顿量

 

学过高量及量子场论之后,总是习惯将哈密顿量写成二次量子化的形式,但是在凝聚态的能带问题中,通常看到的只是动量$k$的一个写成Pauli矩阵的表达式,这里项把这两者之间的联系建立一下,顺便对自己也算是一个复习过程.

学过高量及量子场论之后,总是习惯将哈密顿量写成二次量子化的形式,但是在凝聚态的能带问题中,通常看到的只是动量$k$的一个写成Pauli矩阵的表达式,这里项把这两者之间的联系建立一下,顺便对自己也算是一个复习过程.

哈密顿量

我一般在看拓扑的文章的时候,因为凝聚态关心的是低能的哈密顿量,所以会把哈密顿量表示为动量$k$的函数,里面通常还会有泡里矩阵的出现,而文章中给出的哈密顿量为

\[H(\mathbf{k})=2\lambda_x\sin k_x\sigma_xs_z\tau_z+2\lambda_y\sin k_y\sigma_y\tau_z+(\xi_k\sigma_z-\mu)\tau_z+\Delta(\mathbf{k})\tau_x\label{eq1}\]

其实这是简写形式,因为做性质分析或者能带计算也确实只需要这种形式就足够了,但是是完整的形式应该为

\[\hat{H}=\sum_\mathbf{k}\Psi^\dagger_\mathbf{k}H(\mathbf{k})\Psi_\mathbf{k} \label{eq2}\]

这里只需要明确一下基矢$\Psi_\mathbf{k}$就可以得到哈密顿量的二次量化形式$\hat{H}$.比如(\ref{eq1})这个哈密顿量对应的基矢为

\[\Psi^\dagger=(c^\dagger_{a\uparrow\mathbf{k}},c^\dagger_{b\uparrow\mathbf{k}},c^\dagger_{a\downarrow\mathbf{k}},c^\dagger_{b\downarrow\mathbf{k}},c_{a\downarrow\mathbf{-k}},c_{b\downarrow\mathbf{-k}},-c_{a\uparrow\mathbf{-k}},-c_{b\uparrow\mathbf{-k}})=(C_\mathbf{k}^\dagger,-is_y\sigma_0C_\mathbf{-k})\label{eq3}\] \[C^\dagger_\mathbf{k}=(c^\dagger_{a\uparrow\mathbf{k}},c^\dagger_{b\uparrow\mathbf{k}},c^\dagger_{a\downarrow\mathbf{k}},c^\dagger_{b\downarrow\mathbf{k}})\]

将(\ref{eq1})与(\ref{eq3})代入(\ref{eq2})就可以得到此时二次量子化的哈密顿量完整形式了,但是这种完整形式的哈密顿量也只是形式而已,具体计算需要用到的哈密顿量的矩阵形式,其实也就是(\ref{eq1}),所以还是(\ref{eq1})是我们主要关心的,但是基矢(\ref{eq3})同样需要关注,因为不同基矢的表达形式关系到哈密顿量(\ref{eq1})的形式.

比方说基矢(\ref{eq3})种,Pauli矩阵的直积顺序应该是$\tau_i\otimes s_i\otimes\sigma_i$,这里的$\tau_i$代表粒子空穴空间($\mathbf{k},\mathbf{-k}$),$s_i$代表自旋指标($\uparrow,\downarrow$),而$\sigma_i$代表轨道指标($a,b$).可以发现基矢种相邻最近的索引指标,其直积顺序是最靠后的,这一点同样可以从矩阵直积计算过程中明了.

这里因为我在写程序的时候可能需要用到二次量子化的形式,来根据基矢来对应一下哈密顿量种每一项在矩阵种的位置,所以就想直接通过类似于(\ref{eq1})中的Pauli矩阵和基矢选择,来看看基矢中的算符到底是如何进行组合的.其实这里就是简单将基矢写成行向量与列向量,然后与对应的Pauli矩阵做矩阵乘法即可.

实际应用

假设我的基矢选择为

\[\Psi_\mathbf{k}=\left( \begin{array}{c} C_{a,\uparrow ,\mathbf{k}} \\ C_{a,\uparrow ,\mathbf{-k}} \\ C_{a,\downarrow ,\mathbf{k}} \\ C_{a,\downarrow ,\mathbf{-k}} \\ C_{b,\uparrow ,\mathbf{k}} \\ C_{b,\uparrow ,\mathbf{-k}} \\ C_{b,\downarrow ,\mathbf{k}} \\ C_{b,\downarrow ,\mathbf{-k}} \\ \end{array} \right)\] \[\Psi^\dagger_\mathbf{k}=\left( \begin{array}{cccccccc} C^\dagger_{a,\uparrow ,\mathbf{k}},&C^\dagger_{a,\uparrow ,\mathbf{-k}}&C^\dagger_{a,\downarrow ,\mathbf{k}} & C^\dagger_{a,\downarrow ,\mathbf{-k}} & C^\dagger_{b,\uparrow ,\mathbf{k}} & C^\dagger_{b,\uparrow ,\mathbf{-k}} & C^\dagger_{b,\downarrow ,\mathbf{k}} & C^\dagger_{b,\downarrow ,\mathbf{-k}} \\ \end{array}\right)\]

哈密顿量选取为 \(H^{\textrm{BdG}}=(m_0-t_x\cos k_x-t_y\cos k_y)\sigma_z\tau_z+A_x\sin k_x\sigma_xs_z+A_y\sin k_y\sigma_y\tau_z+\Delta(k)s_y\tau_y\\\)

则二次量子化形式表示为

\[\hat{H}=\frac{1}{2}\sum_\mathbf{k}\Psi^\dagger_\mathbf{k}H(\mathbf{k})\Psi_\mathbf{k}\]

如果想计算$(m_0-t_x\cos k_x-t_y\cos k_y)\sigma_z\tau_z$这里一项对应的算符表示,则

\[\Psi^\dagger_\mathbf{k}\cdot(\tau_z\otimes s_0\otimes\sigma_z)\Psi_\mathbf{k}\]

结果为

\[-C_{a,\downarrow ,\mathbf{-k}} C^\dagger_{a,\downarrow ,\mathbf{-k}}-C_{a,\uparrow ,\mathbf{-k}} C^\dagger_{a,\uparrow ,\mathbf{-k}}+C_{a,\downarrow ,\mathbf{k}} C^\dagger_{a,\downarrow ,\mathbf{k}}+C_{a,\uparrow ,\mathbf{k}} C^\dagger_{a,\uparrow ,\mathbf{k}}+C_{b,\downarrow ,\mathbf{-k}} C^\dagger_{b,\downarrow ,\mathbf{-k}}+C_{b,\uparrow ,\mathbf{-k}} C^\dagger_{b,\uparrow ,\mathbf{-k}}-C_{b,\downarrow ,\mathbf{k}} C^\dagger_{b,\downarrow ,\mathbf{k}}-C_{b,\uparrow ,\mathbf{k}} C^\dagger_{b,\uparrow ,\mathbf{k}}\]

这个过程可以直接通过程序计算

png

至于其他的项,只需要改变直积矩阵的元素即可,写成这样之后我可以在之后计算能带及实空间性质的时候,直接通过算符之间的组合来直接判断其对应的矩阵元素的值.

这里利用程序计算所有Pauli矩阵组合时,所有$8\times8$矩阵在这个基矢下,所有的算符组合形式

png

关于跟这种形式哈密顿量相关的博客有

  1. 超导态基矢选择对构建BdG哈密顿量的影响
  2. Hamiltonian构建时的基矢选择
  3. 实空间哈密顿量的周期边界设置

代码下载

上面的代码可以点击这里下载

公众号

相关内容均会在公众号进行同步,若对该Blog感兴趣,欢迎关注微信公众号。

png