=================================================================== RCS file: /home/cvs/OpenXM/src/asir-doc/exp/exp-ja.texi,v retrieving revision 1.10 retrieving revision 1.13 diff -u -p -r1.10 -r1.13 --- OpenXM/src/asir-doc/exp/exp-ja.texi 2004/06/27 17:44:55 1.10 +++ OpenXM/src/asir-doc/exp/exp-ja.texi 2004/07/09 02:17:45 1.13 @@ -1,4 +1,4 @@ -%% $OpenXM: OpenXM/src/asir-doc/exp/exp-ja.texi,v 1.9 2004/06/27 10:08:56 takayama Exp $ +%% $OpenXM: OpenXM/src/asir-doc/exp/exp-ja.texi,v 1.12 2004/07/07 02:58:45 takayama Exp $ \input texinfo @iftex @catcode`@#=6 @@ -119,6 +119,8 @@ ChangeLog の項目は www.openxm.org の cvswe * list:: * mapat:: * set_print_function:: +* small_jacobi:: +* flatten_quote:: @end menu @comment --- ◯◯◯◯ 関数 quotetotex, quotetotex_env の説明 ◯◯◯◯ @@ -457,15 +459,15 @@ Sugar strategy を適用するときの weight vector.  dp_gr_main $B$N?7$7$$%$%s%?%U%'!<%9$G$O=g=x$r$"$kJ8K!$K=>$$;XDj$9$k. @comment ~taka/this03/misc-2003/A2/dp @item 順序 order は次の文法で定義する. @{, @} は 0 回以上の繰り返しを意味する. -@verbatim +@example order : '[' orderElement { ',' orderElement } ']' orderElement : weightVec | builtinOrder weightVec : '[' weightElement { ',' weightElement } ']' builtiniOrder : '[' orderName ',' setOfVariables ']' weightElement : NUMBER | setOfVariables ',' NUMBER setOfVariables: V | range(V,V) - orderName : @grlex | @glex | @lex -@end verbatim + orderName : @@grlex | @@glex | @@lex +@end example ここで @code{V} は 変数名, @code{NUMBER} は整数をあわらす. 例1: @code{v=[x,y,z,u,v], order=[[x,10,y,5,z,1],[@@grlex,range(x,v)]]} は @code{x},@code{y},@code{z} がそれぞれ weight 10, 5, 1 をもつ @@ -520,11 +522,6 @@ Gr\"obner Deformations of Hypergeometric Differential [-y^4+y^2-1,x+y^3-y] @end example -@table @t -@item 参照 -@ref{xyz_abc} -@end table - @comment --- ChangeLog を書く. 動機. ソースコードの位置. 変更日時 など CVSサーバを見るため @noindent ChangeLog @@ -1027,6 +1024,119 @@ ChangeLog @itemize @bullet @item この関数は 2001-9-4 に asir-contrib のために導入された. 変更をうけたソースコードは builtin/print.c 1.11 である. +@end itemize + + +@node small_jacobi,,, 実験的仕様の関数 +@subsection @code{small_jacobi} +@findex small_jacobi + +@comment --- 関数の簡単な説明 --- +@table @t +@item small_jacobi(@var{a},@var{m}) +:: Jacobi 記号の計算 +@end table + +@table @var +@item return +整数 +@item arg1, arg2 +整数 +@end table + +@itemize @bullet +@item + @var{m} が素数のときは Legendre 記号とよばれ, + x^2 = @var{a} mod @var{m} に解があるとき 1, 解がないとき -1 をもどす. +@item +Jacobi 記号は Legendre 記号の積で定義される (初等整数論の本参照). +@item + この関数は machine int の範囲で jacobi 記号を計算する. +@end itemize + +@example +[1286] small_jacobi(2,3); +-1 +[1287] small_jacobi(2,7); +1 +@end example + +@table @t +@item 参照 +http://members.jcom.home.ne.jp/yokolabo/asirlib/ +も見てね. +@end table + +@comment --- ChangeLog を書く. 動機. ソースコードの位置. 変更日時 など CVSサーバを見るため +@noindent +ChangeLog +@itemize @bullet +@item この関数の由来は不明. +@end itemize + + +@node quote_flatten,,, 実験的仕様の関数 +@subsection @code{quote_flatten} +@findex quote_flatten + +@comment --- 関数の簡単な説明 --- +@table @t +@item quote_flatten(@var{q},@var{op}) +:: quote の括弧をとりさる. +@end table + +@table @var +@item return +Quote +@item q +Quote +@item op +演算子を表す文字列. +@end table + +@itemize @bullet +@item +Quote 型のデータは木構造をしている +( quotetolist 参照 ). +@code{quote_flatten()} は, @var{q} の中にあられる演算子 @var{op} +の子供ノードを平等にする. +つまり演算子 @var{op} に関する括弧づけがあった場合それをすべてとりさる. +たとえば (1+2)+(3+4) という表現を 1+2+3+4 に変換する. +@item + 現在の実装では n-ary の演算子は定義されていないので, + 1+2+3 は実は (1+2)+3 と表現されている. + つまり + 演算子は左結合的である. +@end itemize + +@example +[1288] flatten_quote(quote((1+2)+(3+4*(x+3))),"+"); +quote(1+2+3+4*(x+3)) +[1289] flatten_quote(quote( (x*y)*(p*3)-(x*y)*z),"*"); +quote(x*y*p*3-x*y*z) +[1290] quotetolist(quote(1+2+3)); +[b_op,+,[b_op,+,[internal,1],[internal,2]],[internal,3]] +@end example + +@table @t +@item 参照 +@ref{quotetolist}, @ref{print_tex_form}(contrib) +@end table + +@comment --- ChangeLog を書く. 動機. ソースコードの位置. 変更日時 など CVSサーバを見るため +@noindent +ChangeLog +@itemize @bullet +@item + この関数は 2004-7-7 から 2004-7-8 にかけて + quote に関する操作を研究するために実験的に書かれた. + OpenXM/fb で蓄積された公式の不要な括弧をとりはずし, tex 形式に変換するのに + 応用. +@item + 変更をうけたソースコードは + builtin/strobj.c 1.47, + parse/eval.c 1.35, + parse/parse.h 1.31, + parse/quote.c 1.14--1.16. @end itemize