• 締切済み

DMRGについて

どなたか、密度行列繰り込み群(DMRG)のプログラムを作れる方いませんか?もしいましたらどう作ればよいか教えてください。 最初のスーパーブロックの行列要素の計算プログラムだけでも構いません。本当に困っているのでよろしくお願いします。 ちなみに使っている言語はfortran90です

みんなの回答

  • rigarash
  • ベストアンサー率0% (0/0)
回答No.1

DMRGのコードでソースコードが公開されているものは、結構ありますね。 まずはそのまま論文にも使われるものです。 1. ALPS project (http://alps.comp-phys.org/) C++です。ALPS projectはQMC、厳密対角化のアプリケーションが 有名ですが、A. Feiguinによる汎用的なDMRGコードもあります。 2. DMRG++ (http://www.ornl.gov/~gz1/dmrgPlusPlus/) G. Alvarez作のC++で実装された汎用的なDMRGです。 3. http://homepage2.nifty.com/h_ueda/old_study.html 阪大の上田さん作のFortran90による汎用的なDMRGです。 教育的な目的のものもいくつかあります。 1. 神戸大の西野先生によるS=1/2のコード(FORTRAN77) http://quattro.phys.sci.kobe-u.ac.jp/nishi/Note/nnnv.html 2. Whiteのparticle in the box(C++) http://hedrock.ps.uci.edu/ コードの説明は、Lecture Notes in Physicsの1つの章としてあります。 http://www.springerlink.com/content/4k74558010832k61/ 3. Boulder school 2010 http://boulder.research.yale.edu/Boulder-2010/Lectures/index.html 2010年のBoulder schoolは物性の計算手法だったのですが、その際の White/Feiguin/Stoudenmireによるコードが公開されています。 全部C++です。

dmrg
質問者

補足

回答ありがとうございます。 神戸大の西野先生によるS=1/2のコードを実行してみたところ、 In file DMRG(3).f:1138 FC = JH(1)*JH(3)*SR(EP+XR(I)*J+K)/2.0D0 1 Error: Array index at (1) must be of INTEGER type といったエラーがでてしまったのですがどうしたらよいのでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A