共通パラメータ
以下の入力パラメータは、ほとんどの ALPS アプリケーションに共通です。
格子の定義
格子上で動作する ALPS アプリケーションは、次の 3 つのパラメータで格子を指定します(格子ライブラリ自体がどのように構築されているかについては 格子定義 を参照してください)。
| パラメータ | デフォルト値 | 意味 |
|---|---|---|
| LATTICE_LIBRARY | lattices.xml | 格子の記述を含むファイルへのパス |
| LATTICE | 次元、大きさ、単位胞によって指定される格子の名前 | |
| GRAPH | LATTICE の代わりに、格子ライブラリで定義された特定の任意のグラフを直接参照することもできます |
さらに、格子の記述ファイルで指定されているとおり、格子の記述には他のパラメータ(例えば L や W)が必要になることがあります。
モデルの定義
ALPS の量子格子モデルは、次のパラメータを使って指定できます(モデルライブラリ自体がどのように構築されているかについては ALPS モデル定義 を参照してください)。
| パラメータ | デフォルト値 | 意味 |
|---|---|---|
| MODEL_LIBRARY | models.xml | モデルの記述を含むファイルへのパス |
| MODEL | モデルの名前(例えば “spin” や “boson”) |
モデルの記述には、モデル記述ファイルで指定されているとおり、他のパラメータ(例えばスピンモデルの S=1/2 や S=1、h=0.5、ボソンモデルの t=1.5 や mu=0.5 など)が必要になることもあります。
有限温度シミュレーションのパラメータ
| パラメータ | 意味 |
|---|---|
| T | 温度 |
| BETA | 温度の逆数。T が与えられていない場合に使われます |
モンテカルロシミュレーションの追加パラメータ
| パラメータ | デフォルト値 | 意味 |
|---|---|---|
| SEED | 0 | 今回の実行で使用される乱数の種。同じタスクから新しい実行が作成されるたびにこの値は 1 だけ増加し、繰り返しの実行が同じ種を再利用しないようになっています。 |
| RNG | “mt19937” | 使用する擬似乱数生成器。指定できる値は “lagged_fibonacci607” と “mt19937” です。 |
| WORK_FACTOR | 1 | スケジューラが複数のタスク間で負荷分散を行う際に、このシミュレーションの推定作業量に掛け合わせる係数。 |
| SWEEPS | (熱化後の)モンテカルロステップ数 | |
| THERMALIZATION | 熱化のためのモンテカルロスイープ回数 |
これらはパラメータファイル自体で設定するパラメータです。コマンドラインから実行する場合、スケジューラはこれとは別に、--time-limit、--checkpoint-time、--Tmin/--Tmax、並列実行用の --mpi/--Nmin/--Nmax といった、パラメータファイルに書く代わりにプログラムへ直接渡す実行時フラグも受け付けます。完全な一覧については コマンドラインの使用 を参照してください。
厳密対角化の追加パラメータ
以下のパラメータは sparsediag と fulldiag に固有のものです。
| パラメータ | デフォルト値 | 意味 |
|---|---|---|
| CONSERVED_QUANTUMNUMBERS | 保存される大域的な量子数を指定し、計算を各セクターごとのより小さな計算に分割するために使われます。保存される量子数が複数ある場合は、CONSERVED_QUANTUMNUMBERS=“N,Sz” のように、二重引用符で囲みカンマで区切って列挙します。 | |
| N_total、Sz_total など | モデル中でその量子数に対する <CONSTRAINT> が定義されていれば(格子基底 を参照)、これらのパラメータで対応する量子数を特定の値に固定できます。この制約は、パラメータに値が指定され、かつ対応する量子数が CONSERVED_QUANTUMNUMBERS にも列挙されている場合にのみ適用されます。 | |
| TRANSLATION_SYMMETRY | true | fulldiag と sparsediag は並進対称性を利用し、可能な場合は運動量量子数によって固有状態を分類します。この対称性による簡約は TRANSLATION_SYMMETRY=false で無効にできます。 |
| TOTAL_MOMENTUM | 全運動量の値を固定します。詳しい説明は以下を参照してください。 | |
| MEASURE_ENERGY | false | 測定が明示的に指定されていない場合、fulldiag と sparsediag はデフォルトでは固有状態に関する情報を一切保存しません。ただし、エネルギーはどの固有状態についても常に計算できるため、他に測定を指定しない場合でもエネルギーを出力に含めたいときは MEASURE_ENERGY=true と指定してください。 |
注: true と false の代わりに、それぞれ 1 と 0 を指定することもできます。
格子が並進対称性をサポートしている場合、全運動量量子数を指定することもできますが、その際には十分注意する必要があります。 TOTAL_MOMENTUM は運動量量子数をベクトルとして、すなわち空白区切りの数値の並びとして受け取ります。通常、各運動量量子数 は次の形をとります
,
ここで は整数、 は対応する方向の線形の大きさです。値を引用符で囲めば、2Pi/5 のような記号表現を指定することもできます。例えば TOTAL_MOMENTUM=“2Pi/5 0” のようにします。
警告: TOTAL_MOMENTUM に不正な値を指定すると、それ以上のエラーメッセージなしに誤った結果につながることがあります。
LATTICE/LATTICE_LIBRARY パラメータと格子ライブラリの関係については 格子定義 を参照してください。MODEL/MODEL_LIBRARY パラメータとモデルライブラリの関係については ALPS モデル定義 を参照してください。ALPS ドキュメントの他のセクションについては 総合案内 を参照してください。