Proceedings of the Twenty-Seventh RAMP Symposium
Shizuoka University, Shizuoka, October 15–16, 2015

ホロノミック勾配法
Holonomic Gradient Method
高山 信毅1∗

Nobuki Takayama
概要

ホロノミック勾配法 (holonomic gradient method, HGM) は各種の確率分布の正規化定数

およびその高階微分を数値評価するための新しい手法である. この手法では holonomic 系とよばれる線形偏微分方程式系を用いる. 理論, アルゴリズム, と共に Fisher-Bingham 分布, Bingham 分
布, Wishart 分布, Fisher 分布, 象限確率, 分割表, 多面体確率等への適用例および実装などを紹介する. この新しい数値計算技法はこれらの分布に対する最適化問題への適用も期待できる.
キーワード ホロノミック勾配法, holonomic gradient method, HGM, holonomic 系, グレブナー
基底, Runge-Kutta 法, Fisher-Bingham 分布, Bingham 分布, Wishart 分布, Fisher 分布, 象限
確率, 分割表, 多面体確率1.

準備
ホロノミック勾配法 (holonomic gradient method, HGM) については, さまざまな入門的な文献がある [20], [2], [3]. ここでは入門的な話題はこれらに譲り, 現状でどのような分布に対してどの程度 HGM の適用が可能かを念頭に公式集的に HGM の概説を行なう. なお後述の
式 (2) の両辺を微分すると Hessian が計算できる. HGM は各種の最適化アルゴリズムとの相性がよく, 目的関数が陽に表せず積分などを含む場合に有効である.
ある点 x = a の近傍でなめらかな多変数関数 f (x) = f (x1 , . . . , xn ) が n 個の多項式係数の常微分方程式ri∑aik (x)∂ik • f = 0,(i = 1, . . . , n)

(1)

k=0
∂
を満すとする. ここで aik は x = (x1 , . . . , xn ) の多項式である. また ∂i = ∂x
であり,
i
k

∂ik • f = ∂∂xkf と • 記号で ∂ik の f への作用を表す. 上記の常微分方程式は xi についてのi

常微分方程式で, その他の xj はパラメータとみなせる. このような性質を満す多変数関数の解析接続を, holonomic 解析関数と呼ぶ. たとえば, g, h を n 変数の多項式とするとき

exp(g(x)/h(x)) は holonomic 解析関数である.
応用のためには holonomic 超関数を導入しておく必要があるが, まず応用で重要となる
1 神戸大学 大学院理学研究科数学専攻〒657-8501 神戸市灘区六甲台 1-1
Department of Mathematics, Kobe University Rokkodai 1-1, Kobe, 657-8501, Japan∗ E-mail address: takayama@math.kobe-u.ac.jp

The Twenty-Seventh RAMP Symposium

holonomic 超関数のクラスを二つ紹介しておく. f (x) を holonomic 解析関数とする. h(x)を n 変数の実数係数の多項式とし, h の実零点集合 V (h) = {z ∈ Rn |, h(z) = 0} がなめらかであり (特異点がない), かつ f の特異点集合と V (h) の交わりは空であるとする. このときδV (h) (x)f (x) は holonomic 超関数である. ここで δV (h) (x) は V (h) に台をもつデルタ関数である.
二つ目の例は, (ヘビサイド関数) × (holonomic 解析関数), である. hj (x), (j = 1, . . . , m)を実数係数の多項式とする. hj > 0 達の定義する領域, つまり H = {z ∈ Rn | hj (z) > 0, j =1, . . . , m} で値 1, この外で値 0 をとる関数を {hj } の定義するヘビサイド関数とよび HH (x)と書く. f (x) を holonomic 解析関数とする. f の特異点集合と H の境界との交わりは空であるとする. このとき, HH (x)f (x) は holonomic 超関数である. holonmic 解析関数, holonomic
超関数を総称して, 誤解のない場合は, 以下 holonomic 関数とよぼう.

holonomic 系の概念を導入しよう. この概念の技術的細部は煩雑なので詳しくは参考書 [2,§6.8] を参照. 定義は煩雑だがさまざまな良い性質をもつ素晴らしい概念であることは強調しておく. D を n 変数の多項式係数の微分作用素環とする. {Fk } を D の Bernstein filtration,
つまり Fk を次数 (xi 達の次数と ∂i 達の次数をすべて足したもの) が k 以下の多項式係数
偏微分作用素の全体の集合とする. I を D m の 左部分加群とする. Fkm /(I ∩ Fkm ) の線形空間としての次元が k が十分大で O(k n ) となるとき, Dm /I は holonomic であるという. また I の生成元達を本概説では holonomic 系とよぶ. holonomic 系の解となっている超関数
が holonomic 超関数の一般的な定義である. holonomic 関数とそれに対するアルゴリズムは

Zeilberger により (1990), 組み合わせ論の公式の機械証明のために導入された [2, 6 章].
f を holonomic 関数とするとき Ann (f ) = {ℓ ∈ D |, ℓ • f = 0} を f の零化イデアルとよぶ. D/Ann (f ) は holonomic である. また, このイデアルは上記の常微分方程式 (1) に現れる形の作用素を含むが, 零化イデアルがこれらの作用素で生成されるとは限らないことがholonomic の概念の妙である. generic な点の近傍で holonomic 系のなめらかな解全体はベクトル空間となる. このベクトル空間の次元を holonomic 系の rank と呼ぶ.
常微分方程式は連立一階の常微分方程式に書換えられる. このことから推察できるように

holonomic 関数 f に対して, f とその適当な階数までの微分, あわせて r = rank 個をベクト
ル F (c 基底ベクトルと呼ぶ) とすると, 有理式成分の r × r 行列 Pi (x) が存在して,∂i • F = Pi (x)F, i = 1, . . . , n(2)が成り立つ. この方程式系を Pfaﬃan 系とよぶ [2, §6.2].
本論文は筆者がある程度関わった HGM 関連の仕事に限定した概説である. 本概説で触れてない分布等に関しては [1] を参照してほしい. 紙面の都合で文献はかならずしもオリジナルを引用していない. 必要に応じて文献表からの孫引きの労をお願いしたい.

The Twenty-Seventh RAMP Symposium

2.

Holonomic 分布

2.1.

分布と正規化定数f (θ, t) を n + m 個の変数 θ = (θ1 , . . . , θn ), t = (t1 , . . . , tm ) についての holonomic 関数と∫する. この関数は t ∈ Rm 全体で積分可能であるとする. このとき Z(θ) = Rm f (θ, t)dt を正規化定数とする t 空間の分布 Z1 f (θ, t)dt, dt = dt1 · · · dtn を holonomic 分布と呼ぶ. ここで θは分布のパラメータである.

2.2.

Holonomic systemholonomic 系の一般論より積分についてのある条件のもと, Z(θ) もまた holonomic 系を満
す [2, §6.10]. Ann f (θ, t) の生成元がわかっている場合, Z の満す holonomic 系を求めるアル
ゴリズムの一般形は大阿久の積分アルゴリズム (1997) である [2, §6.10]. より制限された状況
でより高速に Z の満す微分方程式系を求めるアルゴリズムは creative telescoping 型アルゴリズムとして, さまざまな研究が行なわれている.
準備で述べた (ヘビサイド関数) × (holonomic 解析関数) なる形の holonomic 関数に対するholonomic 系を求める一般アルゴリズムは [14] で与えられている.
2.3.

Pfaﬃan system

有理式係数の微分作用素環で Buchberger アルゴリズムを適用すれば Pfaﬃan 系を求める
ことができる. また正規化定数の Hessian なども Pfaﬃan 系の副産物として得られる [13,Appendix], [2, §6.2, §6.5].
2.4.

アルゴリズムと実装

HGM の一般論をはじめて展開したのは [13] である. 一般論の HGM では次の 3 step で正規化定数およびその微分達を数値計算する.

1. f (θ, t) の t についての積分 Z(θ) の満す holonomic 系を上記アルゴリズム達で求める.
さらにそれを Buchberger アルゴリズムで Pfaﬃan 系に変換する.

2. 問題に応じた工夫をおこないうまい点 θ0 で Z および必要なランクまでの Z の偏微分を数値計算する. 数値積分すればいつでも近似値を計算できるがこれは最後の手段.

3. Pfaﬃan 系は常微分方程式系なので Runge-Kutta 法などの標準的な数値解析手法を用いて θ0 での値を初期値として, 求めたい点 θ まで延長する.

Step 1 を遂行する一般的なパッケージとしては, Risa/Asir の nk restriction.rr やMacaulay 2 のパッケージ Dmodules がある. 例については [2, 7 章] を参照. Creative Telescoping 型では Mathematica の HolonomicFunction パッケージや Maple の MGfun がある. Step 3 については我々は GSL や統計システム R の deSolve パッケージを利用している.
残念ながら一般的なアルゴリズムでは解ける問題のサイズが限定されている. Step 1 についても, 問題に応じた工夫をして, 興味あるサイズの問題を解けるようにしたい. このような工夫が成功しているのが, 以下のページからはじまる分布達である.

The Twenty-Seventh RAMP Symposium

Fisher-Bingham 分布, Bingham 分布

3.
3.1.

分布と正規化定数

Fisher-Bingham 分 布 は d 次 元 の 球 面 S d (r)
2

r ,r

=

{(t1 , . . . , td+1 ) |∑d+1 2i=1 ti=>0} に 多 次 元 の 正 規 分 布 を 制 限 し た も の で あ る.
分布密度関数は
(∑
)
∑
d+1
1
1≤i≤j≤d+1 xij ti tj +i=1 yi ti |dt| である. ここで Z は正規化定数で,Z(x,y,r) exp
(
)
∫
d+1
∑
∑
Z(x, y, r) =exp
xij ti tj +yi ti |dt|
(3)
S d (r)i=1

1≤i≤j≤d+1

また |dt| は半径 r の球面上の不変測度で∫(d+1)/2

S d (r)2π|dt| = rd Γ((d+1)/2)
を満たすものとする.

Bingham 分布は Fisher-Bingham 分布をさらに r = 1, yi = 0, xij = 0, i ̸= j へ制限したものである. [19] では xii を θi と記述している.

3.2.

Holonomic system∂ij = ∂/∂xij , ∂k = ∂/∂yk , ∂r = ∂/∂r, とおくと Z は次の holonomic 系を満たす [13].
∂ij − ∂i ∂j ,d+1∑∂i2 − r2 ,r∂r − 2i=1∑

xij ∂i ∂j −∑yi ∂i − d,ii≤jxij ∂i2 + 2(xjj − xii )∂i ∂j − xij ∂j2 +∑(xsj ∂i ∂s − xis ∂j ∂s ) + yj ∂i − yi ∂j .

s̸=i,jBingham 分布の正規化定数は以下の holonomic 系を満たす.
d∑∂ii − 1,

2(xii − xjj )∂ii ∂jj − (∂ii − ∂jj ), (1 ≤ i < j ≤ d)

i=1

3.3.

Pfaﬃan system2xij = 0, i ̸= j に制限した場合, r 方向の Pfaﬃan は F̃ = (∂1 , . . . , ∂d+1 , ∂12 , . . . , ∂d+1
)T • Z(r)

とおいたとき, ∂r • F̃ = P (r) F̃ となる [8]. (2d + 2) × (2d + 2) 行列 P (r) = (pij ) の ij 成分は
(r)
rpij

2

= (2xii r + 1)δij +d+1∑

yi δj(k+d+1)

k=1(r)
rp(i+d+1)j2

2= yi r δij + (2xi r + 2)δj(i+d+1) +(1 ≤ i ≤ d + 1),∑

δj(k+d+1)(1 ≤ i ≤ d + 1)k̸=iBingham 分布の正規化定数については [19, Theorem 1] を参照.
3.4.

アルゴリズムと実装

Bingham 分布の正規化定数は R パッケージ hgm の関数 hgm.ncBingham が計算する.
Fisher-Bingham 分布の正規化定数については [10] で高速な数値計算法が与えられている. その試験実装は [11] で公開されている.

3.5.

例と応用

引用の論文を参照.

The Twenty-Seventh RAMP Symposium

Wishart 分布の最大固有値

4.
4.1.

分布と正規化定数

自由度 n, m × m 共分散行列 Σ できまる Wishart 分布に従う m × m 行列の最大固有値 ℓ1
が x より小さい確率は C を定数として [5]

(
)
( x
) 1
m + 1 n + m + 1 x −1
nm−1
P [ℓ1 < x] = C exp − Tr Σx 2 1 F1
;
; Σ
,
2
2
2
2

(4)

と書けることが知られている. 1 F1 は行列引数の超幾何関数で次の積分で定義される.

Γm (c)
1 F1 (a; c; Y ) =Γm (a)Γm (c − a)∫exp(Tr XY )|X|a−(m+1)/2 |Im − X|c−a−(m+1)/2 dX,
0<X<Im(5)
なお 0 < X < Im は行列 X および Im − X が正定値対称行列であることを意味する.

dX =

∏

i≤j dxij は X の 上三角成分に渡る積分を意味する. またΓm (a) = π1m(m−1)
4

(
)
m
∏
i−1
Γ a−
.
2
i=1

4.2.

Holonomic system

1 F1 (a; c; Y ) の Yが対角成分が y1 , . . . , ym である対角行列であるとする. Muirhead (1970)

は 1 F1 が満たす次の微分方程式を導いた.

[{

yi ∂i2 +

m
m−1
yi
1 ∑
c−
− yi +
22
yi − yj
j=1,j̸=i

}

]
m
∑
yj
1
∂i −
∂j − a F = 0,2
yi − yj
j=1,j̸=i(i = 1, . . . , m)
なおこの方程式系は Pfaﬃan を求めるためには十分であるが,∏

1≤i<j≤m (yi − yj ) をかけて多項式係数にした方程式系の holonomic 性は m ≥ 4 で壊れていると予想されている.

4.3.

Pfaﬃan system[5] では上記の微分方程式系を sparsity をもつ Pfaﬃan へ変換して数値解析に活用して
いる.

4.4.

アルゴリズムと実装

x が小さい時の初期値の近似値を zonal 多項式を用いた 1 F1 の展開で計算し, それを Pfaffian 方程式の数値解析でより大きな x へ延長していくことにより上記の確率およびそれの微分達を計算している. 現状のアルゴリズムの限界: yi = yj の近傍, yi の値が極端に小さいものと大きいものが混在している場合は Pfaﬃan から導かれる常微分方程式の数値解析が不安定.
例と応用
統計システム R のパッケージ hgm に実装されている. 下記で beta は Σ の逆行列の固有値達のベクトルである. q は上の x である.

4.5.

library(hgm)
hgm.pwishart(m=3,n=5,beta=c(1,2,3),q=10)b<-hgm.pwishart(m=4,n=10,beta=c(1,2,3,4),q0=1,q=10,approxdeg=20,mode=c(1,1,(16+1)*100));## $q$ を増やしていった時の確率の graph を書くために option mode## を使い途中の確率も戻す. 16 は 2^m で Pfaffian 系の rank である.
cc<-matrix(b,ncol=16+1,byrow=1);
plot(cc)

autoplot=1 で cc を出力,modeいらない.

The Twenty-Seventh RAMP Symposium

象限確率

5.
5.1.

分布と正規化定数

正規分布を第一象限 ti ≥ 0 へ制限した分布を考える. 上記分布の正規化定数, つまり(∫Z(x, y) =H(t) exp
Rd∑

xij ti tj +

d
∑

)

yi ti

dt1 · · · dtd

(6)

i=1

1≤i≤j≤dを象限確率とよぶ. ここで H(t) は 第一象限で値 1, その外で値 0 を持つヘビサイド関数で
ある.

5.2.

Holonomic system[9, Theorem 2, Theorem 5] で H(t) が一般の holonomic 超関数の場合の holonomic 系が以下のように与えれている. P1 , . . . , Ps が H に対する holonomic 系とすると,(1 ≤ k ≤ s),φ(Pk )∂xij − 2∂yi ∂yj

φ の定義は [9] 参照(1 ≤ i < j ≤ d),∂xii − ∂y2i

(1 ≤ i ≤ d)が上記積分 Z が一般の holonomic 超関数 H(t) の場合に満たす holonomic 系となる.

5.3.

Pfaﬃan systemJ ⊂ [d] = {1, . . . , d} に対して
hJ (x, y, t) =∑∑i∈J j∈J∫ ∞xij ti tj +∫ ∞∑yk tk ,k∈JgJ (x, y) =...
exp (hJ (x, y, t)) dtJ ,00∏
とおく. ここで dtJ = j∈J dtj であり J が空集合の時は g∅ = 1 とおく. Pfaﬃan 系は次の式である.

∂yi gJ =µJ gJ + ∑
i

0



2∂ ∂ g yi yj J∂xij gJ =5.4.

アルゴリズムと実装

Jj∈J σij gJ\{j}∂y2i gJ




0

i∈J

(7)

i∈
/J
{i, j} ⊂ J, i < j{i} ⊂ J, i = j

(8)

else.

統計システム R のパッケージ hgm の関数 hgm.ncorthant が正規化定数を評価する. 現状のアルゴリズムの限界: y が原点から離れると HGM による計算精度を保つのがだんだんと困
難になる.

5.5.

例と応用

x <- matrix(c(15,26,23,19, 26,47,46,35,
23,46,65,38, 19,35,38,33), nrow =4)
y <- c(1,2,3,4); hgm.ncorthant(x,y)

The Twenty-Seventh RAMP Symposium

Fisher 分布

6.
6.1.

分布と正規化定数

SO(p)

{X

=

∈

Rp×p | X T X=

Ip , det(X)=1} の 上 の Fisher 分 布 は⊤exp(Tr Θ X)δSO(n) (X)/Z(Θ) と定義する. ここで, δSO(p) (X) は SO(p) に台をもつデルタ関数, Θ = (θij ), Z は正規化定数で,∫exp(Tr Θ⊤ X)δSO(p) (X)dX

Z(Θ) =
X=(Xij )∈Rp×p

6.2.

Holonomic system

(1)
Aij =

p
∑

∂ik ∂jk − δij ,(1)
Ãij =

k=1
(3)
Aij =

p
∑

p
∑

∂ki ∂kj − δij(i ≤ j),

A(2) = det(∂ij ) − 1,k=1(−θjk ∂ik + θik ∂jk ) ,

k=1

(3)
Ãij =p∑(−θkj ∂ki + θki ∂kj )(i < j),k=1

ここで ∂ij = ∂/∂θij . この系が holonomic であることは [12] で証明されている.
この系を Θ が対角行列の場合に制限した方程式系は重要である. p = 3 の時は
2
2ℓij = (θii2 − θjj)∂ii ∂jj − (θjj ∂ii − θii ∂jj ) − (θii2 − θjj)∂kk ,i ̸= jが制限方程式系である [18]. なお k は {i, j, k} = {1, 2, 3} となるように選ぶ.

6.3.

Pfaﬃan systemp > 3 の時の Pfaﬃan は知られていない. p = 3 で Θ が対角行列の場合の Pfaﬃan は [18,Theorem 2] に与えられている. 特に, θii を定数 a, b, c で θ11 = at, θ22 = bt, θ33 = ct とパラ
メータづけした場合の, t についての常微分方程式はdC=
dtと な る.

ここで A

=

(
)
2
A − diag(0, 1, 1, 1) C,t[[0, a, b, c], [a, 0, c, b], [b, c, 0, a], [c, b, a, 0]] で あ り,*1 C(9)=((1, ∂11 , ∂22 , ∂33 )T • Z)(at, bt, ct).
6.4.

アルゴリズムと実装

正規化定数のべき級数展開が [18] で与えられている. θij が小さい時, このべき級数で正規化定数およびその微分を計算して, 常微分方程式 (9) で値を延長する. R パッケージ hgm の関数 hgm.ncso3 がこの計算法を実装している.

6.5.

例と応用

hgm.ncso3(a=1,b=2,c=3,t0=0,q=3);[1] 11.8731

値は (9) で (a, b, c) = (1, 2, 3), t = q = 3 の時の正規化定数の値である.
*1

なおこの概説では行列 (aij ) をコンパクトに記述するため [[a11 , a12 , · · · ], [a21 , a22 , . . .], . . .] と計算代数ソフトウエア風の書き方をする場合がある.

The Twenty-Seventh RAMP Symposium

7.

離散 A-超幾何分布

7.1.

分布と正規化定数

整数成分の d × n 行列 A = (aij ) を考える. A の第 i 列ベクトル ai を Zd の元とみたとき,
この列ベクトル達は Zd を生成していると仮定する. ある行 i について aij > 0, ∀j と仮定しよう. N0 を非負整数の集合とし, β ∈ N0 A = N0 a1 + · · · + N0 an に対して x の多項式∑

ZA (β; x) =

xu
u!
d

(10)

Au=β,u∈N0

を A-超幾何多項式とよぶ [17]. x をパラメータ, {U ∈ Nn0 |, AU = β} を標本空間 (全事象) とu

したとき, 事象 u がおきる確率が xu! /ZA (β; x) となる分布を離散 A-超幾何分布とよぶ.

7.2.

Holonomic system

c1 , . . . , cd を不定元としよう. Si を Si • f (ci ) = f (ci − 1) と作用する差分作用素. 微分差分
作用素環 D = C⟨c1 , . . . , cd , S1 , . . . , Sd ⟩⟨x1 , . . . , xn , ∂1 , . . . , ∂n ⟩ においてn∑

aij xj ∂j − ci =: Ei − ci ,∂i − S ai(i = 1, . . . , d)

(11)

j=1

は ZA (c; x) を解にもつ.

7.3.

Pfaﬃan system

Goto, Matsumoto, arxiv 1602.01637

A が p-単体と q-単体の直積の場合は p × q 分割表で周辺和を固定したものの分布が対応する. p × q 分割表の場合は, [15], [4] および後藤の準備中の論文に Pfaﬃan の具体形が与えれている. 超幾何多項式の数値計算は項の数が増えると急速に困難になる. 一般の A の場合は[16] によるアルゴリズムが漸近的に最速.
7.4.

アルゴリズムと実装

Macaulay type algorithm による微分差分 Pfaﬃan の効率的構成法が研究 [6], [16] および実装 ( Risa/Asir, ot hgm ahg.rr) されている. 2 × q 分割表の時の実装は tk fd.rr, p × q
分割表の場合は後藤が公開準備中.

Goto, Tachibana, Takayama, gtt_ekn.rr
7.5. 例と応用∂Zとなるので, HGM で下記のよMLE 等統計への応用については [15]. ui の期待値は, xi ∂xi
うに期待値が計算できる.
load("ot_hgm_ahg.rr");
A= [[1,1,1,1,1,0,0,0,0,0],[1,0,0,0,0,1,0,0,0,1],[0,1,0,0,0,1,1,0,0,0],[0,0,1,0,0,0,1,1,0,0],[0,0,0,1,0,0,0,1,1,0],[0,0,0,0,1,0,0,0,1,1]];
U= [23,21,20,34,30,42,11,10,20,29];
B=vtol(matrix_list_to_matrix(A)*ltov(U)); SumU = oh_base.sum(U);X = vtol((1/SumU)*ltov(U)); R = [x1,x2];//u1,u2 についての期待値を計算.
EV=hgm_ahg_expected_values_contiguity(A,B,X,R|msize=3);

The Twenty-Seventh RAMP Symposium

多面体確率

8.
8.1.

分布と正規化定数

正規分布を多面体に制限した分布. [7] がこの分布についての HGM の基本文献. 多面体がP = {x ∈ R :dd∑aij xi + bj ≥ 0, 1 ≤ j ≤ n},

(12)

i=1

とパラメーター aij , bj で定義されるとき正規化定数は以下の関数.

1(2π)d/2
8.2.

∫

1∑ 2
exp(−
xi )dx1 · · · dxd .
2
x∈P
d

(13)

i=1

Holonomic system

Pfaﬃan 形が知られているので省略.
8.3.

Pfaﬃan system∑
Fj を P の facet で di=1 aij xi + bj = 0 に対応するものとする. Facet の交わりに対応する index を集めたものを F と置く. つまり, F = {J ⊂ {1, . . . , n} | FJ ̸= ∅}, FJ = ∩j∈J Fj
ただし F は空集合も含むものとし, これは P に対応する. Pfaﬃan の基底は {g J , J ∈ F} とF で index づけできる.
∂aij gJ=n∑aik ∂bk ∂bj g J(1 ≤ i ≤ d, 1 ≤ j ≤ n, J ∈ F ),

k=1
J∪{j}

(j ∈ J c , J ∈ F),
)
(
∑ jk
∑
= −
αJ (a) bk g J +αkℓ (a)g J∪{ℓ}∂bj g J = g∂bj g J(j ∈ J, J ∈ F).

ℓ∈J c

k∈J
ij

ここで (αF (a))i,j∈F は a から作った行列 αF (a) の逆行列の ij 成分. αF (a) の ij 成分は∑d

k=1 aki akj . これが Pfaﬃan の係数の分母に来ることに注意.

8.4.

アルゴリズムと実装

P が単体の場合は [7] の著者小山による試験実装が [11] で公開されている. 初期値の決め方等の論文は準備中だがこの実装にはそれがすでに含まれている.

T.Koyama, arxiv:1512.06564
8.5. 例と応用
a = [[1, 0], [0, 1], [−1, −1]], b = [0, 0, 2] の場合 F = {∅, 1, 2, 3, 12, 13, 23} となる. ここでたとえば 12 は index 集合 {1, 2} を表すものとする. この三角形 x > 0, y > 0, −x − y + 2 > 0へ正規分布を制限した積分を上記の実装で計算すると下記のようになる. (なお多面体が空となるとプログラムが正しく動作しないので注意.)./a.out 1 2 1 0 0 0 1 0 -1 -1 2
result:0.1775361552
0.4772498666
Probability = 0.177536

0.4772498666

1.0000000000

0.3100122972

0.1353352805

0.1353352805

The Twenty-Seventh RAMP Symposium

参考文献[1] http://www.math.kobe-u.ac.jp/OpenXM/Math/hgm/ref-hgm.html HGM 関連文献リスト.
[2] JST CREST 日比チーム編, グレブナー道場, 共立出版, 2011.
[3] 日比, 竹村, 原, 東口, 清, グレブナー道場著者一同, グレブナー教室 — 計算代数統計学への招待, 共立出
版, 2015.
[4] Y.Goto, Contiguity Relations of Lauricella’s FD Revisited, arxiv:1412.3256.
[5] H.Hashiguchi, Y.Numata, N.Takayama, A.Takemura, Holonomic gradient method for the distribution function of the largest root of a Wishart matrix, Journal of Multivariate Analysis, 117,(2013) 296-312[6] T. Hibi, K. Nishiyama, N. Takayama, Pfaﬃan Systems of A-Hypergeometric Systems I — Basesof Twisted Cohomology Groups, arxiv:1212.6103[7] T.Koyama, Holonomic Modules Associated with Multivariate Normal Probabilities of Polyhedra,
arxiv:1311.6905, to appear in Funkcialaj Ekvacioj[8] T. Koyama, H. Nakayama, K. Nishiyama, N. Takayama, Holonomic Gradient Descent for the
Fisher-Bingham Distribution on the d-dimensional Sphere, Computational Statistics (2013)[9] T.Koyama, A.Takemura, Calculation of Orthant Probabilities by the Holonomic Gradient
Method, arxiv:1211.6822[10] T.Koyama, A.Takemura, Holonomic Gradient Method for Distribution Function of a Weighted
Sum of Noncentral Chi-square Random Variables, arxiv: 1503.00378[11] http://www.github.com/tkoyama-may10[12] T.Koyama, The Annihilating Ideal of the Fisher Integral, arxiv: 1503.05261[13] H.Nakayama, K.Nishiyama, M.Noro, K.Ohara, T.Sei, N.Takayama, A.Takemura , Holonomic
Gradient Descent and its Application to Fisher-Bingham Integral, Advances in Applied Mathematics 47 (2011), 639–658.
[14] T.Oaku, Algorithms for Integrals of Holonomic Functions over Domains defined by Polynomial
Inequalities, Journal of Symbolic Computation 50 (2013), 1–27.
[15] M.Ogawa, Algebraic Statistical Methods for Conditional Inference of Discrete Statistical Models,
PhD. Thesis, University of Tokyo, 2015.
[16] K. Ohara, N. Takayama, Pfaﬃan Systems of A-Hypergeometric Systems II — Holonomic Gradient Method, arxiv:1505.02947.
[17] M. Saito, B. Sturmfels, N. Takayama, Gröbner Deformations of Hypergeometric Diﬀerential
Equations, Springer, 2000.
[18] T.Sei, H.Shibata, A.Takemura, K.Ohara, N.Takayama, Properties and applications of Fisher
distribution on the rotation group, Journal of Multivariate Analysis, 116 (2013), 440–455.
[19] T.Sei, A.Kume, Calculating the Normalising Constant of the Bingham Distribution on theSphere using the Holonomic Gradient Method, Statistics and Computing 2013.
[20] 高山, D 加群の積分アルゴリズムと推定理論. 数学セミナー 2012 年 2 月号, 41–46.

謝辞: 原稿を読み有益なコメントをよせて頂いた, 小山民雄氏, 清智也氏に感謝したい.