version 1.8, 2019/02/14 00:18:40 |
version 1.11, 2019/02/15 05:27:38 |
|
|
%% $OpenXM: OpenXM/src/asir-contrib/packages/doc/gtt_ekn/gtt_ekn-ja.texi,v 1.7 2017/08/31 06:31:45 takayama Exp $ |
%% $OpenXM: OpenXM/src/asir-contrib/packages/doc/gtt_ekn/gtt_ekn-ja.texi,v 1.10 2019/02/14 05:46:51 takayama Exp $ |
%% xetex gtt_ekn.texi (.texi までつける. ) |
%% xetex gtt_ekn.texi (.texi までつける. ) |
%% 以下コメントは @comment で始める. \input texinfo 以降は普通の tex 命令は使えない. |
%% 以下コメントは @comment で始める. \input texinfo 以降は普通の tex 命令は使えない. |
\input texinfo-ja |
\input texinfo-ja |
Line 128 gtt_ekn/test-t1.rr |
|
Line 128 gtt_ekn/test-t1.rr |
|
* gtt_ekn.upAlpha:: |
* gtt_ekn.upAlpha:: |
* gtt_ekn.cmle:: |
* gtt_ekn.cmle:: |
* gtt_ekn.set_debug_level:: |
* gtt_ekn.set_debug_level:: |
|
* gtt_ekn.show_path:: |
|
* gtt_ekn.assert1:: |
|
* gtt_ekn.assert2:: |
|
* gtt_ekn.prob2:: |
@end menu |
@end menu |
|
|
@node 超幾何関数E(k,n),,, 2元分割表HGMの関数 |
@node 超幾何関数E(k,n),,, 2元分割表HGMの関数 |
|
|
@comment --- 個々の関数の説明の開始 --- |
@comment --- 個々の関数の説明の開始 --- |
@comment --- section 名を正確に --- |
@comment --- section 名を正確に --- |
@node gtt_ekn.set_debug_level,,, 超幾何関数E(k,n) |
@node gtt_ekn.set_debug_level,,, 超幾何関数E(k,n) |
@subsection @code{gtt_ekn.set_debug_level} |
@node gtt_ekn.show_path,,, 超幾何関数E(k,n) |
|
@node gtt_ekn.assert1,,, 超幾何関数E(k,n) |
|
@node gtt_ekn.assert2,,, 超幾何関数E(k,n) |
|
@node gtt_ekn.prob1,,, 超幾何関数E(k,n) |
|
@subsection @code{gtt_ekn.set_debug_level}, @code{gtt_ekn.show_path}, @code{gtt_ekn.assert1}, @code{gtt_ekn.assert2}, @code{gtt_ekn.prob1} |
@comment --- 索引用キーワード |
@comment --- 索引用キーワード |
@findex gtt_ekn.set_debug_level |
@findex gtt_ekn.set_debug_level |
|
@findex gtt_ekn.show_path |
|
@findex gtt_ekn.assert1 |
|
@findex gtt_ekn.assert2 |
|
@findex gtt_ekn.prob1 |
|
|
@table @t |
@table @t |
@item gtt_ekn.set_debug_level(@var{m}) debug メッセージのレベルを設定. |
@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 分割表で動作チェック. |
|
@item gtt_ekn.prob1(@var{R1},@var{R2},@var{Size}) R1 x R2 分割表用のテストデータを作る. |
:: |
:: |
@end table |
@end table |
|
|
|
|
@comment --- @bullet は黒点付き --- |
@comment --- @bullet は黒点付き --- |
@itemize @bullet |
@itemize @bullet |
@item (@var{m} & 0x1) == 0x1 の時 g_mat_fac_test_plain と g_mat_fac_itor の両方を呼び出し値を比較する (gtt_ekn.setup した状態で). |
@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} & 0x2) == 0x2 の時 g_mat_fac_test への引数を tmp-input-数.ab として保存. |
@item (@var{m} & 0x4) == 0x4 の時 matrix factorial の計算の呼び出し引数を表示. |
@item (@var{m} & 0x4) == 0x4 の時 matrix factorial の計算の呼び出し引数を表示. |
|
@item @var{N} は問題の周辺和のサイズ. |
@end itemize |
@end itemize |
|
|
@comment --- @example〜@end example は実行例の表示 --- |
@comment --- @example〜@end example は実行例の表示 --- |
|
例. |
@example |
@example |
[2846] gtt_ekn.set_debug_level(0x4); |
[2846] gtt_ekn.set_debug_level(0x4); |
[2847] N=2; T2=gtt_ekn.gmvector([[36*N,13*N-1],[38*N-1,11*N]], |
[2847] N=2; T2=gtt_ekn.gmvector([[36*N,13*N-1],[38*N-1,11*N]], |
Line 901 level&0x4: g_mat_fac_test([ 67/62944040755546030080000 |
|
Line 919 level&0x4: g_mat_fac_test([ 67/62944040755546030080000 |
|
[ 1/125888081511092060160000 ],[ (t+24)/(t^2+25*t+46) (2442)/(t^2+25*t+46) ] |
[ 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) |
[ (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 |
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 をもつパラメーター 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 が計算時間の目安になる. |
|
|
|
例. |
|
@example |
|
[9054] L=gtt_ekn.prob1(3,5,10 | factor=1, factor_row=3); |
|
[[[10,20,420],[30,60,90,120,150]],[[1,1/2,1/3,1/5,1/7],[1,1/11,1/13,1/17,1/19],[1,1,1,1,1]]] |
|
[9055] number_eval(gtt_ekn.expectation(L[0],L[1])); |
|
[ 0.434161208918863 ... snip ] |
@end example |
@end example |
|
|
@comment --- 参照(リンク)を書く --- |
@comment --- 参照(リンク)を書く --- |