BdG 哈密顿量在不同基矢下面的形式会略有不同,但二者计算的结果都是等价的,因为二者的基矢之间也只是幺正变换联系的,这里就展示一下具体的实例。

基矢选择一

选择 Nambu 基矢

构建 BdG 哈密顿量

其中$h(\mathbf{k})$是正常态哈密顿量,$\Delta(\mathbf{k})$是配对矩阵($2\times 2$)。费米统计要求电子交换反对易

配对矩阵的一般形式为

其中$\psi(\mathbf{k})$是自旋单态分量,是一个标量;$\mathbf{d}(\mathbf{k}) = (d_x, d_y, d_z)$是自旋三重态配对的$\boldsymbol{d}$矢量,$is_y$保证自旋部分是反对称的。根据方程$\eqref{eq:delta}$,对于自旋单重态有

自旋单态的空间部分是偶函数;对于自旋三重态

因此三重态配对的空间部分是奇函数。

基矢选择二

现在考虑第二种基矢选择

从形式看,就是将配对矩阵$\eqref{eq:p1}$中的$is_y$吸收到了基矢中,因为配对矩阵是成对电子产生或者湮灭对应的分量,所以此时就只需要对 Nambu 基矢的空穴部分做变换即可,将因子吸收进来。首先要说明的是这个操作其实也是一个幺正变换

在这个基矢下配对矩阵形式就很简单的

所以在新的基矢$\eqref{eq:basis2}$下配对矩阵就变成了

其中$\psi(\mathbf{k})$是标量函数,是自旋单重态的空间部分;$\mathbf{d}(\mathbf{k}) \cdot \mathbf{s}$是矢量函数,是自旋三重态部分。所以在新基矢下面写超导配对就很方便,比如一个 helical 的$p_x\pm ip_y$超导体

因此配对项处在反对角线上,所以直接就是$\tau_x$了,这种基矢下写配对项来就很方便了。但是这种基矢下正常态在写到空穴空间的时候,又不能像基矢$\eqref{eq:basis1}$下那样简洁,直接由$-H^*(-\mathbf{k})$来得到,有利就有弊吧。

实例

首先在基矢$\eqref{eq:basis}$下给出一个哈密顿量

能谱为

可以通过幺正矩阵$\eqref{eq:U1}$变换就得到

用程序直接验证

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ClearAll["`*"];
{s0, sx, sy, sz} = PauliMatrix[{0, 1, 2, 3}];
g1 = KroneckerProduct[sz, sz];(*fFIM*)
g2 = KroneckerProduct[sz, sy];(*SOC*)
g3 = KroneckerProduct[sy, sy];(*pairing*)
g4 = KroneckerProduct[sz, s0];(*mu*)
ham = d1 g1 + d2 g2 + d3 g3 - d4 g4;
U0 = KroneckerProduct[(sz + s0)/2, s0] +
KroneckerProduct[(s0 - sz)/2, -I sy];
Style[MatrixForm[U0], FontSize -> 24, Blue]
func1[mat_] :=
Style[MatrixForm[U0 . mat . Inverse[U0]], FontSize -> 20, Blue]
Style[MatrixForm[#], FontSize -> 20, Red] & /@ {KroneckerProduct[sz,
sz], KroneckerProduct[sz, sy], KroneckerProduct[sy, sy],
KroneckerProduct[sz, s0]}(*Particle-hole * Spin*)
func1[#] & /@ {g1, g2, g3, g4}

Style[MatrixForm[#], FontSize -> 20, Green] & /@ {KroneckerProduct[s0,
sz], KroneckerProduct[sz, sy], KroneckerProduct[sx, s0],
KroneckerProduct[sz, s0]}(*Particle-hole * Spin*)

两种基矢下得到的能谱都是相同的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ClearAll["`*"];
{s0, sx, sy, sz} = PauliMatrix[{0, 1, 2, 3}];
g1 = KroneckerProduct[sz, sz];
g2 = KroneckerProduct[sz, sy];
g3 = KroneckerProduct[sy, sy];
g4 = KroneckerProduct[sz, s0];
ham1 = d1 g1 + d2 g2 + d3 g3 - d4 g4;
vals1 = Eigenvalues[ham1] // FullSimplify
vals1 =
vals1 /. {d1 -> (V0 + V1 Cos[k]), d2 -> \[Lambda]0 Sin[k],
d3 -> \[CapitalDelta]0, d4 -> \[Mu]};
gg1 = KroneckerProduct[s0, sz];
gg2 = KroneckerProduct[sz, sy];
gg3 = KroneckerProduct[sx, s0];
gg4 = KroneckerProduct[sz, s0];
ham2 = d1 gg1 + d2 gg2 + d3 gg3 - d4 gg4;
vals2 = Eigenvalues[ham2] // FullSimplify
vals2 =
vals2 /. {d1 -> (V0 + V1 Cos[k]), d2 -> \[Lambda]0 Sin[k],
d3 -> \[CapitalDelta]0, d4 -> \[Mu]};

完整的 Mathematica 文件点击这里下载

鉴于该网站分享的大都是学习笔记,作者水平有限,若发现有问题可以发邮件给我

  • yxliphy@gmail.com

也非常欢迎喜欢分享的小伙伴投稿