QCDの研究における多倍長精度演算の ニーズと応用例

QCDの研究における多倍長精度演算の
ニーズと応用例
永田桂太郎*, 中村純
広島大学 情報メディア教育研究センター
(*4/1 KEK理論センター)
多倍長精度フォーラム第3回, 工学院大学新宿校舎, 2013 March 8
Contents
•  はじめに. 背景
•  多倍長精度演算の例
–  高次多項式の零点
–  高次多項式の展開
–  ill-conditionな固有値問題
多倍長精度フォーラム第3回, 工学院大学新宿校舎, 2013 March 8
2
はじめに. 背景.
多倍長精度フォーラム第3回, 工学院大学新宿校舎, 2013 March 8
3
はじめに.
ü 宇宙初期, 高エネルギー実験(RHIC, LHC)
ü 中性子星などの高密度天体の構造
ü QCDの有限温度密度下での性質の理解が重要
多倍長精度フォーラム第3回, 工学院大学新宿校舎, 2013 March 8
4
量子色力学(QCD)
e
⇡, ⇢, · · ·
q
QCD(色) SU(3)
α O(1)
クォークとグルーオン
p, n, · · ·
QED(電荷) U(1)
α 1/137
荷電粒子と光子
•  QCD(量子色力学)
•  SU(3)非可換ゲージ理論
•  クォーク 原子核 10^-15[m]スケール
•  結合定数が大きい:摂動計算が利用できず数値解析が重要
多倍長精度フォーラム第3回, 工学院大学新宿校舎, 2013 March 8
5
格子QCD
Z=
Z
DU [det
]N f e
SG
–  4次元ユークリッド空間
リンク変数
–  リンク上にゲージ場(リンク変数U)
クォーク場
–  サイト上にクォーク場 (グラスマン数)
–  連続極限でQCDを再現するように格子作用を構成する
–  クォーク場は積分消去され、行列式として現れる
クォーク-グルーオン作用
ゲージ相互作用
多倍長精度フォーラム第3回, 工学院大学新宿校舎, 2013 March 8
6
格子QCD
Z=
Z
DU [det
]N f e
SG
–  温度:時間方向の境界条件
–  密度 : ディラック行列の時間方向(クォークの時間方
向の伝搬)に化学ポテンシャルを導入
Z = Tre
(H µN )
多倍長精度フォーラム第3回, 工学院大学新宿校舎, 2013 March 8
7
格子QCD
Z=
Z
DU [det
]N f e
SG
–  Uの多重積分 : モンテカルロ法で実行
•  フェルミオン行列式 det Δ :
–  大規模行列式
–  通常(零密度)は分子動力学的手法を用いて処理し、倍精
度で計算可能.
Z = Tre
(H µN )
•  有限密度QCD
–  ボルツマン因子が複素数(符号問題: MC法の破綻)
–  符号問題の回避法の1つ : カノニカル法
–  多倍長精度演算が必要
多倍長精度フォーラム第3回, 工学院大学新宿校舎, 2013 March 8
8
多倍長精度演算の例
多倍長精度フォーラム第3回, 工学院大学新宿校舎, 2013 March 8
9
高次多項式の零点
Z(µ) =
N
X
Zn e
n= N
Z = Tre
(H µN )
1
0.01
0.0001
Re[Zn]
•  x=exp(μ/T)の多項式
•  Z(mu)=0の解は相転移に関係
(Lee-Yang 零点).
•  N=O(10 100)
•  Znはnとともに指数的に減少.
•  多数の零点を高精度に求める計算
が必要.
nµ/T
1e-006
T/Tpc=0.93, Ns=10
T/Tpc=0.93, Ns=8
T/Tpc=1.08, Ns=10
T/Tpc=1.08, Ns=8
1e-008
1e-010
1e-012
-30
多倍長精度フォーラム第3回, 工学院大学新宿校舎, 2013 March 8
-20
-10
0
n
10
20
30
10
高次多項式の零点
Z(µ) =
N
X
Zn e
nµ/T
n= N
•  アルゴリズム.
–  減次法(IMSL): 1つ零点を求め、組立除法. 次数の増加
につれて精度が低下. 今の場合精度が不十分.
–  留数定理を利用したアルゴリズム.
•  Znの値は広い範囲に渡るため, Z(mu)の高精度計算が必要.
–  多倍長精度ライブラリFMlibを利用
h"p://myweb.lmu.edu/dmsmith/FMLIB.html
多倍長精度フォーラム第3回, 工学院大学新宿校舎, 2013 March 8
11
高次多項式の零点
•  多項式の根を求める問題 = 留数積分の0/1判定問題
Z(µ) =
Y
(⇠
X 1
Z0
⇠n ) !
=
Z
⇠ ⇠n
•  零点の存在領域の分割を再帰的に繰り返し、全ての零点を
求めるプログラム.
•  全ての零点を欲しい精度で求めることができる.
•  高速化が課題
多倍長精度フォーラム第3回, 工学院大学新宿校舎, 2013 March 8
12
フェルミオン行列式の変形
•  det D : クォークのつくる閉ループからなる
•  det Dを時間方向について変形する公式
–  クォーク数を固定した場合の分配関数Znを求めること
が出来る
–  符号問題の回避に利用できる.
det
Q = A1 A2 · · · AN t
/ det(Q + eµ/T )
Y
=
( n + ⇠)
X
=
cn ⇠ n
多倍長精度フォーラム第3回, 工学院大学新宿校舎, 2013 March 8
13
高次多項式の展開
Y
(
n + ⇠) =
X
cn ⇠ n
n
•  多項式を展開し, λnからcnを求める問題.
•  cnの値は広い範囲に渡る, O(1) O(e^N). 倍精度ではオー
バフロー.
•  各cnの有効桁数は倍精度で収まる. 必要なのは大きな指数
部.
•  演算量が多い. 最大次数N=12 x Ns^3.
•  高速化は必須.
多倍長精度フォーラム第3回, 工学院大学新宿校舎, 2013 March 8
14
高次多項式の展開
•  アルゴリズム
Y
(
n + ⇠) =
X
cn ⇠ n
n
–  van der Monde行列
–  分割統治法
•  逐次展開法(ベクトル化が容易)
多倍長精度フォーラム第3回, 工学院大学新宿校舎, 2013 March 8
15
高次多項式の展開
•  変数cn
Y
(
n + ⇠) =
X
cn ⇠ n
n
–  4倍精度演算(環境に依存)
–  Library(FMlib) (ベクトル化阻害要因になる)
•  新しい変数の導入
a : 仮数部(倍精度 a=(0, b])
n
n : 指数部 (整数)
x=a⇥b
b : 基数(整数、固定)
–  四則演算などをInterface operatorを用いて定義
–  反復の多いループ内ではべた書きにして関数呼び出しを
抑制
–  可読性やチューニングに時間がかかる
多倍長精度フォーラム第3回, 工学院大学新宿校舎, 2013 March 8
16
ill-conditioned な固有値問題
Q = A1 A2 · · · ANt / ĀNt
•  複素一般行列の固有値問題
•  固有値はNtに指数的に依存する(T=1/(a Nt)).
•  条件数
min
= (1/a)Nt
max
ln | |
•  高速な多倍長固有値(行列)計算があるとうれしい. (Lapack
やArpackなど)
多倍長精度フォーラム第3回, 工学院大学新宿校舎, 2013 March 8
17
まとめ
•  物質や宇宙の起源の解明を目指して有限温度密度
のQCDシミュレーションを行っている.
•  有限密度格子QCDでは多倍長精度演算が出現する
ことがある。
–  高次多項式の零点
–  高次多項式の展開
–  ill-conditionな固有値問題
–  相転移の解析で多倍長精度計算が有用. 潜在的
なニーズもあるはず.
•  (多項式の零点分布についても情報求む.)
多倍長精度フォーラム第3回, 工学院大学新宿校舎, 2013 March 8
18