=================================================================== RCS file: /home/cvs/OpenXM/src/asir-contrib/packages/doc/gtt_ekn/gtt_ekn-ja.texi,v retrieving revision 1.3 retrieving revision 1.9 diff -u -p -r1.3 -r1.9 --- OpenXM/src/asir-contrib/packages/doc/gtt_ekn/gtt_ekn-ja.texi 2016/03/28 23:14:54 1.3 +++ OpenXM/src/asir-contrib/packages/doc/gtt_ekn/gtt_ekn-ja.texi 2019/02/14 02:22:09 1.9 @@ -1,28 +1,29 @@ -%% $OpenXM: OpenXM/src/asir-contrib/packages/doc/gtt_ekn/gtt_ekn-ja.texi,v 1.2 2016/03/26 05:25:35 takayama Exp $ -%% ptex -kanji euc gtt_ekn.texi (.texi までつける. platex でなく ptex) -%% 以下コメントは @comment で始める. \input texinfo 以降は普通の tex 命令は使えない. -\input texinfo +%% $OpenXM: OpenXM/src/asir-contrib/packages/doc/gtt_ekn/gtt_ekn-ja.texi,v 1.8 2019/02/14 00:18:40 takayama Exp $ +%% xetex gtt_ekn.texi (.texi 障сゃ. ) +%% 篁ヤ潟<潟 @comment у. \input texinfo 篁ラ tex 巡擦篏帥. +\input texinfo-ja @iftex @catcode`@#=6 @def@fref#1{@xrefX[#1,,@code{#1},,,]} -@def@b#1{{@bf@gt #1}} +@def@b#1{{@bf #1}} @catcode`@#=@other @end iftex @overfullrule=0pt +@documentlanguage ja @c -*-texinfo-*- @comment %**start of header -@comment --- おまじない終り --- +@comment --- 障腟 --- -@comment --- GNU info ファイルの名前 --- +@comment --- GNU info <ゃ --- @setfilename xyzman -@comment --- タイトル --- -@settitle 2元分割表HGM +@comment --- 帥ゃ --- +@settitle 2画;HGM @comment %**end of header @comment %@setchapternewpage odd -@comment --- おまじない --- +@comment --- 障 --- @ifinfo @macro fref{name} @ref{\name\,,@code{\name\}} @@ -34,13 +35,13 @@ @end iftex @titlepage -@comment --- おまじない終り --- +@comment --- 障腟 --- -@comment --- タイトル, バージョン, 著者名, 著作権表示 --- -@title 2元分割表HGM関数 -@subtitle Risa/Asir 2元分割表HGM関数説明書 -@subtitle 1.0 版 -@subtitle 2016 年 3 月 22 日 +@comment --- 帥ゃ, 若吾с, , 篏罔茵腓 --- +@title 2画;HGM∽ +@subtitle Risa/Asir 2画;HGM∽域 +@subtitle 1.2 +@subtitle 2019 綛 2 14 @author by Y.Goto, Y.Tachibana, N.Takayama @page @@ -49,59 +50,75 @@ Copyright @copyright{} Risa/Asir committers 2004--2010. All rights reserved. @end titlepage -@comment --- おまじない --- +@comment --- 障 --- @synindex vr fn -@comment --- おまじない終り --- +@comment --- 障腟 --- -@comment --- @node は GNU info, HTML 用 --- -@comment --- @node の引数は node-name, next, previous, up --- +@comment --- @node GNU info, HTML --- +@comment --- @node 綣違 node-name, next, previous, up --- @node Top,, (dir), (dir) -@comment --- @menu は GNU info, HTML 用 --- -@comment --- chapter 名を正確に並べる --- -@comment --- この文書では chapter XYZ, Chapter Index がある. -@comment --- Chapter XYZ には section XYZについて, section XYZに関する関数がある. +@comment --- @menu GNU info, HTML --- +@comment --- chapter 罩g∈筝鴻 --- +@comment --- 吾с chapter XYZ, Chapter Index . +@comment --- Chapter XYZ section XYZゃ, section XYZ≪∽違. @menu -* 2元分割表HGMの関数説明書について:: -* 2元分割表HGMの関数:: +* 2画;HGM∽域吾ゃ:: +* 2画;HGM∽:: +* modular荐膊 * Index:: @end menu -@comment --- chapter の開始 --- -@comment --- 親 chapter 名を正確に. 親がない場合は Top --- -@node 2元分割表HGMの関数説明書について,,, Top -@chapter 2元分割表HGMの関数説明書について +@comment --- chapter 紮 --- +@comment --- 荀 chapter 罩g∈. 荀翫 Top --- +@node 2画;HGM∽域吾ゃ,,, Top +@chapter 2画;HGM∽域吾ゃ -この説明書では -HGM(holonomic gradient method) を用いた2元分割表の関数について説明する. -ChangeLog の項目は www.openxm.org の cvsweb で -ソースコードを読む時の助けになる情報が書かれている. - -本文中で引用している文献を列挙する. +茯吾с +HGM(holonomic gradient method) 2画;∽違ゃ茯. +ChangeLog www.openxm.org cvsweb +純若鴻潟若茯宴吾. +宴若吾筝荐若. +@example +load("gtt_ekn.rr"); +@end example +@noindent +亥 asir-contrib package 緇, 筝荐贋育∽違若喝冴. +@example +import("names.rr"); +asir_contrib_update(|update=1); +@end example +@noindent +筝у. @itemize @bullet @item [GM2016] Y.Goto, K.Matsumoto, Pfaffian equations and contiguity relations of the hypergeometric function of type (k+1,k+n+2) and their applications, arxiv:1602.01637 (version 1) @item [T2016] -Y.Tachibana, 差分ホロノミック勾配法のモジュラーメソッドによる計算の高速化, -2016, 神戸大学修士論文. +Y.Tachibana, 綏冗羈≪吾ャ若<純荐膊蕭, +2016, 腑後ぇ絖篆紕茫. @item [GTT2016] -Y.Goto, Y.Tachibana, N.Takayama, 2元分割表に対する差分ホロノミック勾配法の実装, -数理研講究録(掲載予定). +Y.Goto, Y.Tachibana, N.Takayama, 2画;絲障綏冗羈絎茖, +亥茗腥狗. +@item [TGKT] +Y.Tachibana, Y.Goto, T.Koyama, N.Takayama, +Holonomic Gradient Method for Two Way Contingency Tables, +arxiv:1803.04170 @item [TKT2015] N.Takayama, S.Kuriki, A.Takemura, $A$-hypergeometric distributions and Newton polytopes. arxiv:1510.02269 @end itemize -このマニュアルで説明する関数を用いたプログラム例は +ャ≪ц∽違違箴 gtt_ekn/test-t1.rr -など. +. -@node 2元分割表HGMの関数,,, Top -@chapter 2元分割表HGMの関数 -@comment --- section ``実験的関数'' の subsection xyz_abc -@comment --- subsection xyz_pqr xyz_stu がある. +@node 2画;HGM∽,,, Top +@chapter 2画;HGM∽ + +@comment --- section ``絎薑∽'' subsection xyz_abc +@comment --- subsection xyz_pqr xyz_stu . @menu * gtt_ekn.gmvector:: * gtt_ekn.nc:: @@ -109,108 +126,111 @@ gtt_ekn/test-t1.rr * gtt_ekn.expectation:: * gtt_ekn.setup:: * gtt_ekn.upAlpha:: +* gtt_ekn.cmle:: +* gtt_ekn.set_debug_level:: +* gtt_ekn.show_path:: @end menu -@node 超幾何関数E(k,n),,, 2元分割表HGMの関数 -@section 超幾何関数E(k,n) +@node 莇綛鞘∽E(k,n),,, 2画;HGM∽ +@section 莇綛鞘∽E(k,n) @comment ********************************************************** -@comment --- ◯◯◯◯ の説明 -@comment --- 個々の関数の説明の開始 --- -@comment --- section 名を正確に --- -@node gtt_ekn.gmvector,,, 超幾何関数E(k,n) +@comment --- 茯 +@comment --- ∽違茯紮 --- +@comment --- section 罩g∈ --- +@node gtt_ekn.gmvector,,, 莇綛鞘∽E(k,n) @subsection @code{gtt_ekn.gmvector} -@comment --- 索引用キーワード +@comment --- 膣√若若 @findex gtt_ekn.gmvector @table @t @item gtt_ekn.gmvector(@var{beta},@var{p}) -:: 周辺和 @var{beta}, セルの確率 @var{p} の二元分割表に付随する超幾何関数 -E(k,n) の値およびその微分の値を戻す. +:: 莨阪 @var{beta}, 祉腆榊 @var{p} 篋画;篁莇綛鞘∽ +E(k,n) ゃ潟緇ゃ祉. @item gtt_ekn.ekn_cBasis_2(@var{beta},@var{p}) -の別名である. +ュс. @end table -@comment --- 引数の簡単な説明 --- 以下まだ書いてない. +@comment --- 綣違膂≦茯 --- 篁ヤ障吾. @table @var @item return -ベクトル, 超幾何関数の値とその微分. 詳しくは下記. +, 莇綛鞘∽違ゃ緇. 荅潟筝荐. @item beta -行和, 列和のリスト. 成分はすべて正であること. +茵, 鴻. 鴻罩cс. @item p -二元分割表のセルの確率のリスト +篋画;祉腆榊鴻 @end table -@comment --- ここで関数の詳しい説明 --- -@comment --- @itemize〜@end itemize は箇条書き --- -@comment --- @bullet は黒点付き --- +@comment --- ч∽違荅潟茯 --- +@comment --- @itemize@end itemize 膊≧吾 --- +@comment --- @bullet 藥剛 --- @itemize @bullet @item -gmvector は Gauss-Manin vector の略である [GM2016]. +gmvector Gauss-Manin vector ャс [GM2016]. @item -gmvector の戻り値は -[GM2016] の 6章 p.23 のベクトル Sである. -これは -[GM2016] の4章で定義されているベクトル F の定数倍であり, -その定数は -第一成分が [GM2016] の6章で定義されている級数 S の値と等しく -なるように決められている. +gmvector 祉ゃ +[GM2016] 6腴 p.23 Sс. + +[GM2016] 鐚腴у臂 F 絎医с, +絎違 +膃筝 [GM2016] 鐚腴у臂膣 S ゃ膈 +羆冴. @item - r1 x r2 分割表を考える. - m+1=r1, n+1=r2 とおく. - 正規化定数 Z は分割表 u を (m+1) × (n+1) 行列とするとき p^u/u! の和である. - ここで和は行和列和が @var{beta} であるような u 全体でとる + r1 x r2 画;. + m+1=r1, n+1=r2 . + 罩h絎 Z 画; u (m+1) (n+1) 茵 p^u/u! с. + у茵 @var{beta} с u 篏с [TKT2015], [GM2016]. - S はこの多項式 Z の p を + S 紊綣 Z p @verbatim [[1,y11,...,y1n], [1,y21,...,y2n],..., [1,ym1, ...,ymn], [1,1, ..., 1]] @end verbatim - (1 が L 字型に並ぶ), -と正規化した級数である. +(1 L 絖筝), +罩h膣違с. @item -2x(n+1)分割表で, gmvector の戻り値を Lauricella F_D で書くことが -以下のようにできる -(b[2][1]-b[1][1] >= 0 の場合). -ここで b[1][1], b[1][2] は, それぞれ 1 行目の行和, 2 行目の行和, -b[2][i] は i 列目の列和である. +2x(n+1)画;, gmvector 祉ゃ Lauricella F_D ф吾 +篁ヤс +(b[2][1]-b[1][1] >= 0 翫). + b[1][1], b[1][2] , 1 茵茵, 2 茵茵, +b[2][i] i с. @comment ekn/Talks/2015-12-3-goto.tex @verbatim S=F_D(-b[1,1], [-b[2,2],...,-b[2,n+1]], b[2,1]-b[1,1]+1 ; y)/C, @end verbatim -C=b[1,1]! b[2,2]! ... b[2][n+1]! (b[2,1]-b[1,1])! -とおく. -1/C は L 字型の分割表 +C=b[1,1]! b[2,2]! ... b[2,n+1]! (b[2,1]-b[1,1])! +. +1/C L 絖画; @verbatim [[b[1,1], 0, ..., 0 ], [b[2,1]-b[1,1],b[2,2], ..., b[2,n+1]]] @end verbatim -に対応. -gmvector は +絲上. +gmvector @verbatim [S,(y11/a2) d_11 S,(y12/a3) d_12 S, ..., (y1n/a_(n+1)) d_1n S] @end verbatim -である. -ここで d_ij は yij についての微分, +с. + d_ij yij ゃ緇, @verbatim [a0, a1, ... ,a_(n+2)] = [-b[1,2],-b[1,1],b[2,2], ..., b[2,n+1],b[2,1]] @end verbatim -である. +с. @item -周辺和 @var{beta}の時の正規化定数のセル確率 @var{p} に対する値は 多項式に退化した E(k,n) の値で表現できる. 文献 [TKT2015], [GM2016] 参照. +莨阪 @var{beta}罩h絎違祉腆榊 @var{p} 絲障ゃ 紊綣 E(k,n) ゃц;憗с. [TKT2015], [GM2016] . @item -option crt=1 (crt = Chinese remainder theorem) を与えると, 分散計算をおこなう +option crt=1 (crt = Chinese remainder theorem) 筝, h膊 [T2016]. -分散計算用の各種パラメータの設定は -gtt_ekn.setup で行なう. +h膊腮<若帥荐絎 +gtt_ekn.setup ц. @end itemize -@comment --- @example〜@end example は実行例の表示 --- -例: 次は2 x 2 分割表で行和が [5,1], 列和が [3,3], 各セルの確率が -[[1/2,1/3],[1/7,1/5]] の場合の gmvector の値である. +@comment --- @example@end example 絎茵箴茵腓 --- +箴: 罨<2 x 2 画;ц [5,1], [3,3], 祉腆榊 +[[1/2,1/3],[1/7,1/5]] 翫 gmvector ゃс. @example [3000] load("gtt_ekn.rr"); [3001] ekn_gtt.gmvector([[5,1],[3,3]],[[1/2,1/3],[1/7,1/5]]) @@ -218,21 +238,35 @@ gtt_ekn.setup で行なう. [200/9261] @end example -参考: 2 x m 分割表(Lauricella FD)についてはパッケージ tk_fd でも下記のように同等な -計算ができる. -守備範囲の異なるプログラム同士の比較, debug 用参考. +箴: N 2篁ヤ倶違, Gauss 莇綛鞘∽(翫紊綣) +F(-36N,-11N,2N,(1-1/N)/56) ゃ T3 篁eャ ( [TGKT] ). +@comment ekn/Prog2/2x2.rr @example +N=2; +T2=gtt_ekn.gmvector([[36*N,13*N-1],[38*N-1,11*N]],[[1,(1-1/N)/56],[1,1]])[0][0]; +D=fac(36*N)*fac(11*N)*fac(2*N-1); +T3=T2*D; +@end example +<帥ゃ Mathematica 荐膊 +@example +n=2; Hypergeometric2F1[-36*n,-11*n,2*n,(1-1/n)/56] +@end example + +: 2 x m 画;(Lauricella FD)ゃ宴若 tk_fd с筝荐膈 +荐膊с. +絎膀蚊違違紕罸莠, debug . +@example [3080] import("tk_fd.rr"); [3081] A=tk_fd.marginal2abc([4,5],[2,4,3]); -[-4,[-4,-3],-1] // 2変数 FD のパラメータ. a,[b1,b2],c +[-4,[-4,-3],-1] // 2紊 FD <若. a,[b1,b2],c [3082] tk_fd.fd_hessian2(A[0],A[1],A[2],[1/2,1/3]); Computing Dmat(ca) for parameters B=[-4,-3],X=[ 1/2 1/3 ] [4483/124416,[ 1961/15552 185/1728 ], [ 79/288 259/864 ] [ 259/864 47/288 ]] -// 戻値は [F=F_D, gradient(F), Hessian(F)] +// 糸ゃ [F=F_D, gradient(F), Hessian(F)] -// ekn_gt での例と同じパラメータ. +// ekn_gt с箴<若. [3543] A=tk_fd.marginal2abc([5,1],[3,3]); [-5,[-3],-1] [3544] tk_fd.fd_hessian2(A[0],A[1],A[2],[(1/3)*(1/7)/((1/2)*(1/5))]); @@ -240,8 +274,8 @@ Computing Dmat(ca) for parameters B=[-3],X=[ 10/21 ] [775/27783,[ 20/147 ],[ 17/42 ]] @end example -参考: 一般の A 分布の正規化定数についての Hessian の計算は実験的 package ot_hessian_ahg.rr -で実装のテストがされている. (これはまだ未完成のテスト版なので出力形式等も将来的には変更される.) +: 筝 A 絽罩h絎違ゃ Hessian 荐膊絎薑 package ot_hessian_ahg.rr +у茖鴻. (障絎鴻у阪綵√靁絨ョ紊眼.) @example import("ot_hgm_ahg.rr"); import("ot_hessian_ahg.rr"); @@ -271,80 +305,80 @@ def htest4() @{ [(b1^2+(-2*b0-1)*b1+b0^2+b0)/(x0^2),[]],[(x6)/(x0),[6,0]],[(x4)/(x0),[4,0]]] @end example -@comment --- 参照(リンク)を書く --- +@comment --- (潟)吾 --- @table @t -@item 参照 +@item @ref{gtt_ekn.setup} @ref{gtt_ekn.pfaffian_basis} @end table -@comment --- ChangeLog を書く. ソースコードの位置. 変更日時 など CVSサーバを見るため +@comment --- ChangeLog 吾. 純若鴻潟若篏臀. 紊贋ユ CVS泣若荀 @noindent ChangeLog @itemize @bullet @item - この関数は -[GM2016] のアルゴリズムおよび -[T2016] による modular method を用いた高速化を実装したものである. + ∽違 +[GM2016] ≪眼冴 +[T2016] modular method 蕭絎茖с. @item - 変更を受けたファイルは + 紊眼<ゃ OpenXM/src/asir-contrib/packages/src/gtt_ekn.rr 1.1, gtt_ekn/ekn_pfaffian_8.rr @end itemize @comment ********************************************************** -@node gtt_ekn.nc,,, 超幾何関数E(k,n) +@node gtt_ekn.nc,,, 莇綛鞘∽E(k,n) @subsection @code{gtt_ekn.nc} -@comment --- 索引用キーワード +@comment --- 膣√若若 @findex gtt_ekn.nc @table @t @item gtt_ekn.nc(@var{beta},@var{p}) -:: 周辺和 @var{beta}, セルの確率 @var{p} の二元分割表の条件付き確率の正規化定数 Z -およびその微分の値を戻す. +:: 莨阪 @var{beta}, 祉腆榊 @var{p} 篋画;>散篁腆榊罩h絎 Z +潟緇ゃ祉. @end table -@comment --- 引数の簡単な説明 --- 以下まだ書いてない. +@comment --- 綣違膂≦茯 --- 篁ヤ障吾. @table @var @item return -ベクトル [Z,[[d_11 Z, d_12 Z, ...], ..., [d_m1 Z, d_m2 Z, ...., d_mn Z]]] + [Z,[[d_11 Z, d_12 Z, ...], ..., [d_m1 Z, d_m2 Z, ...., d_mn Z]]] @item beta -行和, 列和のリスト. 成分はすべて正であること. +茵, 鴻. 鴻罩cс. @item p -二元分割表のセルの確率のリスト +篋画;祉腆榊鴻 @end table -@comment --- ここで関数の詳しい説明 --- -@comment --- @itemize〜@end itemize は箇条書き --- -@comment --- @bullet は黒点付き --- +@comment --- ч∽違荅潟茯 --- +@comment --- @itemize@end itemize 膊≧吾 --- +@comment --- @bullet 藥剛 --- @itemize @bullet @item - r1 x r2 分割表を考える. - m=r1, n=r2 とおく. - 正規化定数 Z は分割表 u を m × n 行列とするとき p^u/u! の和である. - ここで和は行和列和が @var{beta} であるような u 全体でとる + r1 x r2 画;. + m=r1, n=r2 . + 罩h絎 Z 画; u m n 茵 p^u/u! с. + у茵 @var{beta} с u 篏с [TKT2015], [GM2016]. - p^u は p_ij^u_ij の積, u! は u_ij! の積である. - d_ij Z で Z の変数 p_ij についての偏微分を表す. + p^u p_ij^u_ij 腥, u! u_ij! 腥с. + d_ij Z Z 紊 p_ij ゃ鏅茵. @item -nc は gmvector の値を元に, [GM2016] の Prop - 7.1 に基づいて Z の値を計算する. +nc gmvector ゃ, [GM2016] Prop + 7.1 冴ャ Z ゃ荐膊. @item -option crt=1 (crt = Chinese remainder theorem) を与えると, 分散計算をおこなう. -分散計算用の各種パラメータの設定は -gtt_ekn.setup で行なう. +option crt=1 (crt = Chinese remainder theorem) 筝, h膊. +h膊腮<若帥荐絎 +gtt_ekn.setup ц. @end itemize -@comment --- @example〜@end example は実行例の表示 --- -例: 2x3 分割表での Z とその微分の計算. +@comment --- @example@end example 絎茵箴茵腓 --- +箴: 2x3 画;с Z 緇荐膊. @example [2237] gtt_ekn.nc([[4,5],[2,4,3]],[[1,1/2,1/3],[1,1,1]]); [4483/124416,[ 353/7776 1961/15552 185/1728 ] [ 553/20736 1261/15552 1001/13824 ]] @end example -参考: 2 x m 分割表(Lauricella FD)についてはパッケージ tk_fd でも下記のように同等な -計算ができる. +: 2 x m 画;(Lauricella FD)ゃ宴若 tk_fd с筝荐膈 +荐膊с. @example [3076] import("tk_fd.rr"); [3077] A=tk_fd.marginal2abc([4,5],[2,4,3]); @@ -355,71 +389,71 @@ RS=[ 4 5 ], CSnew=[ 2 4 3 ], Ynew=[ 1 1/2 1/3 ] Computing Dmat(ca) for parameters B=[-4,-3],X=[ 1/2 1/3 ] [4483/124416,[[353/7776,1961/15552,185/1728], [553/20736,1261/15552,1001/13824]]] -// 戻値は [Z, [[d_11 Z, d_12 Z, d_13 Z], -// [d_21 Z, d_22 Z, d_23 Z]]] の値. -// ここで d_ij は i,j 成分についての微分を表す. +// 糸ゃ [Z, [[d_11 Z, d_12 Z, d_13 Z], +// [d_21 Z, d_22 Z, d_23 Z]]] . +// d_ij i,j ゃ緇茵. @end example -@comment --- 参照(リンク)を書く --- +@comment --- (潟)吾 --- @table @t -@item 参照 +@item @ref{gtt_ekn.setup} @ref{gtt_ekn.lognc} @end table -@comment --- ChangeLog を書く. ソースコードの位置. 変更日時 など CVSサーバを見るため +@comment --- ChangeLog 吾. 純若鴻潟若篏臀. 紊贋ユ CVS泣若荀 @noindent ChangeLog @itemize @bullet @item - 変更を受けたファイルは + 紊眼<ゃ OpenXM/src/asir-contrib/packages/src/gtt_ekn.rr 1.1, gtt_ekn/ekn_eval.rr @end itemize @comment ********************************************************** -@node gtt_ekn.lognc,,, 超幾何関数E(k,n) +@node gtt_ekn.lognc,,, 莇綛鞘∽E(k,n) @subsection @code{gtt_ekn.lognc} -@comment --- 索引用キーワード +@comment --- 膣√若若 @findex gtt_ekn.lognc @table @t @item gtt_ekn.lognc(@var{beta},@var{p}) -:: 周辺和 @var{beta}, セルの確率 @var{p} の二元分割表の条件付き確率の正規化定数 Z -の log の近似値およびその微分の近似値を戻す. +:: 莨阪 @var{beta}, 祉腆榊 @var{p} 篋画;>散篁腆榊罩h絎 Z + log 菴篌弱ゃ潟緇菴篌弱ゃ祉. @end table -@comment --- 引数の簡単な説明 --- 以下まだ書いてない. +@comment --- 綣違膂≦茯 --- 篁ヤ障吾. @table @var @item return -ベクトル [log(Z), [[d_11 log(Z), d_12 log(Z), ...], [d_21 log(Z),...], ... ] + [log(Z), [[d_11 log(Z), d_12 log(Z), ...], [d_21 log(Z),...], ... ] @item beta -行和, 列和のリスト. 成分はすべて正であること. +茵, 鴻. 鴻罩cс. @item p -二元分割表のセルの確率のリスト +篋画;祉腆榊鴻 @end table -@comment --- ここで関数の詳しい説明 --- -@comment --- @itemize〜@end itemize は箇条書き --- -@comment --- @bullet は黒点付き --- +@comment --- ч∽違荅潟茯 --- +@comment --- @itemize@end itemize 膊≧吾 --- +@comment --- @bullet 藥剛 --- @itemize @bullet @item -条件付き最尤推定に利用する [TKT2015]. -@item option crt=1 (crt = Chinese remainder theorem) を与えると, 分散計算をおこなう. -分散計算用の各種パラメータの設定は -gtt_ekn.setup で行なう. +>散篁絨ゆィ絎 [TKT2015]. +@item option crt=1 (crt = Chinese remainder theorem) 筝, h膊. +h膊腮<若帥荐絎 +gtt_ekn.setup ц. @end itemize -@comment --- @example〜@end example は実行例の表示 --- -例: 2 × 3 分割表での例. 第一成分のみ近似値. +@comment --- @example@end example 絎茵箴茵腓 --- +箴: 2 3 画;с箴. 膃筝粋篌弱. @example [2238] gtt_ekn.lognc([[4,5],[2,4,3]],[[1,1/2,1/3],[1,1,1]]); [-3.32333832422461674630,[ 5648/4483 15688/4483 13320/4483 ] [ 3318/4483 10088/4483 9009/4483 ]] @end example -参考: 2 x m 分割表(Lauricella FD)についてはパッケージ tk_fd でも下記のように同等な -計算ができる. +: 2 x m 画;(Lauricella FD)ゃ宴若 tk_fd с筝荐膈 +荐膊с. @example [3076] import("tk_fd.rr"); [3077] A=tk_fd.marginal2abc([4,5],[2,4,3]); @@ -431,65 +465,65 @@ Computing Dmat(ca) for parameters B=[-4,-3],X=[ 1/2 1/ [-3.32333832422461674639485797719209322217260539267246045320, [[1.2598706, 3.499442, 2.971224], [0.7401293, 2.250278, 2.009591]]] -// 戻値は [log(Z), +// 糸ゃ [log(Z), // [[d_11 log(Z), d_12 log(Z), d_13 log(Z)], // [d_21 log(Z), d_22 log(Z), d_23 log(Z)]]] -// の近似値. +// 菴篌弱. @end example -@comment --- 参照(リンク)を書く --- +@comment --- (潟)吾 --- @table @t -@item 参照 +@item @ref{gtt_ekn.setup} @ref{gtt_ekn.nc} @end table -@comment --- ChangeLog を書く. ソースコードの位置. 変更日時 など CVSサーバを見るため +@comment --- ChangeLog 吾. 純若鴻潟若篏臀. 紊贋ユ CVS泣若荀 @noindent ChangeLog @itemize @bullet @item - 変更を受けたファイルは + 紊眼<ゃ OpenXM/src/asir-contrib/packages/src/gtt_ekn.rr 1.1. @end itemize @comment ********************************************************** -@node gtt_ekn.expectation,,, 超幾何関数E(k,n) +@node gtt_ekn.expectation,,, 莇綛鞘∽E(k,n) @subsection @code{gtt_ekn.expectation} -@comment --- 索引用キーワード +@comment --- 膣√若若 @findex gtt_ekn.expectation @table @t @item gtt_ekn.expectation(@var{beta},@var{p}) -:: 周辺和 @var{beta}, セルの確率 @var{p} の二元分割表の期待値を計算する. +:: 莨阪 @var{beta}, 祉腆榊 @var{p} 篋画;緇ゃ荐膊. @end table -@comment --- 引数の簡単な説明 --- 以下まだ書いてない. +@comment --- 綣違膂≦茯 --- 篁ヤ障吾. @table @var @item return -二元分割表の各セルの期待値のリスト. +篋画;祉緇ゃ鴻. @item beta -行和, 列和のリスト. 成分はすべて正であること. +茵, 鴻. 鴻罩cс. @item p -二元分割表のセルの確率のリスト +篋画;祉腆榊鴻 @end table -@comment --- ここで関数の詳しい説明 --- -@comment --- @itemize〜@end itemize は箇条書き --- -@comment --- @bullet は黒点付き --- +@comment --- ч∽違荅潟茯 --- +@comment --- @itemize@end itemize 膊≧吾 --- +@comment --- @bullet 藥剛 --- @itemize @bullet @item -[GM2016] の Algorithm 7.8 の実装. -@item option crt=1 (crt = Chinese remainder theorem) を与えると, 分散計算をおこなう. -分散計算用の各種パラメータの設定は -gtt_ekn.setup で行なう. -@item option index を与えると, 指定された成分の期待値のみ計算する. -たとえば 2 x 2 分割表で index=[[0,0],[1,1]] と指定すると, 1 のある成分の期待値のみ計算する. +[GM2016] Algorithm 7.8 絎茖. +@item option crt=1 (crt = Chinese remainder theorem) 筝, h膊. +h膊腮<若帥荐絎 +gtt_ekn.setup ц. +@item option index 筝, 絎緇ゃ粋膊. + 2 x 2 画; index=[[0,0],[1,1]] 絎, 1 緇ゃ粋膊. @end itemize -@comment --- @example〜@end example は実行例の表示 --- +@comment --- @example@end example 絎茵箴茵腓 --- -2×2, 3×3 の分割表の期待値計算例. +22, 33 画;緇よ膊箴. @example [2235] gtt_ekn.expectation([[1,4],[2,3]],[[1,1/3],[1,1]]); [ 2/3 1/3 ] @@ -507,8 +541,8 @@ gtt_ekn.setup で行なう. 737732646860489910/147000422096729819 ] @end example -参考: 2 x m 分割表(Lauricella FD)についてはパッケージ tk_fd でも下記のように同等な -計算ができる. +: 2 x m 画;(Lauricella FD)ゃ宴若 tk_fd с筝荐膈 +荐膊с. @example [3076] import("tk_fd.rr"); [3077] A=tk_fd.marginal2abc([4,5],[2,4,3]); @@ -519,41 +553,41 @@ RS=[ 4 5 ], CSnew=[ 2 4 3 ], Ynew=[ 1 1/2 1/3 ] Computing Dmat(ca) for parameters B=[-4,-3],X=[ 1/2 1/3 ] [[5648/4483,7844/4483,4440/4483], [3318/4483,10088/4483,9009/4483]] -// 各セルの期待値. +// 祉緇. @end example -参考: 一般の A 分布の計算は ot_hgm_ahg.rr. まだ実験的なため, module 化されていない. -ot_hgm_ahg.rr についての参考文献: +: 筝 A 絽荐膊 ot_hgm_ahg.rr. 障絎薑, module . +ot_hgm_ahg.rr ゃ: K.Ohara, N.Takayama, Pfaffian Systems of A-Hypergeometric Systems II --- Holonomic Gradient Method, arxiv:1505.02947 @example [3237] import("ot_hgm_ahg.rr"); -// 2 x 2 分割表. +// 2 x 2 画;. [3238] hgm_ahg_expected_values_contiguity([[0,0,1,1],[1,0,1,0],[0,1,0,1]], [9,6,8],[1/2,1/3,1/5,1/7],[x1,x2,x3,x4]|geometric=1); oohg_native=0, oohg_curl=1 [1376777025/625400597,1750225960/625400597, 2375626557/625400597,3252978816/625400597] -// 2 x 2 分割表の期待値. +// 2 x 2 画;緇. -// 2 x 3 分割表. +// 2 x 3 画;. [3238] hgm_ahg_expected_values_contiguity( [[0,0,0,1,1,1],[1,0,0,1,0,0],[0,1,0,0,1,0],[0,0,1,0,0,1]], [5,2,4,3],[1,1/2,1/3,1,1,1],[x1,x2,x3,x4,x5,x6]|geometric=1); [5648/4483,7844/4483,4440/4483,3318/4483,10088/4483,9009/4483] -// 2 x 3 分割表の期待値. 上と同じ問題. +// 2 x 3 画;緇. 筝馹. @end example -3 x 3 分割表. 構造的0が一つ. +3 x 3 画;. 罕0筝. @example /* - dojo, p.221 のデータ. 成績3以下の生徒は集めてひとつに. + dojo, p.221 若. 膰3篁ヤ緇蚊ゃ. 2 1 1 8 3 3 0 2 6 row sum: 4,14,8 column sum: 10,6,10 - 0 を一つ含むので, (3,6) 型の A から 7 列目を抜く. + 0 筝ゅ, (3,6) A 7 . */ A=[[0,0,0,1,1,1, 0,0], @@ -563,9 +597,9 @@ A=[[0,0,0,1,1,1, 0,0], [0,0,1,0,0,1, 0,1]]; B=[14,8,10,6,10]; hgm_ahg_expected_values_contiguity(A,B,[1,1/2,1/3,1,1/5,1/7,1,1], -                [x1,x2,x3,x4,x5,x6,x7,x8]|geometric=1); +[x1,x2,x3,x4,x5,x6,x7,x8]|geometric=1); -// 答. +// 膈. [14449864949304/9556267369631, 10262588586540/9556267369631, 13512615942680/9556267369631, 81112808747006/9556267369631, @@ -574,10 +608,10 @@ hgm_ahg_expected_values_contiguity(A,B,[1,1/2,1/3,1,1/ 25258717886900/9556267369631,51191421070148/9556267369631] @end example -3 x 3 分割表. +3 x 3 画;. @example /* - 上のデータで 0 を 1 に変更. + 筝若帥 0 1 紊. 2 1 1 8 3 3 1 2 6 @@ -594,100 +628,109 @@ B=[14,9,11,6,10]; hgm_ahg_expected_values_contiguity(A,B,[1,1/2,1/3,1,1/5,1/7,1,1,1], [x1,x2,x3,x4,x5,x6,x7,x8]|geometric=1); -// 期待値, 答. x9 を指定していないので, 9番目の期待値は出力してない. +// 緇, 膈. x9 絎, 9緇ゃ阪. [207017568232262040/147000422096729819, 163140751505489940/147000422096729819,217843368649167296/147000422096729819, 1185482401011137878/147000422096729819, 358095302885438604/147000422096729819,514428205457640984/147000422096729819, 224504673820628091/147000422096729819,360766478189450370/147000422096729819] -// Z やその微分の計算は hgm_ahg_contiguity 関数がおこなうが, これの簡易インターフェースは -// まだ書いてない. +// Z 緇荐膊 hgm_ahg_contiguity ∽違, 膂≧ゃ潟帥若с若鴻 +// 障吾. @end example -@comment --- 参照(リンク)を書く --- +@comment --- (潟)吾 --- @table @t -@item 参照 +@item @ref{gtt_ekn.setup} @ref{gtt_ekn.nc} @end table -@comment --- ChangeLog を書く. ソースコードの位置. 変更日時 など CVSサーバを見るため +@comment --- ChangeLog 吾. 純若鴻潟若篏臀. 紊贋ユ CVS泣若荀 @noindent ChangeLog @itemize @bullet @item - 変更を受けたファイルは + 紊眼<ゃ OpenXM/src/asir-contrib/packages/src/gtt_ekn.rr 1.1. @end itemize @comment ********************************************************** -@comment --- ◯◯◯◯ の説明 -@comment --- 個々の関数の説明の開始 --- -@comment --- section 名を正確に --- -@node gtt_ekn.setup,,, 超幾何関数E(k,n) +@comment --- 茯 +@comment --- ∽違茯紮 --- +@comment --- section 罩g∈ --- +@node gtt_ekn.setup,,, 莇綛鞘∽E(k,n) @subsection @code{gtt_ekn.setup} -@comment --- 索引用キーワード +@comment --- 膣√若若 @findex gtt_ekn.setup @table @t @item gtt_ekn.setup() -:: 分散計算用の環境設定をおこなう. 現在の環境を報告する. +:: h膊医荐絎. 憜医怨. @end table -@comment --- 引数の簡単な説明 --- 以下まだ書いてない. +@comment --- 綣違膂≦茯 --- 篁ヤ障吾. @table @var @item return @end table -@comment --- ここで関数の詳しい説明 --- -@comment --- @itemize〜@end itemize は箇条書き --- -@comment --- @bullet は黒点付き --- +@comment --- ч∽違荅潟茯 --- +@comment --- @itemize@end itemize 膊≧吾 --- +@comment --- @bullet 藥剛 --- @itemize @bullet -@item 使用するプロセスと素数の個数, 最小の素数を表示する. 準備されていない場合はその旨を表示. -@item このパッケージでの分散計算は複数のcpuを搭載した計算機で実行されることを想定している. -@item option nps (または number_of_processes)を与えると指定した数だけプロセスを用意する. -@item option nprm (または number_of_primes)を与えるとnprmが文字列の場合指定された素数リストのファイルを読み込む. nprmが自然数の場合さらにoption minp (minp =MINimum Prime)を与えるとminpより大きな素数をnprm個生成する. その際option fgp (または file_of_generated_primes)を与えると生成した素数リストをファイル名をfgpとして保存する. -@item 上記のoption を指定しなかった場合次のデフォルト値が用いられる. nps=1. nprm=10. fgp=0. -@item option report=1を与えると現在の環境の報告のみを行う. setup(|report=1)の別名としてreport関数を使用することもできる. +@item 篏睡祉鴻膣違, 絨膣違茵腓冴. 羣翫茵腓. +@item 宴若吾сh膊茲違cpu莠荐膊罘у茵喝. +@item option nps (障 number_of_processes)筝絎違祉鴻. +@item option nprm (障 number_of_primes)筝nprm絖翫絎膣違鴻<ゃ茯粋昭. nprm倶違翫option minp (minp =MINimum Prime)筝minp紊с膣違nprm. option fgp (障 file_of_generated_primes)筝膣違鴻<ゃfgp篆絖. +@item 筝荐option 絎c翫罨<ゃ. nps=1. nprm=10. fgp=0. +@item option report=1筝憜医怨帥茵. setup(|report=1)ュreport∽違篏睡с. +@item option subprogs=[file1,file2,...] h膊絖箴祉鴻若鴻<ゃ file1, file2, ... 絎. default subprogs=["gtt_ekn/childprocess.rr"] с. +@item gtt_ekn.set_debug_level(Mode) Ekn_debug ゃ荐絎. @end itemize -@comment --- @example〜@end example は実行例の表示 --- -例: 素数のリストを生成してファイル p.txt へ書き出す. +@comment --- @example@end example 絎茵箴茵腓 --- +箴: 膣違鴻<ゃ p.txt 御吾冴. @example gtt_ekn.setup(|nps=2,nprm=20,minp=10^10,fgp="p.txt")$ @end example +箴: chinese remainder theorem (crt) 篏帥c gmvector 荐膊. +@example +[2867] gtt_ekn.setup(|nprm=20,minp=10^20); +[2868] N=2; T2=gtt_ekn.gmvector([[36*N,13*N-1],[38*N-1,11*N]], + [[1,(1-1/N)/56],[1,1]] | crt=1)$ +@end example -@comment --- 参照(リンク)を書く --- + +@comment --- (潟)吾 --- @table @t -@item 参照 +@item @ref{gtt_ekn.nc} @ref{gtt_ekn.gmvector} @end table -@comment --- ChangeLog を書く. ソースコードの位置. 変更日時 など CVSサーバを見るため +@comment --- ChangeLog 吾. 純若鴻潟若篏臀. 紊贋ユ CVS泣若荀 @noindent ChangeLog @itemize @bullet @item - 変更を受けたファイルは + 紊眼<ゃ OpenXM/src/asir-contrib/packages/src/gtt_ekn.rr 1.1, gtt_ekn/g_mat_fac.rr @end itemize @comment ********************************************************** -@comment --- ◯◯◯◯ の説明 -@comment --- 個々の関数の説明の開始 --- -@comment --- section 名を正確に --- -@node gtt_ekn.upAlpha,,, 超幾何関数E(k,n) +@comment --- 茯 +@comment --- ∽違茯紮 --- +@comment --- section 罩g∈ --- +@node gtt_ekn.upAlpha,,, 莇綛鞘∽E(k,n) @subsection @code{gtt_ekn.upAlpha} -@comment --- 索引用キーワード +@comment --- 膣√若若 @findex gtt_ekn.upAlpha @table @t @@ -695,72 +738,311 @@ ChangeLog :: @end table -@comment --- 引数の簡単な説明 --- 以下まだ書いてない. +@comment --- 綣違膂≦茯 --- 篁ヤ障吾. @table @var -@item i a_i を a_i+1 と変化させる contiguity relation. -@item k E(k+1,n+k+2)型の超幾何関数の k. 分割表では (k+1)×(n+1). -@item n E(k+1,n+k+2)型の超幾何関数の n. 分割表では (k+1)×(n+1). -@item return contiguity relation の pfaffian_basis についての行列表現を戻す. [GM2016] の Cor 6.3. +@item i a_i a_i+1 紊 contiguity relation. +@item k E(k+1,n+k+2)莇綛鞘∽違 k. 画;с (k+1)(n+1). +@item n E(k+1,n+k+2)莇綛鞘∽違 n. 画;с (k+1)(n+1). +@item return contiguity relation pfaffian_basis ゃ茵茵憗祉. [GM2016] Cor 6.3. @end table -@comment --- ここで関数の詳しい説明 --- -@comment --- @itemize〜@end itemize は箇条書き --- -@comment --- @bullet は黒点付き --- +@comment --- ч∽違荅潟茯 --- +@comment --- @itemize@end itemize 膊≧吾 --- +@comment --- @bullet 藥剛 --- @itemize @bullet @item - upAlpha は [GM2016] の Cor 6.3 の行列 U_i を戻す. -@item 関連する各関数の簡潔な説明と例も加える. -@item a_i を a_i-1 と変化させたい場合は関数 downAlpha を用いる. -@item a_i と分割表の周辺和を見るには, 関数 marginaltoAlpha([行和,列和]) を用いる. + upAlpha [GM2016] Cor 6.3 茵 U_i 祉. +@item ∫c∽違膂≧茯箴. +@item a_i a_i-1 紊翫∽ downAlpha . +@item a_i 画;莨阪荀, ∽ marginaltoAlpha([茵,]) . @item - pfaffian_basis は [GM2016] の4章のベクトル F に対応する偏微分を戻す. + pfaffian_basis [GM2016] 鐚腴 F 絲上鏅祉. @end itemize -@comment --- @example〜@end example は実行例の表示 --- -例: 以下の例は 2×2分割表(E(2,4)), 2×3分割表(E(2,5))の場合である. -[2225] までは出力を略している. +@comment --- @example@end example 絎茵箴茵腓 --- +箴: 篁ヤ箴 22画;(E(2,4)), 23画;(E(2,5))翫с. +[2225] 障с阪ャ. @example [2221] gtt_ekn.marginaltoAlpha([[1,4],[2,3]]); [[a_0,-4],[a_1,-1],[a_2,3],[a_3,2]] -[2222] gtt_ekn.upAlpha(1,1,1); // E(2,4) の a_1 方向の - // contiguity を表現する行列 -[2223] gtt_ekn.upAlpha(2,1,1); // E(2,4) の a_2 方向 -[2224] gtt_ekn.upAlpha(3,1,1); // E(2,4) の a_3 方向 +[2222] gtt_ekn.upAlpha(1,1,1); // E(2,4) a_1 劫 + // contiguity 茵憗茵 +[2223] gtt_ekn.upAlpha(2,1,1); // E(2,4) a_2 劫 +[2224] gtt_ekn.upAlpha(3,1,1); // E(2,4) a_3 劫 [2225] function f(x_1_1); [2232] gtt_ekn.pfaffian_basis(f(x_1_1),1,1); [ f(x_1_1) ] [ (f{1}(x_1_1)*x_1_1)/(a_2) ] [2233] function f(x_1_1,x_1_2); f() redefined. -[2234] gtt_ekn.pfaffian_basis(f(x_1_1,x_1_2),1,2); // E(2,5), 2*3 分割表 +[2234] gtt_ekn.pfaffian_basis(f(x_1_1,x_1_2),1,2); // E(2,5), 2*3 画; [ f(x_1_1,x_1_2) ] [ (f{1,0}(x_1_1,x_1_2)*x_1_1)/(a_2) ] [ (f{0,1}(x_1_1,x_1_2)*x_1_2)/(a_3) ] @end example -@comment --- 参照(リンク)を書く --- +@comment --- (潟)吾 --- @table @t -@item 参照 +@item @ref{gtt_ekn.nc} @ref{gtt_ekn.gmvector} @end table -@comment --- ChangeLog を書く. ソースコードの位置. 変更日時 など CVSサーバを見るため +@comment --- ChangeLog 吾. 純若鴻潟若篏臀. 紊贋ユ CVS泣若荀 @noindent ChangeLog @itemize @bullet @item - この関数は [GM2016] -で与えられたアルゴリズムに従い contiguity relation を導出する. + ∽違 [GM2016] +т≪眼冴緇 contiguity relation 絨冴. @item - 変更を受けたファイルは + 紊眼<ゃ OpenXM/src/asir-contrib/packages/src/gtt_ekn/ekn_pfaffian_8.rr 1.1. @end itemize +@comment ********************************************************** +@comment --- 茯 +@comment --- ∽違茯紮 --- +@comment --- section 罩g∈ --- +@node gtt_ekn.cmle,,, 莇綛鞘∽E(k,n) +@subsection @code{gtt_ekn.cmle} +@comment --- 膣√若若 +@findex gtt_ekn.cmle -@comment --- おまじない --- +@table @t +@item gtt_ekn.cmle(@var{u}) u 荀恰謙若帥, P(U=u | row sum, column sum = these of U) 紊у, 祉腆榊菴篌弱ゃ羆. +:: +@end table + +@comment --- 綣違膂≦茯 --- 篁ヤ障吾. +@table @var +@item u 荀恰謙若(画;) +@item return 祉腆榊(画;綵√) +@end table + +@comment --- ч∽違荅潟茯 --- +@comment --- @itemize@end itemize 膊≧吾 --- +@comment --- @bullet 藥剛 --- +@itemize @bullet +@item u 荀恰謙若帥, P(U=u | row sum, column sum = these of U) 紊у, 祉腆榊菴篌弱ゃ羆. +@item optional parameter algorithm (井違菴篌若, 罸絖絨違, gradient descent step綛)茯炊眼鴻, 篏罐筝. 2017.03.03 +@end itemize + +@comment --- @example@end example 絎茵箴茵腓 --- +箴: 2 x 4 画;. +@example +U=[[1,1,2,3],[1,3,1,1]]; +gtt_ekn.cmle(U); + [[ 1 1 2 3 ] + [ 1 3 1 1 ],[[7,6],[2,4,3,4]], // Data, row sum, column sum + [ 1 67147/183792 120403/64148 48801/17869 ] // probability obtained. + [ 1 1 1 1 ]] +@end example + +箴: 筝箴罨<∽違. +@example +gtt_ekn.cmle_test3(); +@end example + +@comment --- (潟)吾 --- +@table @t +@item +@ref{gtt_ekn.expectation} +@end table + +@comment --- ChangeLog 吾. 純若鴻潟若篏臀. 紊贋ユ CVS泣若荀 +@noindent +ChangeLog +@itemize @bullet +@item gtt_ekn/mle.rr 篏. +@item gtt_ekn.rr cmle ∽違 wrapper. +@end itemize +@comment end cmle. + +@comment ********************************************************** +@comment --- 茯 +@comment --- ∽違茯紮 --- +@comment --- section 罩g∈ --- +@node gtt_ekn.set_debug_level,,, 莇綛鞘∽E(k,n) +@node gtt_ekn.show_path,,, 莇綛鞘∽E(k,n) +@subsection @code{gtt_ekn.set_debug_level}, @code{gtt_ekn.show_path} +@comment --- 膣√若若 +@findex gtt_ekn.set_debug_level +@findex gtt_ekn.show_path + +@table @t +@item gtt_ekn.set_debug_level(@var{m}) debug <祉若吾荐絎. +@item gtt_ekn.show_path() contiguity . +:: +@end table + +@comment --- 綣違膂≦茯 --- 篁ヤ障吾. +@table @var +@item m . +@end table + +@comment --- ч∽違荅潟茯 --- +@comment --- @itemize@end itemize 膊≧吾 --- +@comment --- @bullet 藥剛 --- +@itemize @bullet +@item (@var{m} & 0x1) == 0x1 g_mat_fac_test_plain g_mat_fac_itor 筝≧鴻若喝冴ゃ罸莠 (gtt_ekn.setup 倶). +@item (@var{m} & 0x2) == 0x2 g_mat_fac_itor 吾綣違 tmp-input.ab 篆絖. +@item (@var{m} & 0x4) == 0x4 matrix factorial 荐膊若喝冴綣違茵腓. +@end itemize + +@comment --- @example@end example 絎茵箴茵腓 --- +@example +[2846] gtt_ekn.set_debug_level(0x4); +[2847] N=2; T2=gtt_ekn.gmvector([[36*N,13*N-1],[38*N-1,11*N]], + [[1,(1-1/N)/56],[1,1]])$ +[2848] level&0x4: g_mat_fac_test([ 113/112 ] +[ 1/112 ],[ (t+225/112)/(t^2+4*t+4) (111/112*t+111/112)/(t^2+4*t+4) ] +[ (1/112)/(t^2+4*t+4) (111/112*t+111/112)/(t^2+4*t+4) ],0,20,1,t) +Note: we do not use g_mat_fac_itor. Call gtt_ekn.setup(); to use the crt option. +level&0x4: g_mat_fac_test([ 67/62944040755546030080000 ] +[ 1/125888081511092060160000 ],[ (t+24)/(t^2+25*t+46) (2442)/(t^2+25*t+46) ] +[ (1)/(t^2+25*t+46) (-111*t-111)/(t^2+25*t+46) ],0,73,1,t) +level&0x4: g_mat_fac_test ------ snip +@end example + +@example +[2659] gtt_ekn.nc([[4,5],[2,4,3]],[[1,1/2,1/3],[1,1,1]])$ +[2660] L=matrix_transpose(gtt_ekn.show_path())$ +[2661] L[2]; +[1 4 3 2] +@end example +[1 4 3 2] index ゃ<若帥若劫 contigity 羆 +荐膊. L[0] contiguity 茵. + +@comment --- (潟)吾 --- +@table @t +@item +@ref{gtt_ekn.nc} +@end table + +@comment --- ChangeLog 吾. 純若鴻潟若篏臀. 紊贋ユ CVS泣若荀 +@noindent +ChangeLog +@itemize @bullet +@item gtt_ekn/ekn_eval.rr matrix factorial 荐膊若喝冴綣違茵腓冴. +@item grep 'iand(Ekn_debug,0x1)' *.rr с純若鴻潟若荅峨篏臀. +@end itemize +@comment end set_debug_level + + + +@node modular荐膊,,, 2画;HGM∽ +@chapter modular荐膊 + +@menu +* gtt_ekn.chinese_itor:: +@end menu + +@node 筝遵遺絎itor,,, modular荐膊 +@section 筝遵遺絎itor + +@comment ********************************************************** +@comment --- 茯 +@comment --- ∽違茯紮 --- +@comment --- section 罩g∈ --- +@node gtt_ekn.chinese_itor,,, +@subsection @code{gtt_ekn.chinese_itor} +@comment --- 膣√若若 +@findex gtt_ekn.chinese_itor 筝遵遺絎itor + +@table @t +@item gtt_ekn.chinese_itor(@var{data},@var{idlist}) +:: mod p ц膊腟() chinese remainder theorem, itor(integer to rational) ф違緇. +@end table + +@comment --- 綣違膂≦茯 --- 篁ヤ障吾. +@table @var +@item return [val, n] val 膈. 障, n = n1*n2*... +@item data [[val1,n1],[val2,n2], ...], val mod n1 = val1, val mod n2 = val2,... +@item idlist chinese, itor 絎茵泣若ID鴻. +@end table + +@comment --- ч∽違荅潟茯 --- +@comment --- @itemize@end itemize 膊≧吾 --- +@comment --- @bullet 藥剛 --- +@itemize @bullet +@item 筝遵遺絎 val0 mod n1 = val1, val0 mod n2 = val2, ... val0 羆. val algorithm itor . +@item sqrt(n) val0 紊с itor val0 val=a/b 紊. ゃ障 b*x =1 mod n x , x*a % n = val0 val 祉. 荀ゃ failure 祉. +@end itemize + +@comment --- @example@end example 絎茵箴茵腓 --- +箴: [3!, 5^3*3!]=[6,750] 祉. +6 mod 109 =6, 750 mod 109=96 綣違 [[6,96],109]. 篁ヤ罕. +@example +gtt_ekn.setup(|nps=2,nprm=3,minp=101,fgp="p_small.txt"); +SS=gtt_ekn.get_svalue(); +SS[0]; + [103,107,109] // list of primes +SS[1]; + [0,2] // list of server ID's +gtt_ekn.chinese_itor([[[ 6,96 ],109],[[ 6,29 ],103],[[ 6,1 ],107]],SS[1]); + [[ 6 750 ],1201289] + +// 綣違鴻若с. +gtt_ekn.chinese_itor([[96,109],[29,103]],SS[1]); + [[ 750 ],11227] +@end example + + +@comment --- @example@end example 絎茵箴茵腓 --- +箴: gtt_ekn/childprocess.rr (server у茵) ∽ chinese (chinese remainder theorem) euclid. +@example +load("gtt_ekn/childprocess.rr"); +chinese([newvect(2,[6,29]),103],[newvect(2,[6,750]),107*109]); + // mod 103 [6,29], mod (107*109) [6,750] 違 mod 103*(107*109) + // ф, + [[ 6 750 ],1201289] +euclid(3,103); // mod 103 с 3 . ゃ障 1/3 + -34 +3*(-34) % 103; // 腆冴. + 1 +@end example + +@comment --- @example@end example 絎茵箴茵腓 --- +箴: gtt_ekn/childprocess.rr (server у茵) ∽ itor (integer to rational) 箴. +itor(Y,Q,Q2,Idx) с Y < Q2 Y 障丈祉. Idx index уソ違с. 祉ゃ膃鐚. +@example +load("gtt_ekn/childprocess.rr"); +for (I=1;I<11; I++) print([I,itor(I,11,3,0)]); +[1,[1,0]] +[2,[2,0]] +[3,[-2/3,0]] //euclid(3,11); ->4, 4*(-2)%11 -> 3 х∈ -2/3 違茖 +[4,[failure,0]] +[5,[-1/2,0]] +[6,[1/2,0]] +[7,[-1/3,0]] +[8,[failure,0]] +[9,[-2,0]] +[10,[-1,0]] +@end example + + +@comment --- (潟)吾 --- +@table @t +@item +@ref{gtt_ekn.setup} +@end table + +@comment --- ChangeLog 吾. 純若鴻潟若篏臀. 紊贋ユ CVS泣若荀 +@noindent +ChangeLog +@itemize @bullet +@item + ∫c<ゃ + gtt_ekn/g_mat_fac.rr + gtt_ekn/childprocess.rr +@end itemize + + + +@comment --- 障 --- @node Index,,, Top @unnumbered Index @printindex fn @@ -771,12 +1053,63 @@ ChangeLog @summarycontents @contents @bye -@comment --- おまじない終り --- +@comment --- 障腟 --- -// 2 x m 分割表において似た機能を有する関数の利用例を参考までに記載する; -// 正規化定数とその微分関連. -// その1. +@comment 潟若. start_of_template. +@comment ********************************************************** +@comment --- 茯 +@comment --- ∽違茯紮 --- +@comment --- section 罩g∈ --- +@node gtt_ekn.hoge,,, 莇綛鞘∽E(k,n) +@subsection @code{gtt_ekn.hoge} +@comment --- 膣√若若 +@findex gtt_ekn.hoge + +@table @t +@item gtt_ekn.hoge(@var{i}) +:: +@end table + +@comment --- 綣違膂≦茯 --- 篁ヤ障吾. +@table @var +@item i hage +@item return +@end table + +@comment --- ч∽違荅潟茯 --- +@comment --- @itemize@end itemize 膊≧吾 --- +@comment --- @bullet 藥剛 --- +@itemize @bullet +@item 茯. +@end itemize + +@comment --- @example@end example 絎茵箴茵腓 --- +箴: +@example +[2221] gtt_ekn.hoge([[1,4],[2,3]]); +@end example + + +@comment --- (潟)吾 --- +@table @t +@item +@ref{gtt_ekn.nc} +@ref{gtt_ekn.gmvector} +@end table + +@comment --- ChangeLog 吾. 純若鴻潟若篏臀. 紊贋ユ CVS泣若荀 +@noindent +ChangeLog +@itemize @bullet +@item +@end itemize +@comment end_of_template + + +// 2 x m 画;篌若罘純∽違箴障с荐莠; +// 罩h絎違緇∫. +// 1. [3077] A=tk_fd.marginal2abc([4,5],[2,4,3]); [-4,[-4,-3],-1] [3078] tk_fd.ahmat_abc(A[0],A[1],A[2],[[1,1/2,1/3],[1,1,1]]); @@ -784,9 +1117,9 @@ RS=[ 4 5 ], CSnew=[ 2 4 3 ], Ynew=[ 1 1/2 1/3 ] [ 1 1 1 ] Computing Dmat(ca) for parameters B=[-4,-3],X=[ 1/2 1/3 ] [4483/124416,[[353/7776,1961/15552,185/1728],[553/20736,1261/15552,1001/13824]]] -// 戻値は [Z, [[d_11 Z, d_12 Z, d_13 Z],[d_21 Z, d_22 Z, d_23 Z]]] の値. +// 糸ゃ [Z, [[d_11 Z, d_12 Z, d_13 Z],[d_21 Z, d_22 Z, d_23 Z]]] . -// その2. +// 2. [3079] tk_fd.log_ahmat_abc(A[0],A[1],A[2],[[1,1/2,1/3],[1,1,1]]); RS=[ 4 5 ], CSnew=[ 2 4 3 ], Ynew=[ 1 1/2 1/3 ] [ 1 1 1 ] @@ -794,25 +1127,25 @@ Computing Dmat(ca) for parameters B=[-4,-3],X=[ 1/2 1/ [-3.32333832422461674639485797719209322217260539267246045320, [[1.25987062235110417131385233102832924380994869507026544724,3.49944233772027660049074280615659156814633058219942003122,2.97122462636627258532232879768012491635065804149007361142], [0.740129377648895828686147668971670756190051304929734552754,2.25027883113986169975462859692170421592683470890028998438,2.00959179121124247155922373410662502788311398616997546285]]] -// 戻値は [log(Z), +// 糸ゃ [log(Z), // [[d_11 log(Z), d_12 log(Z), d_13 log(Z)], // [d_21 log(Z), d_22 log(Z), d_23 log(Z)]]] -// の近似値. +// 菴篌弱. -// その3. +// 3. [3082] fd_hessian2(A[0],A[1],A[2],[1/2,1/3]); Computing Dmat(ca) for parameters B=[-4,-3],X=[ 1/2 1/3 ] [4483/124416,[ 1961/15552 185/1728 ], [ 79/288 259/864 ] [ 259/864 47/288 ]] -// 戻値は [F=F_D, gradient(F), Hessian(F)] +// 糸ゃ [F=F_D, gradient(F), Hessian(F)] -// 参考. -// ygahvec で巾関数分の調整. 独立した関数はないようだ. +// . +// ygahvec у珪∽医茯炊. 腴∽違. //----------------------------------------------------------------------- -// 2 x m 分割表において似た機能を有する関数の利用例を参考までに記載する; -// 期待値関連. +// 2 x m 画;篌若罘純∽違箴障с荐莠; +// 緇ら∫. [3079] A=tk_fd.marginal2abc([4,5],[2,4,3]); [-4,[-4,-3],-1] [3080] tk_fd.expectation_abc(A[0],A[1],A[2],[[1,1/2,1/3],[1,1,1]]); @@ -821,36 +1154,36 @@ RS=[ 4 5 ], CSnew=[ 2 4 3 ], Ynew=[ 1 1/2 1/3 ] Computing Dmat(ca) for parameters B=[-4,-3],X=[ 1/2 1/3 ] [[5648/4483,7844/4483,4440/4483], [3318/4483,10088/4483,9009/4483]] -// 各セルの期待値. +// 祉緇. //----------------------------------------------------------------------- -// ot_hgm_ahg.rr の例. 実験的なため module 化されていない. +// ot_hgm_ahg.rr 箴. 絎薑 module . [3237] import("ot_hgm_ahg.rr"); -// 2 x 2 分割表. +// 2 x 2 画;. [3238] hgm_ahg_expected_values_contiguity([[0,0,1,1],[1,0,1,0],[0,1,0,1]], [9,6,8],[1/2,1/3,1/5,1/7],[x1,x2,x3,x4]|geometric=1); oohg_native=0, oohg_curl=1 [1376777025/625400597,1750225960/625400597,2375626557/625400597,3252978816/625400597] -// 2 x 2 分割表の期待値. +// 2 x 2 画;緇. -// 2 x 3 分割表. +// 2 x 3 画;. [3238] hgm_ahg_expected_values_contiguity( [[0,0,0,1,1,1],[1,0,0,1,0,0],[0,1,0,0,1,0],[0,0,1,0,0,1]], [5,2,4,3],[1,1/2,1/3,1,1,1],[x1,x2,x3,x4,x5,x6]|geometric=1); [5648/4483,7844/4483,4440/4483,3318/4483,10088/4483,9009/4483] -// 2 x 3 分割表の期待値. 上と同じ問題. +// 2 x 3 画;緇. 筝馹. /* - dojo, p.221. 成績3以下の生徒は集めてひとつに. + dojo, p.221. 膰3篁ヤ緇蚊ゃ. 2 1 1 8 3 3 0 2 6 row sum: 4,14,8 column sum: 10,6,10 - 0 を一つ含むので, (3,6) 型の A から 7 列目を抜く. + 0 筝ゅ, (3,6) A 7 . */ -// 3 x 3 分割表. 構造的0が一つ. +// 3 x 3 画;. 罕0筝. A=[[0,0,0,1,1,1, 0,0], [0,0,0,0,0,0, 1,1], @@ -860,14 +1193,14 @@ A=[[0,0,0,1,1,1, 0,0], B=[14,8,10,6,10]; hgm_ahg_expected_values_contiguity(A,B,[1,1/2,1/3,1,1/5,1/7,1,1],[x1,x2,x3,x4,x5,x6,x7,x8]|geometric=1); -// 答. +// 膈. [14449864949304/9556267369631,10262588586540/9556267369631,13512615942680/9556267369631, 81112808747006/9556267369631,21816297744346/9556267369631,30858636683482/9556267369631, 25258717886900/9556267369631,51191421070148/9556267369631] /* - 上のデータで 0 を 1 に変更. + 筝若帥 0 1 紊. 2 1 1 8 3 3 1 2 6 @@ -875,7 +1208,7 @@ hgm_ahg_expected_values_contiguity(A,B,[1,1/2,1/3,1,1/ row sum: 4,14,9 column sum: 11,6,10 */ -// 3 x 3 分割表. +// 3 x 3 画;. A=[[0,0,0,1,1,1,0,0,0], [0,0,0,0,0,0,1,1,1], [1,0,0,1,0,0,1,0,0], @@ -884,16 +1217,16 @@ A=[[0,0,0,1,1,1,0,0,0], B=[14,9,11,6,10]; hgm_ahg_expected_values_contiguity(A,B,[1,1/2,1/3,1,1/5,1/7,1,1,1],[x1,x2,x3,x4,x5,x6,x7,x8]|geometric=1); -// 期待値, 答. +// 緇, 膈. [207017568232262040/147000422096729819,163140751505489940/147000422096729819,217843368649167296/147000422096729819, 1185482401011137878/147000422096729819,358095302885438604/147000422096729819,514428205457640984/147000422096729819, 224504673820628091/147000422096729819,360766478189450370/147000422096729819] -// Z やその微分の計算は hgm_ahg_contiguity 関数がおこなうが, これの簡易インターフェースは -// まだ書いてない. +// Z 緇荐膊 hgm_ahg_contiguity ∽違, 膂≧ゃ潟帥若с若鴻 +// 障吾. -4. x_ij は [GM2016] の1章で, - たとえば 3x3 の時 [[1,1,1],[x_11,x_12,1],[x_21,x_22,1]] -となっているが, [GM2016] の Prop 7.1 の対応では, - p = [[1,x_11,x_12],[1,x_21,x_22],[1,1,1]] となっているので注意. +4. x_ij [GM2016] 鐚腴, + 3x3 [[1,1,1],[x_11,x_12,1],[x_21,x_22,1]] +c, [GM2016] Prop 7.1 絲上с, + p = [[1,x_11,x_12],[1,x_21,x_22],[1,1,1]] cф絵.