密度行列繰り込み群法

密度行列繰り込み群法（みつどぎょうれつくりこみぐんほう density matrix renormalization group; DMRG）は、量子多体系における低エネルギー物理を高精度に計算するために考案された数値変分法である。1992年に Steven R. White により開発されたp=。

**DMRG の背景にある考え方**
量子多体系の物理に関して主に問題となるのは、ヒルベルト空間が指数関数的に大きくなることである。例えば、長さ L のSpin-1/2 チェインは、2L の自由度をもつ。DMRG法は反復的な変分法であり、問題の量子状態についてもっとも重要な自由度にのみ有効自由度を絞り込むことができる。問題とされるのは基底状態であることが多い。
この手法では、ウォームアップサイクル後に系を（同じサイズとは限らない）二つのブロックと、その間に位置するの二つのサイトに分ける。ウォームアップ中に、各ブロックを「代表する」一連の状態を選定する。左ブロック + 二つのサイト + 右ブロックを合わせてスーパーブロックと呼ばれる。スーパーブロックは全系よりも自由度が低減しており、基底状態の候補が見付けやすい。その代償として精度は低下するが、下記の反復法により向上させることができる。
見付かった基底状態の候補を、名前の通り密度行列を用いて各ブロックに対応する部分空間上に射影する。これにより、各ブロックの「関連する状態」が更新される。
ここで、片方のブロックを大きくし、もう片方を小さくして同じ手続きを繰り返す。大きくしたブロックが最大サイズに到達したら、かわりにもう片方を大きくする。最初の（等しいサイズの）状況に立ち戻ったとき、「掃引」が完了したという。1 次元格子ならば通常、数回の掃引で e=10 分の 1 の精度を得るのに十分である。
DMRG法は Steven White と Reinhard Noack により、1 次元箱内のスピン 0 粒子のスペクトルを求めるというトイモデルに対して始めて適用された。このモデルはケネス・ウィルソンにより、何らかの新しいくりこみ群の方法をテストするために考案された。このような単純な問題でも、正しく解けない方法ばかりだったのである。DMRG法は従来のくりこみ群の方法にあった問題点を、系を一つのブロックと一つのサイトに分けるのではなく二つのブロックを二つのサイトで繋ぐように分け、さらに各ステップの最後に最も重要で保存するべき状態を密度行列を用いて識別することにより克服している。 このトイモデルを解くことに成功したのち、DRMG法はHeisenberg_model_(quantum)にも適用され、成功している。

**実装上の技術的詳細**
DMRGアルゴリズムの実用的実装は長大な作業である。次のような計算上のトリックが主に用いられている。- スーパーブロックの基底状態はランチョス法による行列対角化により求める。他にも、特に非エルミート行列を扱う場合はArnoldi_iterationを使うこともある。- ランチョス法はランダムなシードから開始することが多いが、DMRG法ではあるステップで得られた解を適切に変換してシードとする法が良い場合がある。- 対称性のある系の場合、例えばハイゼンベルクモデルにおける総スピンなど、保存される量子数がある場合がある。これによりヒルベルト空間を分割し、そのそれぞれについて基底状態を求めるのが便利である。- 例として、Dmrg_of_Heisenberg_modelが挙げられる。

**応用**
DMRG法は、横磁場イジングモデルやHeisenberg_model_(quantum)など、およびハバードモデルなどのフェルミオン系、近藤効果などの欠陥のある問題、ボソン系、Quantum_wireに接続された量子ドットの物理など、スピンチェインの低エネルギー物性を得るための応用が成功している。樹状グラフを扱えるよう拡張されたものもあり、デンドリマーの研究に応用されている。片方の次元がもう片方よりも非常に大きいような二次元系も精度よく扱えるため、ラダーの研究にも有用であることが知られている。
二次元系の平衡状態についての統計力学的研究向けや、一次元系の非平衡現象の解析向けの拡張も存在する。
量子化学分野においては強相関系を扱うための応用もされている。

**行列積仮設**
DRMG法が一次元系で成功した背景には、これが行列積状態空間上における変分法であるという事実がある。行列積状態とは、次の形式で表わされる状態である。
 
ここで、s1 … sN は例えばスピンチェイン上のスピンの z 成分であり、 Asi は任意の m 次元行列である。m → ∞ の極限において、この表現は厳密となる。このことは S. Rommer と S. Ostlund により理論化された。

**DMRG の拡張**
2004年、行列積状態の実時間発展向けにTime-evolving_block_decimationが実装された。このアイデアは量子コンピュータの古典シミュレーションに基いている。続いて、DRMG形式の実時間発展を計算する新手法が考案された。これについては A. Feiguin と S.R. White による論文を参照のこと。
近年、行列積状態の定義を拡張することにより、二次元および三次元へと拡張する提案がなされている。これについては F. Verstraete と I. Cirac による論文を参照のこと。

**出典**

**参考文献**
 cite journal|date=Nov 1992|title=Density matrix formulation for quantum renormalization groups|url=http://hedrock.ps.uci.edu/dmrgpaper/dmrgpap.pdf|journal=Phys. Rev. Lett.|volume=69|issue=19|pages=2863–2866|format=PDF|ref=harv|first1=Steven R.|last1=White|doi=10.1103/PhysRevLett.69.2863（原論文）- doi=10.1080/00018730600766432（総説）- doi=10.1103/RevModPhys.77.259（元々の定式化に基いたレビュー）- doi=10.1016/j.aop.2010.09.012（行列積状態を用いたレビュー）- arxiv=cond-mat/0207340- doi=10.1166/jctn.2008.011（DRMGとその時間依存拡張への入門）- arxiv.org 上の DRMG関連のプレプリント一覧- ISBN=9789461971944（非経験的分子軌道法向けのDRMGについてのまとめを含む学位論文）-  常次 宏一, 柴田 尚和:「有限温度密度行列繰り込み群とその数理」,応用数理、2000年、10巻、3号、p.218-228

**関連ソフトウェア**
  Powder with Power: Fortran で書かれた時間依存DMRG法用フリープログラム-  The ALPS Project: C++ で書かれた時間非依存DMRGおよび量子モンテカルロ用フリープログラム-  DMRG++: C++ で書かれたフリーなDMRG実装-  ITensor (Intelligent Tensor) ライブラリ: C++ で書かれたテンソル積状態および行列積状態に基くDMRG計算用のライブラリ-  Snake DMRG program: C++ で書かれたDMRG, tDMRG および有限温度DMRG用プログラム-  CheMPS2: C++ で書かれた非経験的分子軌道法向けスピン適合DRMG用オープンソースプログラム
** doi=10.1016/j.cpc.2014.01.019-  Block: C++ で書かれた量子化学およびモデルハミルトニアン向けのDMRGオープンソースフレームワーク。SU(2) および一般的な非アーベル対称性をサポート。

**関連項目**
 量子モンテカルロ- Dmrg_of_Heisenberg_model- Time-evolving_block_decimation- 配置間相互作用法