What is mVMC?

mVMCとは?

量子多体系の理論模型の高精度解析は 高温超伝導・量子スピン液体に代表される新奇量子相の 発現機構を解明するうえで重要な役割を果たすことが期待できます。 また、現実の物質を記述する有効模型を非経験的に導出する手法も 近年発展しており [ImadaMiyake ]、その有効模型の高精度解析を行うことは、 現実物質の物性を非経験的に解明して、さらに制御につなげるうえで 重要なステップとなっています。 有効模型解析で最も信頼できる手法は厳密対角化法であるものの、 その適用できるサイズには強い制限があるのが大きな問題でした。 厳密対角化法を超えたシステムサイズに対して高精度な計算が行える 計算手法の一つとして、変分モンテカルロ法があります [Gros ]。 従来の変分モンテカルロ法では、 使用する変分波動関数の強い制限に よる精度の低下が問題となっていましたが、 近年の理論手法及び計算機の発展によって、 変分モンテカルロ法で使用する波動関数の制限を 大幅に緩和することが可能になっており、 変分モンテカルロ法の計算精度は劇的に向上しています [Tahara2008, Misawa2014, Morita2015 ]。

この背景のもと、 多変数変分モンテカルロ法(many-variable variational Monte Carlo method [mVMC])は 簡便かつ柔軟なユーザー・インタフェースとともに 大規模並列に対応したソフトウェアとして開発されました。 ハバード模型・ハイゼンベルグ模型・近藤格子模型などの 基本的な模型に対しては、 ユーザーは10行程度の 一つのファイルを用意するだけで 容易に計算を実行することができます。 また、同一のファイルを用いて、 \(\mathcal{H}\Phi\) [HPhi ]による厳密対角化法の計算も実行できることから、 ユーザーは小さなシステムサイズで計算精度を確認しながら, 厳密対角化では到達できないシステムサイズの 計算を行なうことができます。 mVMCを実験研究者や量子化学の研究者などの 分野を超えた幅広いユーザー の方にご利用頂ければ幸いです。

プログラム概要

このプログラムを利用することで以下の事項が計算可能です。

  • 与えられた変分自由度の範囲でハミルトニアンの期待値が最小 (極小) 値を持つような変分波動関数 を数値的に生成します. 量子数で分割された部分空間に限定して計算することも可能です。

  • 得られた変分波動関数における各種物理量 (相関関数など) の期待値を計算することができます。

mVMCでは以下の流れで計算を行います。

  1. 入力ファイル(*.def)の読込

  2. \(\langle {\cal H} \rangle\)を最小化するように変分パラメータ\(\vec{\alpha}\)を最適化

  3. 一体・二体Green関数の計算

  4. 変分パラメータ・期待値の出力

計算では「実空間配置 \(|x\rangle\)の生成からサンプリングまでを並列して行い、期待値を計算する際に一つにまとめる」という単純な並列化を行っています。各計算機クラスターで所定の手続きに従って、 並列数を指定すれば MPI を用いた並列計算を勝手に行われますが、並列を行わない場合 (single core) もMPI を呼び出すため、MPI ジョブを禁止してる環境 (物性研 system B のフロントエンドなど) ではプログラム実行することができません。なお、本プログラムではパフィアンの計算にあたりPFAPACKを利用した計算を行っています [PFAPACK ]。

ライセンス

本ソフトウェアのプログラムパッケージおよびソースコード一式はGNU General Public License version 3(GPL v3)に準じて配布されています。

mVMCを引用する際には、以下のmVMCに関する論文を引用、またはURLを記載してください
mVMCの論文: Takahiro Misawa, Satoshi Morita, Kazuyoshi Yoshimi, Mitsuaki Kawamura, Yuichi Motoyama, Kota Ido, Takahiro Ohgoe, Masatoshi, and Takeo Kato, Comp. Phys. Commun. 235 447-462 (2019).

コピーライト

©2016- The University of Tokyo. All rights reserved.

本ソフトウェアは2016年度 東京大学物性研究所 ソフトウェア高度化プロジェクトの支援を受け開発されています。

開発貢献者

本ソフトウェアは以下の開発貢献者により開発されています。

  • ver.1.2.0 (2021/11/22リリース)

  • ver.1.1.0 (2019/11/15リリース)

  • ver.1.0.3 (2018/7/23リリース)

  • ver.1.0.2 (2017/8/25リリース)

  • ver.1.0.1 (2017/6/8リリース)

  • ver.1.0.0 (2017/5/23リリース)

  • ver.0.2.0 (2017/3/16リリース)

  • ver.0.1.1 (2016/12/16リリース)

  • ver.0.1.0 (2016/10/26リリース)

    • 開発者

      • 三澤 貴宏 (北京量子信息科学研究院)

      • 森田 悟史 (東京大学 物性研究所)

      • 許 如清 (東京大学 理学系研究科)

      • 大越 孝洋 (東京大学 大学院工学系研究科)

      • 井戸 康太 (東京大学 物性研究所)

      • 今田 正俊 (東京大学 大学院工学系研究科)

      • 本山 裕一 (東京大学 物性研究所)

      • 河村 光晶 (東京大学 物性研究所)

      • 吉見 一慶 (東京大学 物性研究所)

    • プロジェクトコーディネーター

      • 加藤 岳生 (東京大学 物性研究所)

動作環境

以下の環境で動作することを確認しています。

  • 東京大学物性研究所スーパーコンピューターシステムB「ohtaka」

  • 東京大学物性研究所スーパーコンピューターシステムC「enaga」

  • OpenMPI + Intel Compiler + MKL

  • MPICH + Intel Compiler + MKL

  • MPICH + GNU Compiler + MKL