跳至内容

格子基

格子模型的基是通过为格子中每一种格点(顶点)类型给出一个格点基来指定的。如果格子中只有一种格点类型,那么只需给出一个格点基,既可以引用之前定义好的格点基,也可以直接内联声明:

<BASIS name="spin">
<SITEBASIS ref="spin"/>
</BASIS>

<BASIS name="spin-1">
<SITEBASIS name="spin-1">
    <QUANTUMNUMBER name="S" min="1" max="1"/>
    <QUANTUMNUMBER name="Sz" min="-1" max="1"/>
</SITEBASIS>
</BASIS>

<SITEBASIS> 一样,<BASIS> 元素也有一个 name 属性,之后可以从 <HAMILTONIAN> 中引用它(参见哈密顿量描述)。它包含一个 <SITEBASIS> 元素,作为所有格点默认使用的基,既可以像第一个例子那样通过 ref 属性引用先前定义的格点基,也可以像第二个例子那样内联声明完整的格点基。(第一个例子中的 ref="spin" 指向量子算符中定义的参数化 spin 格点基,本页其余部分都会用到它。)

每个晶胞包含多个格点的格子

如果格子的晶胞包含多个格点,<BASIS> 命令中应该为晶胞的每个格点各包含一个 <SITEBASIS> 条目,每个条目应有不同的 type,与格子库文件中给出的定义相对应(参见格子定义)。

下面的基是一个二分格子希尔伯特空间的有效示例:

<BASIS name="Kondo lattice">
<SITEBASIS type="0" ref="fermion"/>
<SITEBASIS type="1" ref="spin-1/2"/>
</BASIS>

在某些自旋模型中,我们可能希望不同格点类型使用相同的局域格点基,但自旋大小随格点类型而不同。例如,我们可以通过参数 local_S0local_S1 分别设置类型 0 和类型 1 格点上的自旋值,同时仍然提供合理的默认值:

<BASIS name="spin">
<SITEBASIS type="0" ref="spin">
    <PARAMETER name="local_spin" value="local_S0"/>
    <PARAMETER name="local_S0" value="local_S"/>
    <PARAMETER name="local_S" value="1/2"/>
</SITEBASIS>
<SITEBASIS type="1" ref="spin">
    <PARAMETER name="local_spin" value="local_S1"/>
    <PARAMETER name="local_S1" value="local_S"/>
    <PARAMETER name="local_S" value="1/2"/>
</SITEBASIS>
</BASIS>

这里 local_spinspin 格点基内部用来设置 S 的参数(参见量子算符);这条默认值链条使得用户在每一层都能得到一个合理的回退值:如果什么都不设置,两种格点类型都会通过 local_S 得到自旋 1/2;设置 local_S=1 后两种类型都变为自旋 1;也可以直接覆盖 local_S0/local_S1,让两种格点类型拥有不同的自旋。

当格点类型增多时,这种写法会变得繁琐,为此 ALPS 格式提供了一种简写。如果没有指定 type,<SITEBASIS> 将匹配任意格点,并且参数名中的通配符 # 会被替换为该格点的类型。这样一来,上面的例子就可以扩展到任意多种格点类型,并更紧凑地写成:

<BASIS name="spin">
<SITEBASIS ref="spin">
    <PARAMETER name="local_spin" value="local_S#"/>
    <PARAMETER name="local_S#" value="local_S"/>
    <PARAMETER name="local_S" value="1/2"/>
</SITEBASIS>
</BASIS>

约束

最后,基还可以被限制在某个扇区中,在该扇区内某个对所有格点求和后的量子数取固定值。例如,要将自旋基限制在总 Sz 等于参数 Sz_total 的扇区,可以添加一个 <CONSTRAINT> 元素:

<BASIS name="spin">
<SITEBASIS ref="spin"/>
<CONSTRAINT quantumnumber="Sz" value="Sz_total"/>
</BASIS>

像这样限制到某个扇区可以缩小希尔伯特空间的规模,这对于直接在完整希尔伯特空间中工作的方法(例如精确对角化)尤其重要。


关于本节其余部分的概览,参见 ALPS 模型定义。关于这里组合所用的单格点基,参见格点基。关于 ALPS 文档的其他章节,参见总体介绍