Manual Analysis HAL

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 5

Manual of the analysisHAL_miya
Takaya Miyamoto
Yukawa Institute for Theoretical Physics, Kyoto University
2018 62
目次
1コード全体の概要 2
2 C/C++ コード 3
2.1 ComplexField_BASE クラス ....................... 3
2.2 Statistics<X> テンプレートクラス .................... 4
3 python3 コード 5
3.1 概要 ..................................... 5
4簡単な計算コード例と解析の手順 5
4.1 テストデータについて ............................ 5
1
はじめに
このマニュアルは未完成です。
適宜、項目を増やしていく予定です
1コード全体の概要
本コードは、HAL QCD 法を用いた Lattice QCD potential の計算とその解析を目的
として構築されています。使用する言語は C/C++ もしくは python3 で、基本的な設計
として以下を想定しています。
基本設計
 
C/C++
Single hadron correlator NBS 波動関数の入出力とポテンシャルの計
算・出力のために用いる
python3
C/C++ で作られたポテンシャルの解析のために用いる
(例1)ポテンシャルのフィッティング
(例2)位相差、T行列等の観測量の計算
 
なお、C/C++ では外部ライブラリ(boost など)を使わないように設計してあります
が、python3 では少なくとも Numpy Scipy、できれMatplotlib npmath もイン
ストールしていることを想定しています。
またpython3 コードはできるだけ python2 と互換性のあるように設計してあります
が、確実に動くという保証はありません。
2
2 C/C++ コード
この章では、analysisHAL_miya}の中の C/C++ コードで実装されているクラス・関
数等の詳細と使い方を解説します。基本的には、共通のルーチンをベースクラスやテンプ
レートクラスにまとめ、実際に用いるクラスはそれらを継承したものにしています。現在
Version 2)実装されているベースクラス・テンプレートクラスを以下に示します。
C/C++ コードで実装されているベースクラス・テンプレートクラス
 
ComplexField_BASE
複素数の場の量を扱うベースクラス
STATISTICS<X>
いくつかのサンプルについて、統計計算をするテンプレートクラス
MATRIX_TEMPLATE_BASE<X>
いくつかのサンプルについて、統計計算をするテンプレート(ベース)クラス
 
この中でも特に重要なのが複素数の場の量を扱うためのComplexField_BASEクラ
スであり、2.1 章にて詳しく解説します。ま2.2 章では、に重要なSTATISTICS<X>
テンプレートクラスについて詳しく見ていきます。その他のベースクラスは、??章にて解
説します。
2.1 ComplexField_BASE クラス
Single hadron correlator NBS 波動関数などは、時空間やスピンなどの index
HAL QCD
とによりポテンシャルを計算しますが、この複素場を直感的に扱えるクラスとして
ComplexField_BASE」というベースクラスを用意しています。この章では、このベー
スクラスの実装と実際の使い方を解説します。
ComplexField_BASE クラスのメンバ変数は次のようなもので、全て protected
なっています。
3
ComplexField_BASE クラスのメンバ変数
 
std::complex<double> *m_field
複素数の場を格納する配列のポインタ
int m_xSIZE
空間(x方向)の大きさ
int m_ySIZE
空間(y方向)の大きさ
int m_zSIZE
空間(z方向)の大きさ
int m_tSIZE
時間(t方向)の大きさ
int m_aSIZE
時空間の index の内側を回る自由度の大きさ
int m_bSIZE
時空間の index の外側を回る自由度の大きさ
 
以下では、ComplexField_BASE クラスのメンバ関数について解説していきます。
2.1.1 ComplexField_BASE クラスのインスタンス化とオブジェクトの初期化
ComplexField_BASE クラスのインスタンス化のために、次の4種類のコンストラ
タを用意してあります。
(1) ComplexField_BASE psi;
(2) ComplexField_BASE psi(psi_in);
(3) ComplexField_BASE psi(aSIZE, xSIZE, ySIZE, zSIZE, tSIZE, bSIZE);
(4) ComplexField_BASE psi(aSIZE, LSIZE, tSIZE, bSIZE);
(1) では、全ての自由度の大きさがゼロのオブジェクpsi が作られます。(2) はコピー
コンストラクタで、 引数で与えた psi_in と同じサイズ、同じ値を持つオブジェクトが
作られます。
4
2.2 Statistics<X> テンプレートクラス
最終的なポテンシャルの結果は、異なるゲージ配位の下で計算された量の統計平均とし
て定義されますが、この統計操作を直感的に扱えるクラスとして「Statistics<X>」とい
うテンプレートクラスを用意しています。
3 python3 コード
3.1 概要
4簡単な計算コード例と解析の手順
4.1 テストデータについて
5

Navigation menu