=================================================================== RCS file: /home/cvs/OpenXM/src/asir-contrib/packages/doc/gtt_ekn/gtt_ekn-ja.texi,v retrieving revision 1.9 retrieving revision 1.10 diff -u -p -r1.9 -r1.10 --- OpenXM/src/asir-contrib/packages/doc/gtt_ekn/gtt_ekn-ja.texi 2019/02/14 02:22:09 1.9 +++ OpenXM/src/asir-contrib/packages/doc/gtt_ekn/gtt_ekn-ja.texi 2019/02/14 05:46:51 1.10 @@ -1,4 +1,4 @@ -%% $OpenXM: OpenXM/src/asir-contrib/packages/doc/gtt_ekn/gtt_ekn-ja.texi,v 1.8 2019/02/14 00:18:40 takayama Exp $ +%% $OpenXM: OpenXM/src/asir-contrib/packages/doc/gtt_ekn/gtt_ekn-ja.texi,v 1.9 2019/02/14 02:22:09 takayama Exp $ %% xetex gtt_ekn.texi (.texi までつける. ) %% 以下コメントは @comment で始める. \input texinfo 以降は普通の tex 命令は使えない. \input texinfo-ja @@ -129,6 +129,8 @@ gtt_ekn/test-t1.rr * gtt_ekn.cmle:: * gtt_ekn.set_debug_level:: * gtt_ekn.show_path:: +* gtt_ekn.assert1:: +* gtt_ekn.assert2:: @end menu @node 超幾何関数E(k,n),,, 2元分割表HGMの関数 @@ -867,14 +869,20 @@ ChangeLog @comment --- section 名を正確に --- @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} +@node gtt_ekn.assert1,,, 超幾何関数E(k,n) +@node gtt_ekn.assert2,,, 超幾何関数E(k,n) +@subsection @code{gtt_ekn.set_debug_level}, @code{gtt_ekn.show_path}, @code{gtt_ekn.assert1}, @code{gtt_ekn.assert2} @comment --- 索引用キーワード @findex gtt_ekn.set_debug_level @findex gtt_ekn.show_path +@findex gtt_ekn.assert1 +@findex gtt_ekn.assert2 @table @t @item gtt_ekn.set_debug_level(@var{m}) debug メッセージのレベルを設定. @item gtt_ekn.show_path() どのように contiguity を適用したかの情報. +@item gtt_ekn.assert1(@var{N}) 2x2 分割表で動作チェック. +@item gtt_ekn.assert2(@var{N}) 3x3 分割表で動作チェック. :: @end table @@ -890,9 +898,11 @@ ChangeLog @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 の計算の呼び出し引数を表示. +@item @var{N} は問題の周辺和のサイズ. @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]], @@ -907,14 +917,55 @@ level&0x4: g_mat_fac_test([ 67/62944040755546030080000 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 を求めそれを掛けて +[1 4 3 2] の index をもつパラメーター alpha の方向の contigity を求めそれを掛けて 計算したことがわかる. L[0] は用いた contiguity の行列. +L[1] はcontiguity を適用する step 数. + +例. 値を計算せずに path のみ求めたい場合. +@example +A=gtt_ekn.marginaltoAlpha_list([[400,410,1011],[910,411,500]])$ +[2666] gtt_ekn.contiguity_mat_list_2(A,2,2)$ +[2667] L=matrix_transpose(gtt_ekn.show_path())$ +[2668] L[2]; +[ 2 1 5 4 3 ] +@end example + +例. 0 が戻れば g_mat_fac_plain と指定した計算方法の結果が一致したことがわかる. +option を書かないと g_mat_fac_int との比較となる. +@example +[8859] gtt_ekn.assert2(1); +Marginal=[[130,170,353],[90,119,444]] +P=[[17/100,1,10],[7/50,1,33/10],[1,1,1]] +Try g_mat_fac_test_int: Note: we do not use g_mat_fac_itor. Call gtt_ekn.setup(); to use the crt option. +Timing (int) =0.413916 (CPU) + 0.590723 (GC) = 1.00464 (total), real time=0.990672 + +Try g_mat_fac_test_plain: Note: we do not use g_mat_fac_itor. Call gtt_ekn.setup(); to use the crt option. +Timing (rational) =4.51349 (CPU) + 6.32174 (GC) = 10.8352 (total) +diff of both method = +[ 0 0 0 ] +[ 0 0 0 ] +[ 0 0 0 ] +[8860] + +[8863] gtt_ekn.setup(|nprm=100,minp=10^50); +Number of processes = 1. +Number of primes = 100. +Min of plist = 100000000000000000000000000000000000000000000000151. +0 +[8864] gtt_ekn.assert2(1 | crt=1); +Marginal=[[130,170,353],[90,119,444]] +P=[[17/100,1,10],[7/50,1,33/10],[1,1,1]] +Try [[crt,1]] +---- snip +@end example +なお二番目の例の timing (total) [例では省略] は mod 計算を subprocess がやっているので正しい値ではない. real time が計算時間の目安になる. @comment --- 参照(リンク)を書く --- @table @t