=================================================================== RCS file: /home/cvs/OpenXM/src/asir-doc/exp/exp-ja.texi,v retrieving revision 1.25 retrieving revision 1.29 diff -u -p -r1.25 -r1.29 --- OpenXM/src/asir-doc/exp/exp-ja.texi 2008/01/26 00:59:47 1.25 +++ OpenXM/src/asir-doc/exp/exp-ja.texi 2009/02/23 03:41:26 1.29 @@ -1,4 +1,4 @@ -%% $OpenXM: OpenXM/src/asir-doc/exp/exp-ja.texi,v 1.24 2007/08/09 04:46:44 takayama Exp $ +%% $OpenXM: OpenXM/src/asir-doc/exp/exp-ja.texi,v 1.28 2008/11/19 03:25:38 ohara Exp $ \input texinfo @iftex @catcode`@#=6 @@ -121,6 +121,8 @@ ChangeLog の項目は www.openxm.org の cvswe * set_print_function:: * small_jacobi:: * flatten_quote:: +* printf:: +* fprintf:: * sprintf:: * quote_to_funargs:: * funargs_to_quote:: @@ -142,8 +144,12 @@ ChangeLog の項目は www.openxm.org の cvswe * qt_rewrite:: * asirgui.hnd:: * noro_matrix.rr: -* fres:: +* f_res:: +* chdir:: +* pwd:: +* dcurrenttime:: + @end menu @comment --- ◯◯◯◯ 関数 quotetotex, quotetotex_env の説明 ◯◯◯◯ @@ -1223,39 +1229,60 @@ ChangeLog @node sprintf,,, 実験的仕様の関数 -@subsection @code{sprintf} +@subsection @code{printf}, @code{fprintf}, @code{sprintf} @findex sprintf @table @t +@item printf(@var{format}[,@var{args}]) +@item fprintf(@var{fd},@var{format}[,@var{args}]) @item sprintf(@var{format}[,@var{args}]) :: C に似たプリント関数 @end table @table @var @item return -文字列 +整数(printf,fprintf), 文字列(sprintf) @item format 文字列 +@item fd +非負整数(ファイル記述子) @item args オブジェクト @end table @itemize @bullet @item -フォーマット文字列 @var{format } にしたがい @var{args} を文字列に変換する. +@code{printf} は書式文字列 @var{format } にしたがい, オブジェクト @var{args} を標準出力に書き出す. @item -フォーマット文字列の中に @code{%a} (any) が利用可能. -@var{args} の個数はフォーマット文字列の中の @code{%a} の個数に等しくすること. +@code{fprintf} は結果を, ファイル記述子 @var{fd} の指すファイルに書き出す. +@item +@code{sprintf} は結果を文字列で返し, 標準出力には書き出さない. +@item +書式文字列の中で @code{%a} (any) が利用可能. +@var{args} の個数は書式文字列の中の @code{%a} の個数に等しくすること. +@item +ファイル記述子は, @code{open_file} 関数を用いて得ること. @end itemize @example -[0] sprintf("%a: rat = %a",10,x^2-1); - 10: rat = x^2-1 +[0] printf("%a: rat = %a\n",10,x^2-1)$ +10: rat = x^2-1 +[1] S=sprintf("%a: rat = %a",20,x^2-1)$ +[2] S; +20: rat = x^2-1 +[3] Fd=open_file("hoge.txt","w"); +0 +[4] fprintf(Fd,"Poly=%a\n",(x-1)^3)$ +[5] close_file(Fd)$ +[6] quit; + +$ cat hoge.txt +Poly=x^3-3*x^2+3*x-1 @end example @table @t @item 参照 -@ref{rtostr} +@ref{rtostr},@ref{open_file},@ref{close_file} @end table @comment --- ChangeLog を書く. 動機. ソースコードの位置. 変更日時 など CVSサーバを見るため @@ -1264,9 +1291,15 @@ ChangeLog ChangeLog @itemize @bullet @item - この関数は 2004-7-13 にコミットされた. + 関数 sprintfは 2004-7-13 にコミットされた. 変更をうけたソースコードは builtin/strobj (1.50) である. @item + 関数 printfは 2007-11-8 にコミットされた. + 変更をうけたソースコードは builtin/print.c (1.23) である. +@item + 関数 fprintfは 2008-11-18 にコミットされた. + 変更をうけたソースコードは builtin/file.c (1.25) である. +@item @code{%a} は Maple の sprintf の真似か. @end itemize @@ -2321,18 +2354,18 @@ ChangeLog @end itemize -@node fres,,, 実験的仕様の関数 -@subsection @code{fres} -@findex fres +@node f_res,,, 実験的仕様の関数 +@subsection @code{f_res} +@findex f_res @comment --- 関数の簡単な説明 --- @table @t -@item fres +@item f_res @end table @itemize @bullet -@item fres は各種の終結式を計算するモジュールである. ox_grep("fres"); で online manual を閲覧可能である. +@item f_res は各種の終結式を計算するモジュールである. ox_grep("f_res"); で online manual を閲覧可能である. @end itemize @table @t @@ -2346,8 +2379,315 @@ ChangeLog ChangeLog @itemize @bullet @item このモジュールは Fujiwara 君の修士論文が元になり, それを改造したものである. -@item OpenXM/src/ox_fres +@item OpenXM/src/ox_cdd, OpenXM/src/asir-contrib/packages/src/f_res.rr @end itemize + + +@node chdir,,, 実験的仕様の関数 +@subsection @code{chdir}, @code{pwd} +@findex chdir +@findex pwd + +@comment --- ディレクトリ操作 --- +@table @t +@item chdir(@var{directory}) +@item pwd() +:: シェルコマンド cd と pwd に対応する操作. +@end table + +@table @var +@item return +文字列(@code{pwd}), 整数(@code{chdir}) +@item dirctory +文字列 +@end table + +@itemize @bullet +@item +@code{pwd} はカレントディレクトリを文字列で返す. +@item +@code{chdir} はカレントディレクトリを @var{directory} に変更する. 成功すれば 0 を失敗すれば -1 を返す. +@item +これらの関数は UNIX 版にのみ実装されている. +@end itemize + +@example +[0] S=pwd(); +/home/ohara +[1] chdir(".../taka"); +-1 +[2] chdir("/usr/bin"); +0 +@end example + +@comment --- ChangeLog を書く. 動機. ソースコードの位置. 変更日時 など CVSサーバを見るため +@comment --- openxm の外部からの寄与も述べる. Credit. +@noindent +ChangeLog +@itemize @bullet +@item +これらの関数は 2008-8-27 にコミットされた. +変更をうけたソースコードは builtin/miscf.c (1.27) である. +@end itemize + + +@node dcurrenttime,,, 実験的仕様の関数 +@subsection @code{dcurrenttime} +@findex dcurrenttime + +@comment --- 現在時刻を取得 --- +@table @t +@item dcurrenttime() +:: 現在時刻を取得. +@end table + +@table @var +@item return +浮動小数点数 +@end table + +@itemize @bullet +@item +返り値は1970年1月1日0時0分0秒からの経過秒数である. +@end itemize + +@example +[0] ctrl("real_digit", 16); +16 +[1] dcurrenttime(); +1226390851.34476 +[2] currenttime(); +1226390854 +@end example + +@table @t +@item 参照 +@ref{currenttime} +@end table + +@comment --- ChangeLog を書く. 動機. ソースコードの位置. 変更日時 など CVSサーバを見るため +@comment --- openxm の外部からの寄与も述べる. Credit. +@noindent +ChangeLog +@itemize @bullet +@item +この関数は 2008-9-12 にコミットされた. +変更をうけたソースコードは builtin/time.c (1.6) である. +@end itemize + +@node nk_restriction.restriction,,, 実験的仕様の関数 +@subsection @code{nk_restriction.restriction} +@comment --- 索引用キーワード +@findex nk_restriction.restriction + +@comment --- 関数の簡単な説明 --- +@table @t +@item nk_restriction.restriction(@var{Id}, @var{VL}, @var{DVL}, @var{W}) +:: ホロノミック D イデアル @var{Id} を重みベクトル @var{W} についての制限加群を返す。 +@end table + +@comment --- 引数の簡単な説明 --- +@table @var +@item Id +イデアルの生成元のリスト +@item VL +変数のリスト +@item DVL +変数のリスト(@var{VL} に対応する微分作用素の方の変数) +@item W +重みベクトルを表すリスト +@end table + +@itemize @bullet +@item +@var{W} の要素は非負整数で、0 番目の要素から連続して正の整数が入らなければならない。 +(すなわち、@code{[1,1,0,0,0]} は OK だが、 @code{[1,0,1,0,0]} はダメ) +@item +正の重みを持つ変数についての制限を行う。 +例えば、@var{VL} @code{=[x,y,z]}, @var{W} @code{=[1,1,0]} であれば +x,y について制限を行う。 +@end itemize + +以下は、イデアル +@tex +$I = D \cdot \{x \partial_x -1, y \partial_y - 1\} $ +@end tex +の +@tex $x$ @end tex +についての制限加群を計算した例である。 +@example +[1432] nk_restriction.restriction([x*dx-1,y*dy-1],[x,y],[dx,dy],[1,0]); +-- generic_bfct_and_gr :0.001sec(0.001629sec) +generic bfct : [[1,1],[s-1,1]] +S0 : 1 +B_{S0} length : 2 +-- fctr(BF) + base :0.000999sec(0.0005109sec) +[[y*dy-1,(y*dy-1)*dx,-1],[[1],[0]]] +[1433] +@end example + +@node nk_restriction.restriction_ideal,,, D 加群の制限に関する関数 +@subsection @code{nk_restriction.restriction_ideal} +@comment --- 索引用キーワード +@findex nk_restriction.restriction_ideal + +@comment --- 関数の簡単な説明 --- +@table @t +@item nk_restriction.restriction_ideal(@var{Id}, @var{VL}, @var{DVL}, @var{W}) +:: ホロノミック D イデアル @var{Id} を重みベクトル @var{W} についての制限イデアルを返す。 +@end table + +@comment --- 引数の簡単な説明 --- +@table @var +@item Id +イデアルの生成元のリスト +@item VL +変数のリスト +@item DVL +変数のリスト(@var{VL} に対応する微分作用素の方の変数) +@item W +重みベクトルを表すリスト +@end table + +@itemize @bullet +@item +@var{W} の要素は非負整数で、0 番目の要素から連続して正の整数が入らなければならない。 +(すなわち、@code{[1,1,0,0,0]} は OK だが、 @code{[1,0,1,0,0]} はダメ) +@item +正の重みを持つ変数についての制限を行う。 +例えば、@var{VL} @code{=[x,y,z]}, @var{W} @code{=[1,1,0]} であれば +x,y について制限を行う。 +@end itemize + +以下は、イデアル +@tex +$I = D \cdot \{x \partial_x -1, y \partial_y - 1\} $ +@end tex +の +@tex $x$ @end tex +についての制限イデアルを計算した例である。 +@example +[1346] nk_restriction.restriction_ideal([x*dx-1,y*dy-1],[x,y],[dx,dy],[1,0]); +-- generic_bfct_and_gr :0.002sec(0.001652sec) +generic bfct : [[1,1],[s-1,1]] +S0 : 1 +B_{S0} length : 2 +-- fctr(BF) + base :0sec(0.000566sec) +-- restriction_ideal_internal :0.001sec(0.0007441sec) +[-1] +[1347] +@end example + +@node nk_restriction.integration,,, 実験的仕様の関数 +@subsection @code{nk_restriction.integration} +@comment --- 索引用キーワード +@findex nk_restriction.integration + +@comment --- 関数の簡単な説明 --- +@table @t +@item nk_restriction.integration(@var{Id}, @var{VL}, @var{DVL}, @var{W}) +:: ホロノミック D イデアル @var{Id} を重みベクトル @var{W} についての積分加群を返す。 +@end table + +@comment --- 引数の簡単な説明 --- +@table @var +@item Id +イデアルの生成元のリスト +@item VL +変数のリスト +@item DVL +変数のリスト(@var{VL} に対応する微分作用素の方の変数) +@item W +重みベクトルを表すリスト +@end table + +@comment --- ここで関数の詳しい説明 --- +@comment --- @itemize〜@end itemize は箇条書き --- +@comment --- @bullet は黒点付き --- +@itemize @bullet +@item +@var{W} の要素は非負整数で、0 番目の要素から連続して正の整数が入らなければならない。 +(すなわち、@code{[1,1,0,0,0]} は OK だが、 @code{[1,0,1,0,0]} はダメ) +@item +正の重みを持つ変数についての積分を行う。 +例えば、@var{VL} @code{=[x,y,z]}, @var{W} @code{=[1,1,0]} であれば +x,y について積分を行う。 +@end itemize + +以下は、イデアル +@tex +$I = D \cdot \{2 t \partial_x + \partial_t, t \partial_t + 2 x \partial_x + 2\} $ +@end tex +の +@tex $t$ @end tex +についての積分イデアルを計算した例である。([SST, Ex5.5.2, Ex5.5.6]) +@example +[1351] nk_restriction.integration([2*t*dx+dt,2*x*dx+t*dt+2],[t,x], +[dt,dx],[1,0]); +-- generic_bfct_and_gr :0.001sec(0.001796sec) +generic bfct : [[1,1],[s,1],[s-1,1]] +S0 : 1 +B_{S0} length : 2 +-- fctr(BF) + base :0.001sec(0.0006731sec) +[[4*x*dx^2+6*dx,-4*t*x*dx^2-6*t*dx,2*x*dx+1,-2*t*x*dx,2*t*dx],[[1],[0]]] +@end example + +@node nk_restriction.integration_ideal,,, 実験的仕様の関数 +@subsection @code{nk_restriction.integration_ideal} +@comment --- 索引用キーワード +@findex nk_restriction.integration_ideal + +@comment --- 関数の簡単な説明 --- +@table @t +@item nk_restriction.integration_ideal(@var{Id}, @var{VL}, @var{DVL}, @var{W}) +:: ホロノミック D イデアル @var{Id} を重みベクトル @var{W} についての積分イデアルを返す。 +@end table + +@comment --- 引数の簡単な説明 --- +@table @var +@item Id +イデアルの生成元のリスト +@item VL +変数のリスト +@item DVL +変数のリスト(@var{VL} に対応する微分作用素の方の変数) +@item W +重みベクトルを表すリスト +@end table + +@comment --- ここで関数の詳しい説明 --- +@comment --- @itemize〜@end itemize は箇条書き --- +@comment --- @bullet は黒点付き --- +@itemize @bullet +@item +@var{W} の要素は非負整数で、0 番目の要素から連続して正の整数が入らなければならない。 +(すなわち、@code{[1,1,0,0,0]} は OK だが、 @code{[1,0,1,0,0]} はダメ) +@item +正の重みを持つ変数についての積分を行う。 +例えば、@var{VL} @code{=[x,y,z]}, @var{W} @code{=[1,1,0]} であれば +x,y について積分を行う。 +@end itemize + +以下は、イデアル +@tex +$I = D \cdot \{2 t \partial_x + \partial_t, t \partial_t + 2 x \partial_x + 2\} $ +@end tex +の +@tex $t$ @end tex +についての積分イデアルを計算した例である。([SST, Ex5.5.2, Ex5.5.6]) +@example +[1431] nk_restriction.integration_ideal([2*t*dx+dt,t*dt+2*x*dx+2],[t,x], +[dt,dx],[1,0]); +-- generic_bfct_and_gr :0.002999sec(0.002623sec) +generic bfct : [[1,1],[s,1],[s-1,1]] +S0 : 1 +B_{S0} length : 2 +-- fctr(BF) + base :0.001sec(0.001091sec) +-- integration_ideal_internal :0.002sec(0.001879sec) +[2*x*dx+1] +[1432] +@end example + @comment ----------- 以下は見本. 消すな.