User Tools

Site Tools


Sidebar

数値計算ライブラリ:itensor:インストール

概要

ITensorのインストール方法。

必須ではありませんが、以下のライブラリにも対応しているので、使いたい場合はそちらもインストールしてください。

  • MKL
  • HDF5
  • OpenMP

IntelコンパイラはC++17に対応していないため使用できません

準備

Linux(WSLを含む)

OSをアップデートします。

$ sudo apt update
$ sudo apt upgrade

必要に応じてコンピュータを再起動してください。

コンパイラ類とLAPACK(MKLを使う場合は不要)をインストールします。 また、GitHubからITensorを入手する場合はgitも入れておきます。

$ sudo apt install build-essential
$ sudo apt install liblapack-dev liblapack-doc
$ sudo apt install git

MacOS

Mac App StoreよりXCodeをインストールしてください。

インストールできたらXCodeを起動し、使用条件に同意してください。

入手

githubから入手する場合

公式にはこちらが推奨されています。 itensorは好きな名前にしてください。

$ git clone https://github.com/ITensor/ITensor itensor

tar.gzあるいはzipを展開する場合

以下のサイトから最新版をダウンロードします

入手したファイルをホーム・ディレクトリにおいて展開します(ファイル名はバージョンによって変化します)

$ tar -xzvf ITensor-3.1.11.tar.gz   # tarの場合
$ unzip ITensor-3.1.11.zip          # zipの場合
$ mv ITensor-3.1.11/ itensor/       # 必要に応じて好きな名前にしてください

コンパイル

ダウンロードしたITensorのディレクトリに入ります。

$ cd itensor/

コンパイルの設定はoptions.mkというファイルを作って書き込みます。 サンプルが付属しているので、これを書き換えます。

$ cp options.mk.sample options.mk
$ vim options.mk
  • 書き換えはファイルの指示に従って編集してください
    • [1] … 使用するコンパイラを設定します。必須
    • [2] … 使用する線形代数ライブラリを指定します。必須
    • [3] … HDF5を利用する場合は設定します。任意
    • [4] … OpenMPを利用する場合は設定します。任意
    • [5] … コンパイラの最適化機能を設定します。任意
  • MKLを使う場合は、パスを自分の環境のものに合わせてください

options.mkの編集が終わったら、ITensorをビルドします

$ make

使い方

サンプルプログラム

sampleというディレクトリにITensorを使った計算の具体例がいくつか入っているので、遊んでみるとよいでしょう。

$ cd sample/
$ make dmrg
$ ./dmrg

(略)

Ground State Energy = -138.9400860763

Using inner = -138.9400860763

“dmrg”はスピン1のハイゼンベルグ模型(100サイト、開境界条件)の計算です。 この他の例については同じsampleディレクトリ内にあるREADMEを参照してください。

チュートリアル

簡単な模型で遊ぶ程度でしたらサンプルをいじるだけで十分ですが、本格的に使い始めたい場合はまずチュートリアルの練習問題を解いていくと良いでしょう。 チュートリアルに使用されているプログラムは tutrial というディレクトリに入っています。 チュートリアルのスライドは以下のサイトから手に入ります。

あとは、ITensorのHPのLearnから必要なものを読んでいきます。 基本的な使い方でわからないことがあれば、Discussで検索すると解決策が見つかるかもしれません。

Intelコンパイラが使えた時代のoptions.mk

バージョン1ではIntelコンパイラが使えました。

(略)
## Set which compiler to use by defining CCCOM:
CCCOM=icpc -m64 -std=c++11
(略)
PLATFORM=mkl
## MKL example (recommended with Intel C++ compiler icpc for performance on Intel CPUs)
BLAS_LAPACK_LIBFLAGS=-L/opt/intel/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_rt -lmkl_core -liomp5 -lpthread
BLAS_LAPACK_INCLUDEFLAGS=-I/opt/intel/mkl/include
(略)
数値計算ライブラリ/itensor/インストール.txt · Last modified: 2023/04/06 20:39 by koudai