コンテンツにスキップ

DMRG-01 Introduction

このチュートリアルシリーズでは、ALPS による密度行列繰り込み群の実装である dmrg アプリケーションを使って、一次元量子スピン鎖の基底状態エネルギー、励起エネルギーギャップ、局所オブザーバブル、および相関関数を計算する方法を学びます。このシリーズの各モジュールで使用する実行ファイルは一つ(ALPS インストールディレクトリの bin 以下にある dmrg)ですが、モジュールごとに変わるのは要求する制御パラメータと測定量であり、実行ファイル自体は変わりません。この最初のモジュールではアルゴリズムとその制御パラメータを紹介し、以降のモジュールでは段階的により複雑な測定に適用していきます。

一般的な注意事項

始める前に、DMRG アルゴリズムの内部論理を詳細には立ち入らずに簡単に説明しましょう。大きさ SS のスピンに対して d=2S+1d=2S+1 となる局所状態空間の次元 dd を持つ一次元量子系では、ヒルベルト空間の次元はシステムサイズ LL に対して dLd^L と指数関数的に増大します。厳密対角化はこの指数関数的に大きなヒルベルト空間で厳密な結果を与えますが、扱えるシステムサイズが小さいという代償があります。量子モンテカルロはこの大きな空間を確率的にサンプリングすることで近似的な結果を得て、はるかに大きなシステムサイズに到達できます。密度行列繰り込み群(DMRG)はさらに別のアプローチを取ります。指数関数的に大きなヒルベルト空間の中にサイズ DD の非常に小さな部分空間を見つけ、その部分空間が基底状態のような興味ある状態の良い、あるいは非常に良い、さらには優れた近似を含むことを期待するのです。

したがって、最初の重要な制御パラメータは DD であり、行列次元またはブロック状態数と呼ばれます。パラメータ DD は部分空間の状態数を制御します。DMRG はこのパラメータに対して単調です:DD が大きいほど部分空間が大きくなり、近似が良くなります。また厳密な極限も存在します:DdLD\rightarrow d^L となれば状態は捨てられず、解は厳密になります。しかし、これは実際には意義がありません。コンピュータでそのような大きな状態数が実現できるなら、厳密対角化の方が優れた代替手段となるでしょう。

第二の重要な制御パラメータはもちろんシステムサイズ LL です。

第三の制御パラメータは DMRG アルゴリズムをさらに詳しく見ることでのみ理解できます。ある状態への最良の近似を見つけるために、DMRG は二段階で進みます:

  1. 第一段階(いわゆる無限系 DMRG)では、アルゴリズムは長さ 2、4、6 の鎖を反復的に解析して良い部分空間を見つけ、目的のシステムサイズ LL に達するまで続けます。この手順は各反復で鎖を分割し、中央に二つの新しいサイトを挿入することから成ります。この手順はもちろん無限に続けて LL を無限大にすることができるため、この名称がついています。しかし無限大に近づくにつれて意味のある結果が得られることは期待しないでください!もう一点、この手順は偶数長の鎖を DMRG で扱うのに適しています。
  2. 第二段階(いわゆる有限系 DMRG)では、短い鎖に対する部分空間の選択が最終的な長さ LL の鎖に存在するすべての量子ゆらぎと相関を考慮できていなかったという事実に DMRG が対処します。この手法は、さらなる反復を繰り返して部分空間の質を改善します。鎖の全サイトを訪問するような一回の反復を DMRG では*掃引(スウィープ)*と呼びます。掃引数は最後の重要な制御パラメータです:少なすぎると、与えられた DD に対する結果の精度が達成されません。多すぎると計算コストが無駄になる可能性がありますが、もちろん慎重に多めにするのは常に良いことです。

最後に、DMRG 計算で達成された精度の良い指標である切り詰め誤差を考えましょう。簡略化した見方をすると、アルゴリズムの各時点で DMRG は状態空間の指数関数的増大の方向に一歩踏み出し、その後、その状態に対応する固有状態の重み(固有値)の分布に関する密度行列の解析によって、そのステップを許さない場合にどれほどの精度を保持できるかを問います。DMRG の近似は、一部の統計的重みを捨てなければならないという事実に反映されており、これがいわゆる切り詰め誤差です。多くの DMRG 応用では 101210^{-12} ほどの小ささになり得ます。これは DMRG による近似が極めて軽微であることを示しており、この手法が大きな成功を収めた理由です。このチュートリアルの目的にとって重要なのは、掃引数が十分に多い場合、局所量(エネルギー、磁化など)の誤差は切り詰め誤差にほぼ比例する(ただし通常はかなり大きい)ということです。

他との違い …

他の数値的手法との最も重要な違いは、DMRG が開放境界条件を好むことです。つまりサイト 1 と LL に二つの鎖端があり、厳密対角化やほとんどの解析的手法が好む閉じたループではありません。これにより、このチュートリアルシリーズ全体にわたって現れるいくつかの微妙な側面が生じます。DMRG-03 でのスピン-1 鎖に必要な特別な格子から、DMRG-05 で研究する励起における境界対バルクの区別まで様々です。

ALPS DMRG コードとその制御パラメータ

ハミルトニアンや格子形状などの入力の他に、DMRG シミュレーションには特定の制御パラメータのセットが必要です。その一部を以下に示します。詳細については DMRG 参照ページ を参照してください。

DMRG 固有のパラメータ

パラメータ意味デフォルト
NUMBER_EIGENVALUES計算する固有状態とエネルギーの数。ギャップを計算する場合は 2 に設定1
SWEEPS有限系アルゴリズムの DMRG 掃引数(一回の掃引 = 左から右への半掃引一回 + 右から左への半掃引一回)
NUM_WARMUP_STATESDMRG ブロックを成長させるために使用する初期状態の数20
STATES各半掃引で保持する DMRG 状態の数。2*SWEEPS 個の STATES 値、または代わりに単一の MAXSTATES/NUMSTATES 値を指定
MAXSTATES保持する DMRG 状態の最大数。基底はこの値に達するまで STATES/(2*SWEEPS) のステップで成長
NUMSTATESすべての掃引で保持する一定の DMRG 状態数
TRUNCATION_ERROR固定状態数の代わりに使用するシミュレーションの許容誤差。制約なしの許容誤差では基底が制御できないほど成長する可能性があるため、MAXSTATES/NUMSTATES と組み合わせて使用することが最善
LANCZOS_TOLERANCEDavidson/Lanczos 対角化ステップの許容誤差10710^{-7}
CONSERVED_QUANTUMNUMBERS模型で保存される量子数。ハミルトニアンをブロック対角化するために使用。未設定の場合、グランドカノニカルアンサンブルで実行(例えば、スピン鎖では固定 Sz_total 部分空間の代わりに完全な 2N2^N 次元ヒルベルト空間を使用)

適切なパラメータの選び方

デフォルトの入力値は推奨しません。DMRG の収束は、ウォームアップで使用する状態数、掃引数、および各反復で保持する最大状態数の影響を強く受けます。状態数の関数として基底状態エネルギーと切り詰め誤差の収束を確認することが良い習慣です。これにより、誤差を一定の許容範囲内に保つために必要な最適な状態数がわかります。

十分な掃引が行われたかどうかを判断するには、相関の空間分布、またはスピン磁化や粒子密度などの局所量を確認するとよいでしょう。例えば、反射対称性を持つ模型では、これらのオブザーバブルも対称になることが期待されます。もう一つ対称であるべき量はエンタングルメントエントロピーです。この振る舞いが結果に反映されていない場合、計算での掃引数が不足している可能性が高いです(もう一つ考えられるシナリオは相分離です)。

ハミルトニアンが Sz や N などの量子数を保存する場合、これらの値を固定して次元の小さい部分空間でシミュレーションを実行することができます。これにより計算が大幅に速くなり、メモリ使用量も削減されます。