ALPS モデル定義
ALPS プロジェクトの一部として、量子格子モデルを、それが乗る格子とは独立に共通の XML 形式で記述する必要があります(格子側については 格子定義 を参照)。本セクションでは、この形式を段階的に構築していきます。モデルライブラリファイルとその全体構造である <MODEL>/<SITEBASIS>/<BASIS>/<HAMILTONIAN> から始め、単一サイトの基底、格子全体の基底を経て、そこから組み立てられる量子演算子とハミルトニアン項へと進みます。
はじめに
ALPS モデルライブラリファイル(lib/xml/models.xml)の概要、そこに含まれる組み込みモデル(スピン、ボソン/フェルミオン・ハバードモデル、t-J モデル、近藤格子モデルなど)についてのパラメータ一覧と元論文の引用、およびカスタムモデルの定義に使う <MODEL>/<SITEBASIS>/<BASIS>/<HAMILTONIAN> の 4 部構成について説明します。
サイト基底
1 つ以上の <QUANTUMNUMBER> 要素を用いて単一サイトのヒルベルト空間を記述する方法。フェルミオン的量子数とボソン的量子数の違い、パラメータ化された範囲とデフォルト値、そして t-J モデルのように複数の等価な量子数の選び方が存在するモデルについて扱います。
格子基底
<BASIS> を用いて単一サイトの基底を格子全体の基底へと組み合わせる方法。単位胞に複数のサイトを持つ格子(タイプごとのパラメータを表す # ワイルドカードの省略記法を含む)、および <CONSTRAINT> を用いてサイトについて総和した量子数(例えば全 Sz)で基底を制限する方法を扱います。
量子演算子
ハミルトニアンを組み立てるための演算子の定義方法。明示的な行列要素と量子数の <CHANGE> を持つ単純なサイト演算子(Splus、bdag、cdag_up など)、より単純な演算子から組み立てられる複合的な <SITEOPERATOR>(Sx など)、および 2 サイトにまたがる <BONDOPERATOR>(exchange、fermion_hop など)を扱います。
ハミルトニアンの記述
<PARAMETER> のデフォルト値、<BASIS> への参照、<SITETERM>/<BONDTERM> 要素から <HAMILTONIAN> を組み立てる方法。明示的な type 属性または # ワイルドカードによる、タイプに依存した結合の指定方法を含みます。