=================================================================== RCS file: /home/cvs/OpenXM/src/asir-doc/exp/exp-ja.texi,v retrieving revision 1.2 retrieving revision 1.56 diff -u -p -r1.2 -r1.56 --- OpenXM/src/asir-doc/exp/exp-ja.texi 2004/03/17 09:25:02 1.2 +++ OpenXM/src/asir-doc/exp/exp-ja.texi 2018/03/28 07:44:06 1.56 @@ -1,5 +1,5 @@ -%% $OpenXM: OpenXM/src/asir-doc/exp/exp-ja.texi,v 1.1 2004/03/17 07:48:31 takayama Exp $ -\input texinfo +%% $OpenXM: OpenXM/src/asir-doc/exp/exp-ja.texi,v 1.55 2018/03/27 02:58:46 takayama Exp $ +\input texinfo-ja @iftex @catcode`@#=6 @def@fref#1{@xrefX[#1,,@code{#1},,,]} @@ -38,13 +38,13 @@ @title $B$r@53N$K(B. $B?F$,$J$$>l9g$O(B Top --- -@node $B$r@53N$KJB$Y$k(B. --- -@menu -* $B$J$I$NI=<((B --- - $B$3$N@bL@=q$G$O(B @b{Asir} $B$KF3F~$5$l$?pJs$,=q$+$l$F$$$k(B. -@comment --- section ``$B$r@53N$K(B --- -@node quotetotex quotetotex_env,,, $B$rHyJ,:nMQAG$H8+$J$7$F=hM}$9$k$+(B, +2$B%S%C%HL\$O(B d $B$+$i;O$^$kJQ?tL>$rHyJ,:nMQAG$H$_$J$7$F=hM}$9$k$+(B, $B$r0UL#$9$k(B. $B$?$H$($P(B conv_rule $B$H$7$F(B 3 $B$r;XDj$9$k$H(B, 0$B%S%C%HL\(B, 1 $B%S%C%HL\$,(B 1 $B$H$J$k$N$G(B @@ -161,31 +194,46 @@ symbol_table $B$K$h$kJQ49$r9T$$(B, $BE:;zJQ49$r$*$3 symbol_table $B$K$h$kJQ49$,:G=i$KE,MQ$5$l$k(B. alpha, beta, $BEy$O<+F0E*$r%.%j%7%cJ8;z$KJQ49$9$k%F!<%V%k$O(B $BFbB"$:$_(B. -@item -dp_vars_prefix: $BJ,;6I=8=B?9`<0$O(B -@tex -$x_0, x_1, \cdots$ -@end tex -$B$NB?9`<0$H$7$FI=8=$5$l$k$,$3$N(B -x $B$NItJ,$rJQ99$9$k(B. @item + dp_vars_prefix: $BJ,;6I=8=B?9`<0$O(B + @iftex + @tex + $x_0, x_1, \cdots$ + @end tex + @end iftex + @ifinfo + x0, x1, ... + @end ifinfo + $B$NB?9`<0$H$7$F(B latex $B7A<0$KJQ49$5$l$k$,$3$N(B + x $B$NItJ,$rJQ99$9$k(B. +@item + dp_vars_origin: $B%$%s%G%C%/%9$N;O$^$j$NCM$r;XDj$9$k(B. + $B%G%U%)!<%k%H$O(B 0. +@item dp_vars_hweyl: $BJ,;6I=8=B?9`<0$r%o%$%kBe?t$N85$H$_$J$7$F(B -tex $B$KJQ49$9$k(B. -$B6v?t8DJQ?t$,$"$k$H$-$O(B $B:G=i$NH>J,$r(B -@tex +latex $B7A<0$KJQ49$9$k(B. +$B6v?t8DJQ?t$,$"$k$H$-$O(B $B:G=i$NH>J,$r(B +@iftex +@tex $x_0, x_1, \cdots$ -@end tex -$B$K(B -$B8eH>$NH>J,$r(B -@tex +@end tex +$B$K8eH>$NH>J,$r(B +@tex $\partial_0, \partial_1, \cdots$ -@end tex +@end tex +@end iftex +@ifinfo +x0, x1, ... $B$K8eH>$NH>J,$r(B dx0, dx1, ... +@end ifinfo $B$KJQ49$9$k(B. $B4q?t8D$N>l9g$O:G8e$NJQ?t$,F1;~2=JQ?t$H$7$F(B h $B$GI=<($5$l$k(B. -@item +@item + dp_dvars_prefix: dp_vars_hweyl $B$,(B 1 $B$N;~$K8eH>ItJ,$N(B prefix $B$r;XDj$9$k(B. + $B%G%U%)!<%k%H$O(B @tex $\partial$ @end tex +@item + dp_dvars_origin: dp_vars_hweyl $B$,(B 1 $B$N;~$N%$%s%G%C%/%9$N;O$^$j$NCM(B. +@item conv_func: $B%f!<%6Dj5A$NJQ494X?t$r$h$V(B. -@item - @end itemize @comment --- @example$B!A(B@end example $B$OH(B @ref{objtoquote} +print_tex_form(contrib) @end table @comment --- ChangeLog $B$r=q$/(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B @noindent ChangeLog @itemize @bullet -@item $B$3$N4X?t$O(B 2004$BG/(B2$B7nKv$+$i(B3$B7n$K$+$1$F(B asir $B$r(B texmacs $B$KBP1~$5$;$k$?$a$K(B -$B=q$+$l$?(B. Asir-contrib $B$N(B print_tex_form $B$,$=$N867?$G$"$j(B, $B$=$l$r8zN(2=$7$^$?(B -$B=PNO7A<0$r2~A1$7$?(B. -@item $B4XO"$9$k%=!<%9(B. +@item + $B$3$N4X?t$O(B 2004$BG/(B2$B7nKv$+$i(B3$B7n$K$+$1$F(B asir $B$r(B + knoppix $BHG(B texmacs $B$KBP1~$5$;$k$?$a$K=q$+$l$?(B. + Asir-contrib $B$N(B print_tex_form $B$,$=$N867?$G$"$j(B, $B$=$l$r8zN(2=$7$^$?(B + $B=PNO7A<0$r2~A1$7$?(B. + OpenXM/src/kxx/ox_texmacs.c, OpenXM/src/texmacs $B$b;2>H(B. +@item + OpenXM/src/asir-contrib/packages/src/noro_print.rr 1.1--1.8, + noro_print_default.rr 1.1--1.3 $B$b;2>H(B. +@item + $BJQ99$rH(B +@ref{quotetotex} @ref{quotetolist} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@noindent +ChangeLog +@itemize @bullet +@item $B$3$N4X?t$O(B quotetotex $B$NA0=hM}$r$9$k$?$a$K=q$+$l$?(B. +@item asir-contrib $B$N4X?t(B quote_to_quote $B$b;2>H(B. +@item OpenXM_contrib2/asir2000/builtin/print.c 1.16. +@end itemize + + +@node flatten_quote,,, $B%/%*!<%H(B +@subsection @code{flatten_quote} +@findex flatten_quote + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@table @t +@item flatten_quote(@var{q},@var{op}) +:: quote $B$N3g8L$r$H$j$5$k(B. +@end table + +@table @var +@item return +Quote +@item q +Quote +@item op +$B1i;;;R$rI=$9J8;zNs(B. +@end table + +@itemize @bullet +@item +Quote $B7?$N%G!<%?$OLZ9=B$$r$7$F$$$k(B +( quotetolist $B;2>H(B ). +@code{quote_flatten()} $B$O(B, @var{q} $B$NCf$K$"$i$l$k1i;;;R(B @var{op} +$B$N;R6!%N!<%I$rJ?Ey$K$9$k(B. +$B$D$^$j1i;;;R(B @var{op} $B$K4X$9$k3g8L$E$1$,$"$C$?>l9g$=$l$r$9$Y$F$H$j$5$k(B. +$B$?$H$($P(B (1+2)+(3+4) $B$H$$$&I=8=$r(B 1+2+3+4 $B$KJQ49$9$k(B. +@item + $B8=:_$NA0$O(B quote_flatten $B$G$J$/(B flatten_quote $B$G$"$k(B. +@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 $B;2>H(B +@ref{quotetolist}, @ref{print_tex_form}(contrib) +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@noindent +ChangeLog +@itemize @bullet +@item + $B$3$N4X?t$O(B 2004-7-7 $B$+$i(B 2004-7-8 $B$K$+$1$F(B + quote $B$K4X$9$kA`:n$r8&5f$9$k$?$a$Ke$N4X?t$rMQ$$$F=q$+$l$?M>J,$J3g8L$rpJs$rA0$G$"$j(B, +$B4X?t(B @code{get_function_name} $B$rMQ$$$F?M4V$,FI$a$k7A<0(B +$B$GA0(B@code{get_function_name} $B$O$=$N$&$AJQ99$5$l$k$@$m$&(B. +@item + $B2<$NNc$G(B + quote_to_funargs(FA[2]); +[34,[b_op,+,[internal,x],[internal,1]]] +$B$H$J$k(B. +34 $B$O(B @code{I_PAREN} $B$r0UL#$9$k(B. +$B?t$H0UL#$NBP1~I=$O(B @code{OpenXM/src/asir-contrib/packages/src/noro_simplify.rr} +$B$^$?$O(B @code{OpenXM_contrib2/asir2000/parse/parse.h} $B$r8+$h(B. +$B0J2<$N(B fid $B$,(B 0, 1, 2, ... $B$KBP1~$E$1$i$l$F$$$k(B. + I_BOP, I_COP, I_AND, I_OR, I_NOT, I_CE, + I_PRESELF, I_POSTSELF, + I_FUNC, I_FUNC_OPT, I_IFUNC, I_MAP, I_RECMAP, I_PFDERIV, + I_ANS, I_PVAR, I_ASSPVAR, + I_FORMULA, I_LIST, I_STR, I_NEWCOMP, I_CAR, I_CDR, I_CAST, + I_INDEX, I_EV, I_TIMER, I_GF2NGEN, I_GFPNGEN, I_GFSNGEN, + I_LOP, I_OPT, I_GETOPT, I_POINT, I_PAREN, I_MINUS, + I_NARYOP +@end itemize + +$B, + [u_op,(),[b_op,+,[internal,x],[internal,1]]], + [u_op,(),[b_op,+,[internal,x],[internal,2]]]] + +[3] FA2=quote_to_funargs(FA[2])[1]; +[b_op,+,[internal,x],[internal,1]] + +[4] FA3=quote_to_funargs(FA[3])[1]; +[b_op,+,[internal,x],[internal,2]] + +[5] funargs_to_quote([FA[0],FA[1],FA2,FA3]); +[b_op,+,[b_op,+,[internal,x],[internal,1]], + [b_op,+,[internal,x],[internal,2]]] +@end example + +$B,<...quoted...>,<...quoted...>] +[1185] T=quote_to_funargs(quote(1+2)); +[0,<...quoted...>,<...quoted...>,<...quoted...>] +[1186] funargs_to_quote([0,R[1],R[2],T[2]]); +quote(a+1) +@end example + +@table @t +@item $B;2>H(B +@ref{quotetolist} +@end table + + +@noindent +ChangeLog +@itemize @bullet +@item + $B$3$l$i$N4X?t$O(B 2004-7-8 $B$+$i3+H/$N$O$8$^$C$F$$$k(B quote $B$N(B simplification $B4XO"(B + $B$NH(B). +@item parse/quote.c $B$N(B strcut fid_spec fid_spec_tab[] +$B$NItJ,$K=q$$$F$"$k7A<0$K(B @code{funargs_to_quote} $B$OJQ49$9$k(B. +@end itemize + + +@node eval_quote,,, $B%/%*!<%H(B +@subsection @code{eval_quote} +@findex eval_quote + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@comment --- @itemx $B$OJ#?t$KBP$7$F@bL@$r0l$D$D$1$k>l9g$K;H$&(B --- +@table @t +@item eval_quote(@var{Q}); +:: quote $B7?%G!<%?(B @var{Q} $B$r(B asir $B$N%*%V%8%'%/%H$KJQ49$9$k(B. +@end table + +@table @var +@item return +$B%*%V%8%'%/%H(B +@item Q +quote$B7?(B +@end table + +@itemize @bullet +@item quote $B7?%G!<%?(B @var{Q} $B$r(B asir $B$N%*%V%8%'%/%H$KJQ49$9$k(B. +@item $B5U4X?t$O(B @code{objtoquote} +@end itemize + +@example +ctrl("print_quote",2); +A=quote((x-1)^2+(x-1)+3); + $B=PNO(B: ((((x)-(1))^(2))+((x)-(1)))+(3) +eval_quote(A); + $B=PNO(B: x^2-x+3 +print_input_form(A); /* asir-contrib */ + $B=PNO(B: quote((x-1)^2+(x-1)+3) +@end example + +@table @t +@item $B;2>H(B +@ref{objtoquote}, @ref{quotetolist}, @ref{eval_string}, +@ref{quote_to_funargs}, @ref{funargs_to_quote} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item -----$B$^$@=q$$$F$J$$(B. +@end itemize + + +@node nqt_match,,, $B%/%*!<%H(B +@subsection @code{nqt_match} +@findex nqt_match + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@comment --- @itemx $B$OJ#?t$KBP$7$F@bL@$r0l$D$D$1$k>l9g$K;H$&(B --- +@table @t +@item nqt_match(@var{Expr},@var{Pattern}[,@var{Mode}]) +:: @var{Expr} $B$,(B @var{Pattern} $B$K%^%C%A(B($BE,9g(B)$B$9$k$H(B 1 $B$rLa$9(B. $B$7$J$$$H(B 0 $B$rLa$9(B. +@end table + +@table @var +@item return +$B@0?t(B +@item Expr +quote$B7?(B +@item Pattern +quote$B7?(B +@item Mode +$B@0?t(B +@end table + +@itemize @bullet +@item @var{Expr} $B$,(B @var{Pattern} $B$K%^%C%A(B($BE,9g(B)$B$9$k$H(B 1 $B$rLa$9(B. $B$7$J$$$H(B 0 $B$rLa$9(B. +@item $BE,9g$7$?>l9g(B, $BI{:nMQ$H$7$F(B, @var{Pattern} $B$K4^$^$l$k%W%m%0%i%`JQ?t(B($BBgJ8;z$G$O$8$^$kJQ?t(B)$B$KE,9g$7$?CM$,BeF~$5$l$k(B. +@item nqt $B$O(B normalized quote $B$NN,$G$"$j(B fnode$BI8=`7A$KJQ49$7$F$+$iE,9g8!::$r$9$k(B. fnode$BI8=`7A$K$D$$$F$O(B @ref{qt_normalize} $B$r8+$h(B. +@item @var{Mode} $B$K$h$jE83+J}K!$r;XDj$7(B, $B$=$NE83+J}K!$K$h$jF@$i$l$?(B @var{Expr} $B$N(B +fnode$BI8=`7A$H(B @var{Pattern} $B$rHf3S$9$k(B. +@end itemize + +@example +ctrl("print_quote",2); +A=quote((x-y)*(x+y)); +nqt_match(A,quote(P*Q)); +[P,Q] + $B=PNO(B: [x-y, x+y] +nqt_match(A,quote(P*Q),1); + $B%^%C%A$7$J$$(B. +nqt_match(A,quote(P*Q),2); + $B%^%C%A$7$J$$(B. +qt_normalize(A,1); + $B=PNO(B: ((x)^(2))+((x)*(y))+((-1)*((y)^(2)))+((-1)*(y)*(x)) +qt_normalize(A,2); + $B=PNO(B: ((x)*(x))+((x)*(y))+((-1)*(y)*(x))+((-1)*(y)*(y)) +@end example + +@table @t +@item $B;2>H(B +@ref{nqt_match_rewrite}, +@ref{qt_rewrite} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item ----- $B$^$@=q$$$F$J$$(B. +@end itemize + + +@node nqt_match_rewrite,,, $B%/%*!<%H(B +@subsection @code{nqt_match_rewrite} +@findex nqt_match_rewrite + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@comment --- @itemx $B$OJ#?t$KBP$7$F@bL@$r0l$D$D$1$k>l9g$K;H$&(B --- +@table @t +@item nqt_match_rewrite(@var{Expr},@var{Rule},@var{Mode}) +:: @var{Expr} $B$r(B @var{Rule} $B$K=>$$=q$-49$($k(B. +@end table + +@table @var +@item return +quote$B7?(B +@item Expr +quote$B7?(B +@item Rule +[@var{Pattern},@var{Action}] $B$+$^$?$O(B +[@var{Pattern},@var{Condition},@var{Action}]. +$B$3$l$i$NMWAG$O$9$Y$F(B quote$B7?(B. +@item Mode +$B@0?t(B +@end table + +@itemize @bullet +@item @var{Expr} $B$r(B @var{Rule} $B$K=>$$=q$-49$($k(B. @var{Pattern} $B$KE,9g$7$J$$>l9g$O(B +@var{Exprt} $B<+BN$rLa$9(B. +@item nqt $B$O(B normalized quote $B$NN,$G$"$j(B fnode$BI8=`7A$KJQ49$7$F$+$iE,9g8!::$r$9$k(B. fnode$BI8=`7A$K$D$$$F$O(B @ref{qt_normalize} $B$r8+$h(B. +@end itemize + +@comment %%Doc: cfep/tests/2006-03-12-qt.rr +@example +ctrl("print_quote",2); +nqt_match_rewrite(`x*y*z,[`X*Y,`X+Y],1); + $B=PNO(B: (x)+((y)*(z)) +A=`x*x; +nqt_match_rewrite(A,[`X*Y,`X+Y],1); + $B=PNO(B: x^2 ($B%^%C%A$7$F$$$J$$(B) +nqt_match_rewrite(A,[`X*Y,`X+Y],2); + $B=PNO(B: 2*x + +$BE,9g$K$D$$$F$N%b!<%I$N0c$$$rM}2r$9$k$?$a$KH(B. +quotetolist(qt_normalize(`x*x,0)); + $B=PNO(B: [b_op,^,[internal,x],[internal,2]] +quotetolist(qt_normalize(`x*x,1)); + $B=PNO(B: [b_op,^,[internal,x],[internal,2]] +quotetolist(qt_normalize(`x*x,2)); + $B=PNO(B: [n_op,*,[internal,x],[internal,x]] +@end example + +@table @t +@item $B;2>H(B +@ref{nqt_match}, +@ref{qt_rewrite}, +@ref{qt_normalize} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item -----$B$^$@=q$$$F$J$$(B. +@end itemize + + + +@node qt_normalize,,, $B%/%*!<%H(B +@subsection @code{qt_normalize} +@findex qt_normalize + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@comment --- @itemx $B$OJ#?t$KBP$7$F@bL@$r0l$D$D$1$k>l9g$K;H$&(B --- +@table @t +@item qt_normalize(@var{Expr}[,@var{Mode}]) +:: @var{Expr} $B$r(B fnode$BI8=`7A$KJQ49$9$k(B. @var{Mode}$B$K$h$jI8=`7A$X$NE83+%"%k%4%j%:%`$r;XDj$G$-$k(B. +@end table + +@table @var +@item return +quote$B7?(B +@item Expr +quote$B7?(B +@item Mode +$B@0?t(B +@end table + +fnode$B$O(B quote$B7?$NhItJ,$NI8=`7A(B + formula = Risa object +@end example + + +@itemize @bullet +@item @var{Expr} $B$r(B fnode$BI8=`7A$KJQ49$9$k(B. @var{Mode}$B$K$h$jI8=`7A$X$NE83+%"%k%4%j%:%`$r;XDj$G$-$k(B. +@item $BE83+$O:F5"E*$G$"$k(B. +@item $BF~NO$,(B fnode $B$KJQ49$5$l$?=i4|>uBV$G$O(B + $B$d(B * $B$O;R6!$,(B2$B?M$N(B binary operator +(b_op) $B$G$"$k$,(B, qt_normalize $B$r:nMQ$5$;$k$3$H$K$h$j(B, + $B$d(B * $B$OG$0U?M?t$N(B +$B;R6!$r;}$F$k(B n-ary operator $B$KJQ49$5$l$k(B. +@item n-ary operator $B$r4pAC$H$7$?(B fnode$BI8=`7A$rMQ$$$k$3$H$K$h$j(B, $B%Q%?!<%s%^%C%AMQ$N%Q%?!<%s$N?t$r8:$i$;$k$3$H$,7P83E*$K$o$+$C$F$$$k(B. +@item @var{Mode}=0. $BE83+$7$J$$(B. $B$3$l$,4{Dj$NF0:n(B. +@item @var{Mode}=1. $BE83+$9$k(B. $B$?$@$7(B x*x $BEy$r(B x^2 $BEy$KJQ49(B +@item @var{Mode}=2. $BE83+$9$k(B. $B$?$@$7(B x*x $BEy$r(B x^2 $BEy$KJQ49$7$J$$(B. +@end itemize + +@var{Mode} $B$N0c$$$K$D$$$F$O0J2<$NNc$b;29M$K(B. +@comment %%cfep/tests/2006-03-12-qt.rr +@example +ctrl("print_quote",2); +A=quote((x-y)*(x+y)); + $B=PNO(B: ((x)-(y))*((x)+(y)) +B=qt_normalize(A,0); + $B=PNO(B: ((x)+((-1)*(y)))*((x)+(y)) Mode=0. $BE83+$O$5$l$J$$(B. +, * $B$O(B n_op (nary-op) $B$X(B. +quotetolist(B); + $B=PNO(B: [n_op,*,[n_op,+,[internal,x],[n_op,*,[internal,-1],[internal,y]]],[n_op,+,[internal,x],[internal,y]]] + +B=qt_normalize(A,1); + $B=PNO(B: ((x)^(2))+((x)*(y))+((-1)*((y)^(2)))+((-1)*(y)*(x)) + Mode=1. $BE83+$9$k(B. +, * $B$O(B n_op (nary-op) $B$X(B. $B6R$r$^$H$a$k(B. +quotetolist(B); + $B=PNO(B: [n_op,+,[b_op,^,[internal,x],[internal,2]],[n_op,*,[internal,x],[internal,y]],[n_op,*,[internal,-1],[b_op,^,[internal,y],[internal,2]]],[n_op,*,[internal,-1],[internal,y],[internal,x]]] + +qt_normalize(A,2); + $B=PNO(B: ((x)*(x))+((x)*(y))+((-1)*(y)*(x))+((-1)*(y)*(y)) + Mode=2. $BE83+$9$k(B. +, * $B$O(B n_op (nary-op) $B$X(B. $B6R$O;H$o$J$$(B. +quotetolist(B); + $B=PNO(B: [n_op,+,[b_op,^,[internal,x],[internal,2]],[n_op,*,[internal,x],[internal,y]],[n_op,*,[internal,-1],[b_op,^,[internal,y],[internal,2]]],[n_op,*,[internal,-1],[internal,y],[internal,x]]] + +qt_normalize(`x^2,2); + $B=PNO(B: (x)*(x) + Mode=2. $B6R$O;H$o$J$$(B. n-ary $B$N(B * $B$X(B. +@end example + +@table @t +@item $B;2>H(B +@ref{nqt_match}, +@ref{nqt_match_rewrite}, +@ref{quotetolist}, +@ref{quote_to_funargs} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item -----$B$^$@=q$$$F$J$$(B. +@end itemize + + +@node qt_set_coef,,, $B%/%*!<%H(B +@subsection @code{qt_set_coef} +@findex qt_set_coef + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@comment --- @itemx $B$OJ#?t$KBP$7$F@bL@$r0l$D$D$1$k>l9g$K;H$&(B --- +@table @t +@item qt_set_coef(@var{ParamList}) +:: $B0J2<(B @var{ParamList} $B$K8=$l$kB?9`<0JQ?t$rJQ?t$H$9$kM-M}4X?tBN$r78?t$H$9$k(B +$BHs2D49B?9`<0$r07$&(B. +@end table + +@table @var +@item return +$B%j%9%H(B +@item ParamList +$B%j%9%H(B +@end table + +@itemize @bullet +@item $B0J2<(B @var{ParamList} $B$K8=$l$kB?9`<0JQ?t$rJQ?t$H$9$kM-M}4X?tBN$r78?t$H$9$k(B +$BHs2D49B?9`<0$r07$&(B. +@item $B$3$N@k8@$r$7$J$$$H78?tBN$r?t$H$9$kHs2D49B?9`<0$H$7$F7W;;$9$k(B. +@item qt_normalize $B$*$h$S$=$N5!G=$rMQ$$$k4X?t$,$3$N5!G=$N1F6A$rH(B +@ref{qt_normalize} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item -----$B$^$@=q$$$F$J$$(B. +@end itemize + + +@node qt_set_ord,,, $B%/%*!<%H(B +@subsection @code{qt_set_ord} +@findex qt_set_ord + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@comment --- @itemx $B$OJ#?t$KBP$7$F@bL@$r0l$D$D$1$k>l9g$K;H$&(B --- +@table @t +@item qt_set_ord(@var{VarList}) +:: @var{VarList} $B$rJQ?t=g=x$H$9$k(B. +@end table + +@table @var +@item return +$B%j%9%H(B +@item VarList +$B%j%9%H(B +@end table + +@itemize @bullet +@item @var{VarList} $B$r<-=q<0$KMQ$$$?JQ?t=g=x$r0J2<;HMQ$9$k(B. +@item $B$3$N@k8@$r$7$J$$$H$"$kITDj85$K$D$$$F$N4{Dj$N<-=q<0=g=x(B-----$B$^$@=q$$$F$J$$(B---$B$rMQ$$$F9`$rHf3S$9$k(B. +@var{VarList} $B$K8=$l$J$$JQ?t$K$D$$$F$O$3$N=g=x$,E,MQ$5$l$k(B. +@item qt_normalize $B$*$h$S$=$N5!G=$rMQ$$$k4X?t$,$3$N5!G=$N1F6A$rJN,(B ] +qt_normalize(quote(x+y),2); + $B=PNO(B: (y)+(x) +@end example + +@table @t +@item $B;2>H(B +@ref{qt_normalize}, +@ref{nqt_comp} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item -----$B$^$@=q$$$F$J$$(B. +@end itemize + + +@node qt_set_weight,,, $B%/%*!<%H(B +@subsection @code{qt_set_weight} +@findex qt_set_weight + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@comment --- @itemx $B$OJ#?t$KBP$7$F@bL@$r0l$D$D$1$k>l9g$K;H$&(B --- +@table @t +@item qt_set_weight(@var{WeightVector}) +:: $BJQ?t$K$D$$$F(B weight $B%Y%/%H%k$r@_Dj$9$k(B. +@end table + +@table @var +@item return +$B%j%9%H(B +@item WeightVector +$B%j%9%H(B +@end table + +fnode f $B$N(B weight w(f) $B$Ol9g$O86B'(B 0. qt_weight_vector $B$G(B weight $B$,M?$($i$l$F$$$kITDj85$K(B + $B$D$$$F$O$=$NCM(B. + + f $B$,(Bnode$B$N>l9g$OH(B. +@end itemize + +@example +ctrl("print_quote",2); +qt_set_weight([[x,-1],[y,-1]]); + $B7k2L(B: [[x,-1],[y,-1]] +qt_normalize(quote( 1+(x+y)+(x+y)^2),1); + $B7k2L(B: (1)+(y)+(x)+((y)^(2))+((y)*(x))+((x)^(2))+((x)*(y)) +@end example + +@table @t +@item $B;2>H(B +@ref{qt_normalize}, +@ref{qt_set_ord}, +@ref{qt_set_weight}, +@ref{dp_gr_main} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item -----$B$^$@=q$$$F$J$$(B. +@end itemize + + +@node nqt_comp,,, $B%/%*!<%H(B +@subsection @code{nqt_comp} +@findex nqt_comp + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@comment --- @itemx $B$OJ#?t$KBP$7$F@bL@$r0l$D$D$1$k>l9g$K;H$&(B --- +@table @t +@item nqt_cmp(@var{Expr1},@var{Exprt2}) +:: @var{Expr1} $B$H(B @var{Expr2} $B$N=g=x$rHf3S$9$k(B. +@end table + +@table @var +@item return +$B@0?t(B +@item Expr1, Expr2 +quote$B7?(B +@end table + +@itemize @bullet +@item @var{Expr1} $B$H(B @var{Expr2} $B$N=g=x$rHf3S$9$k(B. +@item @var{Expr1} > @var{Exprt2} $B$J$i(B 1. +@item @var{Expr1} < @var{Exprt2} $B$J$i(B -1. +@item @var{Expr1} = @var{Exprt2} ($B$*$J$8=g=x(B) $B$J$i(B 0. +@end itemize + +@example +ctrl("print_quote",2); +qt_set_ord([y,x]); qt_set_weight([[x,-1],[y,-1]]); +[nqt_comp(`x,`y), nqt_comp(`y,`x), nqt_comp(`x,`x)]; + $B=PNO(B: [-1,1,0] +@end example + +@table @t +@item $B;2>H(B +@ref{qt_normalize}, +@ref{qt_set_ord}, +@ref{qt_set_weight} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item $B$^$@=q$$$F$J$$(B. +@end itemize +@comment **************************************************************** + +@node qt_is_var qt_is_coef,,, $B%/%*!<%H(B +@subsection @code{qt_is_var}, @code{qt_is_coef} +@findex qt_is_var +@findex qt_is_coef + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@comment --- @itemx $B$OJ#?t$KBP$7$F@bL@$r0l$D$D$1$k>l9g$K;H$&(B --- +@table @t +@item qt_is_var(@var{Expr}) +:: @var{Expr} $B$,ITDj85$KBP1~$9$k(B quote $B$J$i(B 1 $B$rLa$9(B. +@item qt_is_coef(@var{Expr}) +:: @var{Expr} $B$,78?t$NM-M}4X?tBN$KB0$9$k$H$-(B 1 $B$rLa$9(B. +@end table + +@table @var +@item return +$B@0?t(B +@item Expr +quote$B7?(B +@end table + +@itemize @bullet +@item @var{Expr} $B$,ITDj85$KBP1~$9$k(B quote $B$J$i(B 1 $B$rLa$9(B. +$B$=$&$G$J$$$H$-(B 0 $B$rLa$9(B. +@end itemize + +@example +[qt_is_var(quote(x)), qt_is_var(quote(3/2))]; + $B=PNO(B: [1,0] +@end example + +@table @t +@item $B;2>H(B +@ref{qt_rewrite}, +@ref{nqt_match_rewrite} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item -----$B$^$@=q$$$F$J$$(B. +@end itemize +@comment **************************************************************** + +@node qt_rewrite,,, $B%/%*!<%H(B +@subsection @code{qt_rewrite} +@findex qt_rewrite + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@comment --- @itemx $B$OJ#?t$KBP$7$F@bL@$r0l$D$D$1$k>l9g$K;H$&(B --- +@table @t +@item qt_rewrite(@var{Expr},@var{Rules},@var{Mode}) +:: @var{Expr} $B$r5,B'=89g(B @var{Rules} $B$rMQ$$$F=q$-49$($k(B. +@end table + +@table @var +@item return +quote$B7?(B +@item Expr +quote$B7?(B +@item Rules +$B%j%9%H(B +@item Mode +$B@0?t(B +@end table + +@itemize @bullet +@item $B%f!<%68@8l$rMQ$$$FDj5A$5$l$?4X?t(B. +@code{import("noro_rewrite.rr")} $B$7$F$*$/$3$H(B. +(noro_rewrite.rr $B$,(B OpenXM/lib/asir-contrib $B$KB8:_$7$J$$>l9g(B +$B%=!<%9$N(B OpenXM/src/asir-contrib/testing/noro/new_rewrite.rr $B$r%3%T!<(B) +@item @var{Expr} $B$r5,B'=89g(B @var{Rules} $B$rMQ$$$F=q$-49$($k(B. +@item $B5,B'$NE,MQ$O(B fnode$BLZ$KBP$7$F:F5"E*$G$"$k(B. + $B0lJ}(B @code{nqt_match_rewrite} $B$G$O%H%C%W%l%Y%k$N$_$K5,B'$,E,MQ$5$l$k(B. +@item $B5,B'=89g(B @var{Rules} $B$N3FMWAG$N=q$-J}$O(B @code{nqt_match()} $B$N(B +@var{Pattern} $B$HF1$8=q$-J}(B. +$B$D$^$j(B [$B%Q%?!<%s(B, $B=q$-49$(7k2L(B] $B$^$?$O(B +[$B%Q%?!<%s(B, $B>r7o(B, $B=q$-49$(7k2L(B]. +@item @var{Mode} $B$N0UL#$O(B @ref{qt_normalize} $B$N(B @var{Mode} $B$HF1MM(B. +$B%Q%?!<%s%^%C%A(B, $B=q$-49$($O(B @var{Mode} $B$G(B @code{qt_normalize()} +$B$5$l$F$+$i?k9T$5$l$k(B. +@end itemize + +$BCm0U(B: $B?t3XE*$K$O(B X*Y=Y*X $B$,2D49@-$rM?$($k5,B'$@$,(B, $B$3$l$r$=$N$^$^5,B'$H$7$F(B + $BM?$($k$H=q$-49$($,Dd;_$7$J$$(B. $Be$NNc$N$h$&$K=g=xHf3S$7(B, $B$?$H$($P(B, + $B=g=x$,Bg$-$/$J$k>l9g$N$_$K=q$-49$($k$Y$-$G$"$k(B. +@example +import("noro_rewrite.rr"); +R=[[`X*Y,`nqt_comp(Y*X,X*Y)>0, `Y*X]]; +qt_rewrite(`(x-y)^2,R,2); + $B=PNO(B: quote(x*x+-2*x*y+y*y) +@end example + +$B30@QBe?t$N7W;;(B (asir-contrib $B$r%m!<%I$7$?>uBV(B). +@example +import("noro_rewrite.rr"); +Rext0=[quote(X*Y),quote(qt_is_var(X) && qt_is_var(Y) && nqt_comp(Y,X)>0), + quote(-Y*X)]; +Rext1=[quote(X^N),quote(eval_quote(N)>=2),quote(0)]; +Rext2=[quote(X*X),quote(0)]; +Rext=[Rext0,Rext1,Rext2]; +qt_rewrite(quote( (x+2*y)*(x+4*y) ), Rext,1); + $B=PNO(B: 2*x*y + +qt_set_coef([a,b,c,d]); +qt_rewrite(quote((a*x+b*y)*(c*x+d*y)), Rext,1); + $B=PNO(B: (d*a-c*b)*x*y + +@end example + +$BHyJ,$N7W;;(B (asir-contrib $B$r%m!<%I$7$?>uBV(B). +@example +import("noro_rewrite.rr"); +qt_set_coef([a,b]); +Rd1=[`d(X+Y), `d(X)+d(Y)]; +Rd2=[`d(X*Y),`d(X)*Y+X*d(Y)]; +Rd3=[`d(N), `qt_is_coef(N), `0]; +Rd4=[`d(x),`1]; +Rd=[Rd1,Rd2,Rd3,Rd4]; +B=qt_rewrite( `d( (a*x+b)^3),Rd,2); + $B=PNO(B: quote(3*a^3*x*x+6*b*a^2*x+3*b^2*a) +fctr(eval_quote(B)); + $B=PNO(B: [[3,1],[a,1],[a*x+b,2]] +@end example + +@table @t +@item $B;2>H(B +@ref{nqt_match}, +@ref{nqt_match_rewrite}, +@ref{qt_normalize} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item qt $B7O$N4X?t$N867?$O(B OpenXM/src/asir-contrib/testing/tr.rr $B$G$"$k(B. +$B$3$N%f!<%68@8l$K$h$k3+H/$,(B 2005$BG/$N=U$^$G9T$o$l(B, $B$=$N$"$HAH$_9~$_4X?t$N;29MJ88%(B: + OpenXM/doc/Papers/2005-rims-noro.tex $B$*$h$S(B + OpenXM/doc/Papers/2005-rims-noro.tm (TeXmacs$B$N5-;v(B). +@item Todo: qt $B7O$N4X?t$rMQ$$$?$*$b$7$m$$7W;;$r(B Risa/Asir $B%8%c!<%J%k$N5-;v$H$7$F=q$/(B. +@end itemize + +@comment **************************************************************** + +@node $BJ8;zNs=hM}(B,,, $Bl9g$K;H$&(B --- +@table @t +@item string_to_tb(@var{s}) +@itemx tb_to_string(@var{tb}) +@itemx write_to_tb(@var{s},@var{tb}) +:: $BJ8;zNs2DJQD9G[Ns7?(B(text buffer)$B$N%G!<%?$N=hM}(B +@end table + +@table @var +@item return +$BJ8;zNs2DJQD9G[Ns7?(B(string_to_tb), $BJ8;zNs7?(B(tb_to_string) +@item s +$BJ8;zNs(B +@item tb +$BJ8;zNs2DJQD9G[Ns7?(B +@end table + +@itemize @bullet +@item +@code{string_to_tb(@var{s})} $B$O(B, $BJ8;zNs(B @var{s} $B$r$O$8$a$NMWAG$H$9$k(B +$BJ8;zNs2DJQD9G[Ns7?%*%V%8%'%/%H$r@8@.$9$k(B. +@item +@code{tb_to_string_(@var{tb})} $B$O(B, +$BJ8;zNs2DJQD9G[Ns7?%*%V%8%'%/%H(B @var{tb} $B$+$iDL>o$NJ8;zNs%*%V%8%'%/%H$r@8@.$9$k(B. +@item +@code{write_to_tb(@var{s},@var{tb})} $B$O(B, $BJ8;zNs(B @var{s} $B$r(B +$BJ8;zNs2DJQD9G[Ns7?%*%V%8%'%/%H(B @var{tb} $B$X=q$-=P$9(B. +@item @var{SS} $B$rJ8;zNsJQ?t$H$9$k$H$-(B, +@var{SS} += "$BJ8;zNs(B" $B$G(B @var{SS} $B$XJ8;zNs$r=q$-B-$7$F$$$/$3$H$,$G$-$k$,(B, +$BL5BL$J%a%b%j$rBgNL$K>CHq$9$k(B. +$BBe$j$K4X?t(B @code{write_to_tb} $B$rMQ$$$k$Y$-$G$"$k(B. +$BJ8;zNs2DJQD9G[Ns7?%*%V%8%'%/%H$OJ8;zNs$N2DJQD9$NG[Ns$G$"$j%a%b%j4IM}$KM%$7$$(B +$B%G!<%?9=B$$G$"$k(B. +@end itemize + +@example +[219] T=string_to_tb(""); + +[220] write_to_tb("Hello",T); +0 +[221] write_to_tb(" world!",T); +0 +[222] tb_to_string(T); +Hello world! +@end example + + +@comment --- ChangeLog $B$r=q$/(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@noindent +ChangeLog +@itemize @bullet +@item + $B$3$N4X?t$O(B 2004-3 $B$K(B print_tex_form $B$r8zN(2=$9$k$?$a$K=q$+$l$?(B. +@item + OpenXM_contrib2/asir2000 $B$N2<$N0J2<$N%U%!%$%k$r8+$h(B. +io/ox_asir.c 1.52, builtin/strobj.c 1.12--1.13, 1.16, +engine/str.c 1.5, parse/quote.c 1.9. +@item + rtostr $B$,(B text buffer $B7?$N%G!<%?$K4X$7$F$*$=$+$C$?(B. $BB.EY$N2~A1$O(B + asir2000/io/pexpr_body.c 1.2, asir2000/parse/lex.c 1.32. +@end itemize + + +@node set_print_function,,, $BJ8;zNs=hM}(B +@subsection @code{set_print_function} +@findex set_print_function + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@table @t +@item set_print_function([@var{fname}]) +:: $B2hLLI=<(MQ$N4X?t$rEPO?(B +@end table + +@table @var +@item return +$B@0?t(B +@item fname +$BJ8;zNs(B +@end table + +@itemize @bullet +@item +@code{set_print_function} $B$O(B @code{fname(F)} $B$rDL>o$N2hLLI=<(4X?t$NBe$o$j$K$h$V(B. +@code $B0z?t$,$J$$>l9g$O2hLLI=<(4X?t$r%G%U%)!<%k%H$XLa$9(B. +@code Asir-contrib $B$O$3$N4X?t$rMQ$$$F=PNO4X?t$r(B Asir-contrib $BMQ$KJQ99$7$F$$$k(B. +@end itemize + +@example +[219] def my_output(F) @{ + print("Out: ",0); print(rtostr(F)); + @} +[220] set_print_function("my_output"); +Out: 0 +[221] 1+2; +Out: 3 +@end example + +@table @t +@item $B;2>H(B +@ref{rtostr} +@end table + +@noindent +ChangeLog +@itemize @bullet +@item $B$3$N4X?t$O(B 2001-9-4 $B$K(B asir-contrib $B$N$?$a$KF3F~$5$l$?(B. + $BJQ99$r$&$1$?%=!<%9%3!<%I$O(B builtin/print.c 1.11 $B$G$"$k(B. +@end itemize + + +@node printf fprintf sprintf,,, $BJ8;zNs=hM}(B +@subsection @code{printf}, @code{fprintf}, @code{sprintf} +@findex printf +@findex fprintf +@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 $B$K;w$?%W%j%s%H4X?t(B +@end table + +@table @var +@item return +$B@0?t(B(printf,fprintf), $BJ8;zNs(B(sprintf) +@item format +$BJ8;zNs(B +@item fd +$BHsIi@0?t(B($B%U%!%$%k5-=R;R(B) +@item args +$B%*%V%8%'%/%H(B +@end table + +@itemize @bullet +@item +@code{printf} $B$O=q<0J8;zNs(B @var{format } $B$K$7$?$,$$(B, $B%*%V%8%'%/%H(B @var{args} $B$rI8=`=PNO$K=q$-=P$9(B. +@item +@code{fprintf} $B$O7k2L$r(B, $B%U%!%$%k5-=R;R(B @var{fd} $B$N;X$9%U%!%$%k$K=q$-=P$9(B. +@item +@code{sprintf} $B$O7k2L$rJ8;zNs$GJV$7(B, $BI8=`=PNO$K$O=q$-=P$5$J$$(B. +@item +$B=q<0J8;zNs$NCf$G(B @code{%a} (any) $B$,MxMQ2DG=(B. +@var{args} $B$N8D?t$O=q<0J8;zNs$NCf$N(B @code{%a} $B$N8D?t$KEy$7$/$9$k$3$H(B. +@item +$B%U%!%$%k5-=R;R$O(B, @code{open_file} $B4X?t$rMQ$$$FF@$k$3$H(B. +@end itemize + +@example +[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 $B;2>H(B +@ref{rtostr},@ref{open_file},@ref{close_file} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item + $B4X?t(B sprintf$B$O(B 2004-7-13 $B$K%3%_%C%H$5$l$?(B. + $BJQ99$r$&$1$?%=!<%9%3!<%I$O(B builtin/strobj (1.50) $B$G$"$k(B. +@item + $B4X?t(B printf$B$O(B 2007-11-8 $B$K%3%_%C%H$5$l$?(B. + $BJQ99$r$&$1$?%=!<%9%3!<%I$O(B builtin/print.c (1.23) $B$G$"$k(B. +@item + $B4X?t(B fprintf$B$O(B 2008-11-18 $B$K%3%_%C%H$5$l$?(B. + $BJQ99$r$&$1$?%=!<%9%3!<%I$O(B builtin/file.c (1.25) $B$G$"$k(B. +@item + @code{%a} $B$O(B Maple $B$N(B sprintf $B$N??;w$+(B. +@end itemize + + +@node $B%0%l%V%J!<4pDl(B,,, $Bl9g$K;H$&(B --- +@table @t +@item dp_gr_main(@var{f} | v=@var{vv}, order=@var{oo}, homo=@var{n}, matrix=@var{m}, block=@var{b}, sugarweight=@var{sw}) +:: dp_gr_main $B$N?7$7$$%$%s%?%U%'!<%9(B. +@end table + +@table @var +@item return +$B%j%9%H(B ($B%0%l%V%J4pDl(B. $B:F5"I=8=B?9`<0$+J,;6I=8=B?9`<0$N%j%9%H(B) +@item f +$B%j%9%H(B ($BF~NOB?9`<07O(B. $B:F5"I=8=B?9`<0$+J,;6I=8=B?9`<0$N%j%9%H(B) +@item vv +$B%j%9%H(B ($BJQ?t$N%j%9%H(B) +@item oo +$B%j%9%H(B ($B=g=x$r$"$i$o$9%j%9%H(B) +@item n +0 $B$+(B1 (homogenization $B$r$9$k$+(B) +@item m +$B=g=x$r(B matrix $B$GI=8=$9$k>l9g(B (cf. dp_ord). +@item b +??? +@item sw +Sugar strategy $B$rE,MQ$9$k$H$-$N(B weight vector. $BA4$F$NMWAG$OHsIi(B. +@end table + +@itemize @bullet +@item + @code{dp_gr_main(@var{f})} $B$O(B, @var{f} $B$N%0%l%V%J4pDl$r7W;;$9$k(B. + $B%0%l%V%J4pDl$O=g=x$rJQ$($k$H$=$N7A$,JQ$o$k(B. asir $B$G$O$$$^$^$G=g=x$N;XDjJ}K!$,(B + $B7OE}$@$C$F$$$J$+$C$?(B. + dp_gr_main $B$N?7$7$$%$%s%?%U%'!<%9$G$O=g=x$r$"$kJ8K!$K=>$$;XDj$9$k(B. +@comment ~taka/this03/misc-2003/A2/dp +@item $B=g=x(B order $B$Oe$N7+$jJV$7$r0UL#$9$k(B. +@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 example +$B$3$3$G(B @code{V} $B$O(B $BJQ?tL>(B, @code{NUMBER} $B$O@0?t$r$"$o$i$9(B. +$BNc(B1: @code{v=[x,y,z,u,v], order=[[x,10,y,5,z,1],[@@grlex,range(x,v)]]} +$B$O(B @code{x},@code{y},@code{z} $B$,$=$l$>$l(B weight 10, 5, 1 $B$r$b$D(B +$B=g=x$GHf3S$7$?$"$H(B, @code{[x,y,z,u,v]} $B$K$D$$$F$N(B +graded reverse lexicographic order $B$r(B tie-breaker $B$H$7$FMQ$$$k$3$H$r0UL#$9$k(B. +$B;29M=q(B: B.Sturmfels: Gr\"obner Bases and Convex Polytopes (1995). +M.Saito, B.Sturmfels, N.Takayama: +Gr\"obner Deformations of Hypergeometric Differential Equations (2000). +@item + $B=g=xMWAG(B (orderElement) $B$N;XDjJ}K!$O(B + (1) $BJQ?tL>$^$?$O(B range$B$G;XDj$5$l$?JQ?t$N=89g$H=E$_$NCM$N7+$jJV$7(B + (2) $B=E$_$NCM$rJQ?t%j%9%H$N=gHV$KJB$Y$kJ}K!(B + (3) $BJQ?tL>$^$?$O(B range$B$G;XDj$5$l$?JQ?t$N=89g$H=g=xL>$NAH(B + $B$N;0DL$j$N4pACE*J}K!$,$"$k(B. + $B;w$?;XDjJ}K!$,(B Macaulay, Singular, CoCoA, Kan/sm1 $BEy$N4DO@%7%9%F%`$G(B + $B;HMQ$5$l$F$$$?(B. Risa/Asir $B$N;XDjJ}K!$O$3$l$i$N%7%9%F%`$N;XDjJ}K!$r;29M$K(B + $B$5$i$K2~NI$r2C$($?$b$N$G=@Fp@-$,9b$$(B. +@item + order $B$N(B tie-breaker $B$O(B grlex $B$,%G%U%)!<%k%H(B. +@item + $BJ,;6I=8=B?9`<0$r0z?t$H$7$?$H$-$O7k2L$bJ,;6I=8=B?9`<0$H$7$FLa$k(B. + order $B;XDj$K$b$A$$$k%G%U%)!<%k%H$NJQ?tL>$O$3$N$H$-(B x0, x1, x2, ... $B$H$J$k(B. +@item + $B%*%W%7%g%s$NCM$O(B option_list $B%-!<%o!<%I$rMQ$$$F%j%9%H$GM?$($F$b$h$$(B. + $B2<$NNc$r;2>H(B. +@end itemize + +@example +[218] load("cyclic"); +[219] V=vars(cyclic(4)); +[c0,c1,c2,c3] +[220]dp_gr_main(cyclic(4) | v=V, order=[[c0,10,c1,1],[c2,5],[@@grlex,range(c0,c3)]]); +[ 10 1 0 0 ] +[ 0 0 5 0 ] +[ R R R R ] +[(-c3^6+c3^2)*c2^2+c3^4-1,c3^2*c2^3+c3^3*c2^2-c2-c3, + (c3^4-1)*c1+c3^5-c3,(c2-c3)*c1+c3^4*c2^2+c3*c2-2*c3^2,-c1^2-2*c3*c1-c3^2, + c0+c1+c2+c3] + +[1151] F=map(dp_ptod,katsura(4), vars(katsura(4))); +[(1)*<<1,0,0,0,0>>+(2)*<<0,1,0,0,0>>+ ... ] +[1152] dp_gr_main(F | order=[[range(x0,x3),1]]); +[ 1 1 1 1 0 ] +[ R R R R R ] +[(47774098944)*<<0,0,0,0,13>>+ ... ] + +[1153] Opt=[["v",[x,y]], ["order",[[x,5,y,1]]]]; +[[v,[x,y]],[order,[[x,5,y,1]]]] +[1154] dp_gr_main([x^2+y^2-1,x*y-1] | option_list=Opt); +[ 5 1 ] +[ R R ] +[-y^4+y^2-1,x+y^3-y] +@end example + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@noindent +ChangeLog +@itemize @bullet +@item $B$3$N4X?t$O(B 2003-12 $B$+$i(B 2004-2 $B$N;O$a$KBg$-$J=$@5$,9T$o$l$?(B. +@item + @code{setOfVariables}$B$NI=8=$N$?$a$K(B range $B%*%V%8%'%/%H$,F3F~$5$l$?(B. +@item + $B%0%l%V%J4pDl$O=g=x$rJQ$($k$H$=$N7A$,JQ$o$k(B. asir $B$G$O$$$^$^$G=g=x$N;XDjJ}K!$,(B + $B7OE}$@$C$F$$$J$+$C$?(B. + dp_gr_main $B$N?7$7$$%$%s%?%U%'!<%9$G$O=g=x$r$"$kJ8K!$K=>$$;XDj$9$k(B. +@item + OpenXM_contrib2/asir2000 $B$N2<$Nl9g$K;H$&(B --- +@table @t +@item dp_weyl_gr_main(@var{f} | v=@var{vv}, order=@var{oo}, homo=@var{n}, matrix=@var{m}, block=@var{b}, sugarweight=@var{sw}) +:: dp_weyl_gr_main $B$N?7$7$$%$%s%?%U%'!<%9(B. dp_gr_main $B$HF1$87A<0$G$"$k(B. +@end table + +@table @var +@item return +$B%j%9%H(B ($B%0%l%V%J4pDl(B. $B:F5"I=8=B?9`<0$+J,;6I=8=B?9`<0$N%j%9%H(B) +@item f +$B%j%9%H(B ($BF~NOB?9`<07O(B. $B:F5"I=8=B?9`<0$+J,;6I=8=B?9`<0$N%j%9%H(B) +@item vv +$B%j%9%H(B ($BJQ?t$N%j%9%H(B) +@item oo +$B%j%9%H(B ($B=g=x$r$"$i$o$9%j%9%H(B) +@item n +0 $B$+(B1 (homogenization $B$r$9$k$+(B). [$B%F%9%H$^$@(B] +@item m +$B=g=x$r(B matrix $B$GI=8=$9$k>l9g(B (cf. dp_ord). [$B%F%9%H$^$@(B] +@item b +??? +@item sw +Sugar strategy $B$rE,MQ$9$k$H$-$N(B weight vector. $BA4$F$NMWAG$OHsIi(B. [$B%F%9%H$^$@(B] +@end table + +@itemize @bullet +@item + @code{dp_weyl_gr_main(@var{f})} $B$O(B, @var{f} $B$N%0%l%V%J4pDl$r7W;;$9$k(B. + $B%0%l%V%J4pDl$O=g=x$rJQ$($k$H$=$N7A$,JQ$o$k(B. asir $B$G$O$$$^$^$G=g=x$N;XDjJ}K!$,(B + $B7OE}$@$C$F$$$J$+$C$?(B. + dp_weyl_gr_main $B$N?7$7$$%$%s%?%U%'!<%9$G$O=g=x$r$"$kJ8K!$K=>$$;XDj$9$k(B. + $B;XDjJ}K!$K$D$$$F$O(B dp_gr_main $B$N%^%K%e%"%k$r;2>H(B. +@item + $BJ,;6I=8=B?9`<0$N3F%b%N%_%"%k$ND9$5$,6v?t$N$H$-$O%o%$%kBe?t(B + K[x_1, ..., x_n, d_1, ..., d_n] +$B$G7W;;$,$*$3$J$o$l$k(B. $B%o%$%kBe?t$G$O(B x_i $B$H(B d_i $B$OHs2D49$J3]$1;;5,B'(B + d_i x_i = x_i d_i +1 $B$r$_$?$7(B, x_i $B$H(B x_j $B$d(B d_i $B$H(B d_j $B$O2D49$G$"$k(B. + $B$^$?(B i $B$H(B j $B$,0[$J$k>l9g$O(B x_i $B$H(B d_j $B$b2D49$G$"$k(B. +@item + $BJ,;6I=8=B?9`<0$N3F%b%N%_%"%k$ND9$5$,4q?t$N$H$-$OF1$NJQ?t$b%o%$%kBe?t$HF1MM$J2D49@-$N5,B'$r$_$?$9(B. + $B>\$7$/$O(B dp_gr_main $B$G;2>H$7$?(B Saito, Sturmfels, Takayama $B$N652J=q$r$_$h(B. +@end itemize + +@example +[1220] F=sm1.gkz([ [[1,1,1,1],[0,1,3,4]], [0,0]]); /* Command in asir-contrib*/ +[[x4*dx4+x3*dx3+x2*dx2+x1*dx1,4*x4*dx4+3*x3*dx3+x2*dx2,-dx1*dx4+dx2*dx3,-dx2^2*dx4+dx1*dx3^2,dx1^2*dx3-dx2^3,-dx2*dx4^2+dx3^3],[x1,x2,x3,x4]] +[1221] V=[x1,x2,x3,x4,dx1,dx2,dx3,dx4]$ +[1222] dp_weyl_gr_main(F[0] | v=V, order=[[dx1,1,dx2,1,dx3,1,dx4,1]]); +... +[1238] FF=map(dp_ptod,F[0],V); +[(1)*<<1,0,0,0,1,0,0,0>>+(1)*<<0,1,0,0,0,1,0,0>>+(1)*<<0,0,1,0,0,0,1,0>>+(1)*<<0,0,0,1,0,0,0,1>>,(1)*<<0,1,0,0,0,1,0,0>>+(3)*<<0,0,1,0,0,0,1,0>>+(4)*<<0,0,0,1,0,0,0,1>>,0,0,0,0] + +[1244] FF=map(dp_ptod,F[0],V); +[(1)*<<1,0,0,0,1,0,0,0>>+(1)*<<0,1,0,0,0,1,0,0>>+(1)*<<0,0,1,0,0,0,1,0>>+(1)*<<0,0,0,1,0,0,0,1>>,(1)*<<0,1,0,0,0,1,0,0>>+(3)*<<0,0,1,0,0,0,1,0>>+(4)*<<0,0,0,1,0,0,0,1>>,(1)*<<0,0,0,0,0,1,1,0>>+(-1)*<<0,0,0,0,1,0,0,1>>,(1)*<<0,0,0,0,1,0,2,0>>+(-1)*<<0,0,0,0,0,2,0,1>>,(-1)*<<0,0,0,0,0,3,0,0>>+(1)*<<0,0,0,0,2,0,1,0>>,(1)*<<0,0,0,0,0,0,3,0>>+(-1)*<<0,0,0,0,0,1,0,2>>] + +dp_weyl_gr_main(FF | v=V, order=[[0,0,0,0,1,1,1,1]]); + +[1246] dp_weyl_gr_main(FF | v=V, order=[[dx1,1,dx2,1,dx3,1,dx4,1]]); +[ 0 0 0 0 1 1 1 1 ] +[ R R R R R R R R ] + ... + +@end example + +@table @t +@item $B;2>H(B +@ref{dp_gr_main} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@noindent +ChangeLog +@itemize @bullet +@item dp_gr_main $B$N%$%s%?%U%'!<%9$,(B dp_weyl_gr_main $B$X$bF3F~$5$l$?(B. +@item + OpenXM_contrib2/asir2000 $B$N2<$N$&(B. + $B$3$N%j%9%H$N@hF,$,(B weight vector $B$GL5$$>l9g$O%(%i!<$H$J$k(B. + $B$?$H$($P(B order=[[@@lex,...]] $B$O%(%i!<$H$J$k(B. +@item + $B7k2L$OM?$($i$l$?=g=x$K4X$7$F%=!<%H$5$l$F$k$o$1$G$O$J$$(B. +@end itemize + +@example +[1220] F=<<2,0,0>>+<<1,1,0>>+<<0,0,1>>; +(1)*<<2,0,0>>+(1)*<<1,1,0>>+(1)*<<0,0,1>> +[1220] dp_initial_term(F | order=[[1,1,1]]); +[ 1 1 1 ] +[ R R R ] +(1)*<<2,0,0>>+(1)*<<1,1,0>> +[1221] dp_initial_term(F | v=[x,y,z], order=[[x,1]]); +[ 1 0 0 ] +[ R R R ] +(1)*<<2,0,0>> +@end example + +@table @t +@item $B;2>H(B +@ref{dp_gr_main}, @ref{dp_weyl_gr_main}, @ref{dp_order}, @ref{dp_hm} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@noindent +ChangeLog +@itemize @bullet +@item + OpenXM_contrib2/asir2000 $B$N2<$N$&(B. + $B$3$N%j%9%H$N@hF,$,(B weight vector $B$GL5$$>l9g$O%(%i!<$H$J$k(B. + $B$?$H$($P(B order=[[@@lex,...]] $B$O%(%i!<$H$J$k(B. +@item + dp_order $B$OM?$($i$l$?(B weight w $B$KBP$9$kl9g3FMWAG$N>+<<1,1,0>>+<<0,0,1>>; +(1)*<<2,0,0>>+(1)*<<1,1,0>>+(1)*<<0,0,1>> +[1222] dp_order(F | order=[[1,1,1]]); +[ 1 1 1 ] +[ R R R ] +2 +[1223] dp_order(F | v=[x,y,z], order=[[x,1]]); +[ 1 0 0 ] +[ R R R ] +@end example + +@table @t +@item $B;2>H(B +@ref{dp_gr_main}, @ref{dp_weyl_gr_main}, @ref{dp_initial_term}, @ref{dp_hm} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@noindent +ChangeLog +@itemize @bullet +@item + OpenXM_contrib2/asir2000 $B$N2<$Ne$N<+M32C72$NItJ,2C72$N%0%l%V%J!<4pDl(B +$B$r7W;;$9$k(B. $B7k2L$O%j%9%H$N%j%9%H$G$"$k(B. $B3FMWAG%j%9%H$O(B, $B<+M32C72$N(B +$B85$G$"$k%Y%/%H%k$H$_$J$9(B. +@item @var{ord} $B$H$7$F(B @var{[IsPOT,Ord]} $B$H$$$&(B2$BMWAG%j%9%H$,;XDj$5$l$?(B +$B>l9g(B, $B2C72$N%0%l%V%J!<4pDl7W;;$rl9g(B, @var{gen} $B$O(B, $BB?9`<0(B +$B$N%j%9%H$N%j%9%H$H$7$FM?$($kI,MW$,$"$k(B. +@item @var{IsPOT} $B$,(B 1 $B$N>l9g(B, POT (position over term), 0 $B$N(B +$B>l9g(B TOP (term over position) $B$GHf3S$9$k(B. $B4pAC4D$G$N9`Hf3S$O(B @var{Ord} +$B$G9T$&(B. +@item $B@bL@$5$l$F$$$J$$0z?t$O(B, $B%$%G%"%k$N>l9g$N2r@b$r;2>H$N$3$H(B. +@end itemize + +@example +[0] Gen=[[x,y,z],[y^2+x,x^2,z],[y^2,z^3+x,x+z]]; +[[x,y,z],[x+y^2,x^2,z],[y^2,x+z^3,x+z]] +[1] nd_gr(Gen,[x,y,z],0,[0,0]); +[[x,y,z],[y^2,x^2-y,0],[y^2,x+z^3,x+z],[y^3+z^3*y^2,y^3*x-y^3, +-x^3-z*x^2+(z*y^2+y)*x-z*y^2+z*y],[0,0,x^4+z*x^3+(-z*y^2-y)*x^2 ++(-y^3+z*y^2-z*y)*x+z^4*y^2]] +@end example + +@table @t +@item $B;2>H(B +@ref{nd_gr}, @ref{nd_gr_trace} +@end table + +@node nd_gr nd_gr_trace nd_weyl_gr nd_weyl_gr_trace (option),,, $B%0%l%V%J!<4pDl(B +@subsection @code{nd_gr}, @code{nd_gr_trace} (option) +@findex nd_gr (option) +@findex nd_gr_trace (option) +@findex nd_weyl_gr (option) +@findex nd_weyl_gr_trace (option) + +@comment --- nd_gr, nd_gr_trace $B$N%*%W%7%g%s(B --- + +@table @t +@item nd_gr(@var{...}[|@var{opt},@var{opt},@dots{}]) +@itemx nd_gr_trace(@var{...}[|@var{opt},@var{opt},@dots{}]) +@itemx nd_weyl_gr(@var{...}[|@var{opt},@var{opt},@dots{}]) +@itemx nd_weyl_gr_trace(@var{...}[|@var{opt},@var{opt},@dots{}]) +:: $B%0%l%V%J!<4pDl7W;;$K4X$9$ku$G$OpJs$r=PNO$9$k(B. +@item gensyz +@var{value} $B$,(B 0 $B$G$J$$$H$-(B, $B7W;;$5$l$?%0%l%V%J!<4pDl$KBP$9$k(B syzygy $B$N@8@.7O$r=PNO$9$k(B. +@item nora +@var{value} $B$,(B 0 $B$G$J$$$H$-(B, $B:G=*%9%F%C%W$GAj8_4JLs$r9T$o$J$$(B. +@end table + +@item @var{gentrace} $B$,;XDj$5$l$?>l9g(B, $B=PNO$O(B, +@var{[GB,Homo,Trace,IntRed,Ind,InputRed,SpairTrace]} $B$J$k%j%9%H$G$"$k(B. $B3FMWAG$N0UL#$O(B +$Bl9g(B 1, $B$=$&$G$J$$>l9g(B 0. +@item Trace +$BA4Cf4V4pDl$KBP$9$k7W;;7P2a>pJs(B +@item IntRed +$BAj8_4JLs$KBP$9$k7W;;7P2a>pJs(B +@item Ind +$B4JLs%0%l%V%J!<4pDl$N3FMWAG$N(B, $BA4Cf4V4pDl$N$K$*$1$k%$%s%G%C%/%9(B +@item InputRed +$B3FF~NOB?9`<0$r%0%l%V%J!<4pDl$G4JLs$7$F>jM>(B 0 $B$rF@$k$^$G$N7W;;7P2a>pJs(B +(@var{gensyz} $B$,;XDj$5$l$?>l9g(B) +@item SpairTrace +$B4JLs%0%l%V%J!<4pDl$KBP$9$k(B S $BB?9`<0$r4JLs$7$F>jM>(B 0 $B$rF@$k$^$G$N7W;;7P2a>pJs(B +(syzygy $B2C72$N@8@.7O$NMWAG$N$_(B; @var{gensyz} $B$,;XDj$5$l$?>l9g(B) +@end table +@item $B>\:Y$O(B, $BF~NOB?9`<0=89g$H%0%l%V%J!<4pDl$NAj8_JQ499TNs(B, $B$*$h$S(B syzygy $B7W;;(B +$B4X?t$N9`$G@bL@$9$kM=Dj(B. +@end itemize + +@example +[0] C=[c3*c2*c1*c0-1,((c2+c3)*c1+c3*c2)*c0+c3*c2*c1,...] +[1] D=nd_gr_trace(C,[c0,c1,c2,c3,c4],0,1,0|gentrace=1,gensyz=1)$ +[2] D[0]; +[c0+c1+c2+c3,-c1^2-2*c3*c1-c3^2,...] +[3] D[2]; +[[[0,0,1],[1,1,1],[2,2,1],[3,3,1]],[4,[[1,2,(1)*<<0,0,0,0>>,1],...] +[4] D[6]; +[[-1,[[1,0,(1)*<<0,0,2,4>>,1],[1,6,(-1)*<<1,0,0,0>>,1],...] +@end example + +@table @t +@item $B;2>H(B +@ref{nd_gr}, @ref{nd_gr_trace} +@end table + + +@node $B%7%9%F%`(B,,, $Bl9g$K;H$&(B --- +@table @t +@item asir-install.sh +@itemx asir-port.sh +:: $B$3$l$O(B asir $B$NFbIt%3%^%s%I$G$O$J$$(B. asir $B$r%M%C%H%o!<%/$+$i%@%&%s%m!<%I$+$Dl9g$K;H$&(B --- +@table @t +@item asirguid.hnd +:: asirgui $B$N(B main window $B$N%O%s%I%kHV9f$rJ];}$9$k%U%!%$%k(B +@end table + +@comment **************************************************************** + +@itemize @bullet +@item asirgui (Windows $BHG(B) $B$r5/F0$9$k$H(B $B4D6-JQ?t(B TEMP $B$G;XDj$5$l$?%U%)%k%@$K$3$N%U%!%$%k$,:n@.$5$l$k(B. +@item $BCf?H$O#1#0?J@0?t$G(B, asirgui $B$N(B main window $B$N%O%s%I%k$G$"$k(B. $B$3$N%O%s%I%k$"$F$K(B PostMessage $B$r$9$l$P(B, asuirgui $B$K%-!<%\!<%I$+$iF~NO$7$?$N$HF1MM$J8z2L$,F@$i$l$k(B. +@item text editor $B$G:n@.(B, $BJ]B8$7$?%U%!%$%k$r(B text editor $BB&$+$i(B asirgui $B$KFI$_9~$^$;$?$j$9$k$?$a$KMxMQ2DG=(B. +@item http://www.math.kobe-u.ac.jp/Asir/Add-ons $B$K$F(B winfep.exe $B$rG[I[$7$F$$$k(B. winfep $B$G$O$"$i$+$8$a%U%!%$%k$KF~NO%9%/%j%W%H$r=q$$$F$*$$$F(B, asirgui $B$G0l9T$E$D +#include +#include +#include + +int main() +@{ + + HWND hnd; + FILE *fp = fopen("c:/Program Files/asir/bin/asirgui.hnd","r"); + fscanf(fp,"%d",&hnd); + fclose(fp); + while (1) @{ + int c; + c = getchar(); + if ( c == '#' ) break; + PostMessage(hnd,WM_CHAR,c,1); + @} + return 0; +@} +@end example + +@table @t +@item $B;2>H(B +@ref{xyz_abc} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item $B$3$N5!G=$O(B 2006-12-5, 2007-02-13 $B$K2C$($i$l$?(B. +@item @code{OpenXM_contrib2/windows/asir32gui/asir32gui.clw} 1.11 +@item @code{OpenXM_contrib2/windows/asir32gui/asir32guiview.cpp} 1.15, 1.1.6 +@item winfep $B$O(B 2010-01-20 $B:"$KBh0lHG$,(B commit $B$5$l$?(B. +@item @code{OpenXM_contrib2/windows/winfep} 1.1 +@end itemize + + +@comment **************************************************************** + +@node chdir pwd,,, $B%7%9%F%`(B +@subsection @code{chdir}, @code{pwd} +@findex chdir +@findex pwd + +@comment --- $B%G%#%l%/%H%jA`:n(B --- +@table @t +@item chdir(@var{directory}) +@item pwd() +:: $B%7%'%k%3%^%s%I(B cd $B$H(B pwd $B$KBP1~$9$kA`:n(B. +@end table + +@table @var +@item return +$BJ8;zNs(B(@code{pwd}), $B@0?t(B(@code{chdir}) +@item dirctory +$BJ8;zNs(B +@end table + +@itemize @bullet +@item +@code{pwd} $B$O%+%l%s%H%G%#%l%/%H%j$rJ8;zNs$GJV$9(B. +@item +@code{chdir} $B$O%+%l%s%H%G%#%l%/%H%j$r(B @var{directory} $B$KJQ99$9$k(B. $B@.8y$9$l$P(B 0 $B$r<:GT$9$l$P(B -1 $B$rJV$9(B. +@end itemize + +@example +[0] S=pwd(); +/home/ohara +[1] chdir(".../taka"); +-1 +[2] chdir("/usr/bin"); +0 +@end example + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item +$B$3$l$i$N4X?t$O(B 2008-8-27 $B$K%3%_%C%H$5$l$?(B. +$BJQ99$r$&$1$?%=!<%9%3!<%I$O(B builtin/miscf.c (1.27) $B$G$"$k(B. +@end itemize + + +@node dcurrenttime,,, $B%7%9%F%`(B +@subsection @code{dcurrenttime} +@findex dcurrenttime + +@comment --- $B8=:_;~9o$r.?tE@?t(B +@end table + +@itemize @bullet +@item +$BJV$jCM$O(B1970$BG/(B1$B7n(B1$BF|(B0$B;~(B0$BJ,(B0$BIC$+$i$N7P2aIC?t$G$"$k(B. +@end itemize + +@example +[0] ctrl("real_digit", 16); +16 +[1] dcurrenttime(); +1226390851.34476 +[2] currenttime(); +1226390854 +@end example + +@table @t +@item $B;2>H(B +@ref{currenttime} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item +$B$3$N4X?t$O(B 2008-9-12 $B$K%3%_%C%H$5$l$?(B. +$BJQ99$r$&$1$?%=!<%9%3!<%I$O(B builtin/time.c (1.6) $B$G$"$k(B. +@end itemize + + +@node getpid,,, $B%7%9%F%`(B +@subsection @code{getpid} +@findex getpid + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@comment --- @itemx $B$OJ#?t$KBP$7$F@bL@$r0l$D$D$1$k>l9g$K;H$&(B --- +@table @t +@item getpid() +@end table + +@table @var +@item return +$B@0?t(B +@end table + +@itemize @bullet +@item asir $B$N%W%m%;%9HV9f$rLa$9(B. +@item $B%W%m%;%9HV9f$O(B asir, ox_asir $BEy$GFHN)$7$?%W%m%;%9$KBP$7$F%7%9%F%`Fb$G0l0U$G$"$k(B. +@end itemize + +@example +[219] getpid(); +3214 +@end example + + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item $B$3$N4X?t$O(B ox_work_dir() $B4X?t$,0l0U$J:n6H%U%!%$%kL>$rF@$k$?$a$K;H$o$l$F$$$k(B. +src/asir-contrib/packages/src/misc/rr 1.3, +asir2000/builtin/file.c 1.28, rat.c 1.5, +asir2000/parse/puref.c 1.9 $B$r;2>H(B (2013/02/15, 18). +@end itemize + + +@node loadpath,,, $B%7%9%F%`(B +@subsection @code{loadpath} +@findex loadpath + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@comment --- @itemx $B$OJ#?t$KBP$7$F@bL@$r0l$D$D$1$k>l9g$K;H$&(B --- +@table @t +@item ctrl(``loadpath''[,list]) +@end table + +@table @var +@item list +$BJ8;zNs(B($B%Q%9(B)$B$N%j%9%H(B +@item return +$BJ8;zNs(B($B%Q%9(B)$B$N%j%9%H(B, $B$^$?$O?t(B(list$B$,M?$($i$l$?$H$-(B) +@end table + +@itemize @bullet +@item asir $B$NAH$_9~$_4X?t(B ctrl $B$N%9%$%C%A$N$R$H$D$G$"$k(B. +@item asir $B$N%m!<%I%Q%9$N=PNO$^$?$O@_Dj$r9T$&(B. +@end itemize + +@example +[0] L=ctrl("loadpath"); +[/home/you/OpenXM/lib/asir-contrib,/home/you/OpenXM/lib/asir,.] +[1] ctrl("loadpath", cons(getenv("HOME")+"/lib",L)); +0 +@end example + + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item $B$3$N4X?t$O(B 2014-5-12 $B$K%3%_%C%H$5$l$?(B. +$BJQ99$r$&$1$?%=!<%9%3!<%I$O(B builtin/ctrl.c (1.41) $B$G$"$k(B. +@end itemize + + +@node sysinfo,,, $B%7%9%F%`(B +@subsection @code{sysinfo} +@findex sysinfo + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@comment --- @itemx $B$OJ#?t$KBP$7$F@bL@$r0l$D$D$1$k>l9g$K;H$&(B --- +@table @t +@item sysinfo() +@end table + +@table @var +@item return +$BJ8;zNs$N%j%9%H(B +@end table + +@itemize @bullet +@item asir $B$NF0:n$7$F$$$k%*%Z%l!<%F%#%s%0%7%9%F%`$N>pJs$rJV$9(B. +@item $B%j%9%H$N3F@.J,$O(B, OS$B%?%$%W(B, $B%+!<%M%kL>(B, OS$BL>(B, CPU$B%?%$%W(B, OS$B%P!<%8%g%s(B, $B40A4$J>pJs(B, $B%m%1!<%k$G$"$k(B. +@item OS$B%?%$%W$O(B unix, macosx, windows $B$N$$$:$l$+$G$"$k(B. +@item unix $B$*$h$S(B macosx $B$K$*$$$F$O(B, $B%7%9%F%`%3!<%k$*$h$S(B uname $B%3%^%s%I$K$h$j>pJs$rl9g$K;H$&(B --- +@table @t +@item get_struct_name(@var{s}) +@itemx get_element_names(@var{s}) +@itemx get_element_at(@var{s},@var{key}) +@itemx put_element_at(@var{s},@var{key},@var{obj}) +:: $B9=B$BN(B @var{s} $B$KBP$9$kA`:n(B +@end table + +@table @var +@item return +$BJ8;zNs(B (get_struct_name), +$BJ8;zNs$N%j%9%H(B (get_element_names), +$B%*%V%8%'%/%H(B (get_element_at), +$B%*%V%8%'%/%H(B (put_element_at) +@item s +$B9=B$BN(B +@item key +$BJ8;zNs(B +@item obj +$B%*%V%8%'%/%H(B +@end table + +@itemize @bullet +@item + @code{get_struct_name(s)} $B$O(B, $B9=B$BN(B @var{s} $B$NL>A0$rLa$9(B. +@item + @code{get_element_names(s)} $B$O(B, $B9=B$BN$N%a%s%P!<$NL>A0$N%j%9%H$rLa$9(B. +@item + @code{get_element_at(s,key)} $B$O9=B$BN(B s $B$N%a%s%P!<(B key $B$NCM$rLa$9(B. +@item + @code{put_element_at(s,key,obj)} $B$O9=B$BN(B s $B$N%a%s%P!<(B key $B$NCM$r(B obj $B$K@_Dj$9$k(B. +@end itemize + +@example +[219] struct point @{ x, y, color@}; +[220] P = newstruct(point); +@{0,0,0@} +[221] P->x = 10$ P->y=5$ P->color="red"$ +[222] get_element_names(P); +[x,y,color] +[223] put_element_at(P,"color","blue"); +blue +[224] P->color; +bule +@end example + +@table @t +@item $B;2>H(B +@ref{newstruct}, @ref{struct} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item $B9=B$BN$NDj5A$rCN$i$:$K9=B$BN$r07$&%f!<%64X?t$r=q$/$H$-$KJXMx(B. + asir-contrib $B$N(B noro_print.rr $B$r8+$h(B. +@item OpenXM_contrib2/asir2000/builtin/compobj.c 1.8. +@end itemize + + +@comment mapat +@node mapat,,, $B8@8l(B +@subsection @code{mapat} +@findex mapat + +@table @t +@item mapat(@var{fname},@var{pos}[,@var{arg0}, @var{arg1}, ...]) +:: @var{pos} $B$KBP$9$k(B map $B4X?t(B +@end table + +@table @var +@item return +$B%*%V%8%'%/%H(B +@item pos +$B@0?t(B +@item arg0, arg1, arg2, ... +$B%*%V%8%'%/%H(B +@end table + +@itemize @bullet +@item +@code{map} $B4X?t$O(B 0 $BHVL\$N0z?t$KBP$7$F$7$+F0:n$7$J$$$,(B, @code{mapat} +$B4X?t$O;XDj$7$?HV9f$N0z?t$KBP$7$F(B @code{map} $B4X?t$rH(B +@ref{map} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item $B$3$N4X?t$O(B 2004-6-22 $B$K%3%_%C%H$5$l$?(B. + $BJQ99$r$&$1$?%=!<%9%3!<%I$O(B builtin/pf.c, subst.c $B$G$"$k(B. +@end itemize + +@comment list +@node list,,, $B8@8l(B +@subsection @code{list} +@findex list + +@table @t +@item list([@var{arg0}, @var{arg1}, ...]) +:: list $B$r@8@.$9$k(B. +@end table + +@table @var +@item return +$B%j%9%H(B +@item arg0, arg1, arg2, ... +$B%*%V%8%'%/%H(B +@end table + +@itemize @bullet +@item +@var{arg0}, @var{arg1}, ... $B$rMWAG$H$9$k%j%9%H$r@8@.$9$k(B. +@end itemize + +@example +[219] list(1,2,3); +[1,2,3] +[220] list(1,2,[3,4]); +[1,2,[3,4]] +@end example + +@table @t +@item $B;2>H(B +@ref{cons} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item $B$3$N4X?t$O(B 2004-6-22 $B$K%3%_%C%H$5$l$?(B. + $BJQ99$r$&$1$?%=!<%9%3!<%I$O(B builtin/list.c $B$G$"$k(B. +@end itemize + + +@node assoc,,, $B8@8l(B +@subsection @code{assoc} +@findex assoc + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@table @t +@item assoc(@var{a},@var{b}) +:: $BO"A[%j%9%H$r$D$/$k(B +@end table + +@table @var +@item return +List +@item a +List +@item b +List +@end table + +@itemize @bullet +@item $B%j%9%H(B @var{a}, @var{b} $B$h$j(B +[[@var{a}[0],@var{b}[0]], [@var{a}[1],@var{b}[1]], ...] +$B$J$k?7$7$$%j%9%H$r@8@.$9$k(B. +@end itemize + +$B2<$NNc$G$O(B @code{A} $B$KF0J*$NL>A0$,(B, +@code{B} $B$KB-$NK\?t$,F~$C$F$$$k(B. +@code{assoc(A,B)} $B$GF0J*$HB-$NK\?t$r%Z%"$K$7$?%j%9%H$r@8@.$9$k(B. + +@example +[1192] A=["dog","cat","snake"]; +[dog,cat,snake] +[1193] B=[4,4,0]; +[4,4,0] +[1194] assoc(A,B); +[[dog,4],[cat,4],[snake,0]] +@end example + +@table @t +@item $B;2>H(B +@ref{cons}, @ref{append} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@noindent +ChangeLog +@itemize @bullet +@item + $B$3$N4X?t$O(B 2004-6-28 $B$K=q$+$l$?(B. + $BJQ99$r$&$1$?%=!<%9%3!<%I$O(B + builtin/list.c 1.9 + parse/eval.c 1.35, + parse/parse.h 1.31, + parse/quote.c 1.14--1.16. +@end itemize + + +@node set_secure_flag set_secure_mode,,, $B8@8l(B +@subsection @code{set_secure_flag}, @code{set_secure_mode} +@findex set_secure_flag +@findex set_secure_mode + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@comment --- @itemx $B$OJ#?t$KBP$7$F@bL@$r0l$D$D$1$k>l9g$K;H$&(B --- +@table @t +@item set_secure_flag(@var{fname},@var{m}) +@itemx set_secure_mode(@var{m}) +:: $B4X?t$Nl9g$O(B @code{set_secure_flag} $B$G;XDj$5$l$?(B +$B4X?t$7$+H(B +@ref{timer} +@end table + +@noindent +ChangeLog +@itemize @bullet +@item @code{set_secure_flag}, @code{set_secure_mode} $B$O(B asir $B$r(B +web $B%5!<%PEy$G8x3+$9$k$?$a$K2C$($i$l$?4X?t(B. +sm1 $B$NF1MM$J4X?t(B RestrictedMode $B$G:NMQ$5$l$?J}K!$rMQ$$$F$$$k(B. +$B$D$^$j(B, @code{set_secure_flag} $B$G8x3+$9$k4X?t$r;XDj$9$k(B. +@code{secure_mode} $B$,(B 1 $B$N>l9g$O(B @code{set_secure_flag} $B$G;XDj$5$l$?(B +$B4X?t$7$+H$N$3$H(B. +@end itemize + + +@example +if (1) @{ + module abc; + static A; + A=1; + endmodule; +@} else @{ @}; + +end$ +$B$r(B t.rr $B$H$9$k$H$-(B, + +[6] load("./t.rr"); +1 +internal error (SEGV) +$B$H$J$k(B. + +t.rr $B$r(B +if (1) @{ + module abc; + static A; + localf initA; + localf foo; + def initA() @{ + A=1; + @} + initA(); + def foo() @{ + return A; + @} + endmodule; +@} else @{ @}; + +end$ +$B$H$9$k$H@5$7$/=i4|2=$5$l$k(B. +@end example + +@comment --- ChangeLog +@noindent +ChangeLog +@itemize @bullet +@item oxasir-win.rr $B$Ne(B. 2005.07.25. +@item oxasir-win.rr $B$NH(B). +@item + $B$3$N4X?t$O(B machine int $B$NHO0O$G(B jacobi $B5-9f$r7W;;$9$k(B. +@end itemize + +@example +[1286] small_jacobi(2,3); +-1 +[1287] small_jacobi(2,7); +1 +@end example + +@table @t +@item $B;2>H(B +http://members.jcom.home.ne.jp/yokolabo/asirlib/ +$B$b8+$F$M(B. +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@noindent +ChangeLog +@itemize @bullet +@item $B$3$N4X?t$NM3Mh$OITL@(B. +@end itemize + + +@node noro_matrix.rr,,, $B?tO@!&Be?t(B +@subsection @code{noro_matrix.rr} +@findex noro_matrix.rr + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@comment --- @itemx $B$OJ#?t$KBP$7$F@bL@$r0l$D$D$1$k>l9g$K;H$&(B --- +@table @t +@item linalg.unit_mat(@var{arg1}) +@item linalg.random_rmat(@var{arg1}, @var{arg2}, @var{arg3}) +@item linalg.minipoly_mat(@var{arg1}) +@item linalg.compute_kernel(@var{arg1}) +@item linalg.compute_image(@var{arg1}) +@item linalg.jordan_canonical_form(@var{arg1}) +@end table + + +@itemize @bullet +@item $B4JC1$J2r@b$*$h$SH(B. +@end itemize + +@example +load("noro_matrix.rr"); +A=newmat(4,4,[[2,0,0,0],[3,5,1,0],[-9,-9,-1,0],[-5,0,0,1]]); +B=linalg.jordan_canonical_form(A); +@end example + +@table @t +@item $B;2>H(B +@ref{invmat} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item $B$3$N4X?t$O(B 2004-04 $B:"$+$i@~7ABe?t(BIII $B$N9V5A$r$7$J$,$i=q$+$l$?(B. +@item $B%=!<%9(B: OpenXM/src/asir-contrib/packages/src/noro_matrix.rr +@end itemize + + +@node f_res,,, $B?tO@!&Be?t(B +@subsection @code{f_res} +@findex f_res + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@table @t +@item f_res +@end table + + +@itemize @bullet +@item f_res $B$O3FH(B +@ref{} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item $B$3$N%b%8%e!<%k$O(B Fujiwara $B7/$N=$;NO@J8$,85$K$J$j(B, $B$=$l$r2~B$$7$?$b$N$G$"$k(B. +@item OpenXM/src/ox_cdd, OpenXM/src/asir-contrib/packages/src/f_res.rr +@end itemize + + +@node D $B2C72$N@)8B$K4X$9$k4X?t(B,,, $B\$7$$@bL@(B --- +@comment --- @itemize$B!A(B@end itemize $B$O2U>r=q$-(B --- +@comment --- @bullet $B$O9uE@IU$-(B --- +@itemize @bullet +@item +@var{W} $B$NMWAG$OHsIi@0?t$G(B, 0 $BHVL\$NMWAG$+$iO"B3$7$F@5$N@0?t$,F~$i$J$1$l$P$J$i$J$$(B. +($B$9$J$o$A(B, @code{[1,1,0,0,0]} $B$O(B OK $B$@$,(B, @code{[1,0,1,0,0]} $B$O%@%a(B) +@item +$B@5$N=E$_$r;}$DJQ?t$K$D$$$F$N@QJ,$r9T$&(B. +$BNc$($P(B, @var{VL} @code{=[x,y,z]}, @var{W} @code{=[1,1,0]} $B$G$"$l$P(B, +x,y $B$K$D$$$F@QJ,$r9T$&(B. +@end itemize + +$B0J2<$O(B, $B%$%G%"%k(B +@iftex +@tex $I = D \cdot \{2 t \partial_x + \partial_t, t \partial_t + 2 x \partial_x + 2\}$ @end tex +$B$H$*$$$?;~(B, D $B2C72(B +@tex $M = D / I$ @end tex +$B$N(B +@tex $t$ @end tex +@end iftex +@ifinfo +I = D . @{2 t dx + dt, t dt + 2 x dx + 2 @} +$B$H$*$$$?;~(B, D $B2C72(B M = D / I $B$N(B t +@end ifinfo +$B$K$D$$$F$N@QJ,2C72$r7W;;$7$?Nc$G$"$k(B. ([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 +$BJV$jCM$NBh(B 1 $BHVL\$NMWAG(B @code{[[1],[0]]]} $B$O(B, +$B@QJ,2C72$N4pDl(B +@iftex +@tex $t^1, t^0$ @end tex +@end iftex +@ifinfo +t^1, t^0 +@end ifinfo +$B$r0UL#$7(B, +$BJV$jCM$NBh(B 0 $BHVL\$NMWAG$+$i(B, $B@QJ,2C72$O(B +@iftex +@tex $(4 x \partial_x^2 + 6 \partial_x, 0), (0, -4 x \partial_x^2 - 6 \partial_x), +(0, -2 x \partial_x), (0, 2 \partial_x)$ @end tex +@end iftex +@ifinfo +(4 x dx^2 + 6 dx, 0), (0, -4 x dx^2 - 6 dx), +(0, -2 x dx), (0, 2 dx) +@end ifinfo +$B$G@8@.$5$l$k$3$H$,$o$+$k(B. + +@node nk_restriction.integration_ideal,,, D $B2C72$N@)8B$K4X$9$k4X?t(B +@subsection @code{nk_restriction.integration_ideal} +@comment --- $B:w0zMQ%-!<%o!<%I(B +@findex nk_restriction.integration_ideal + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@table @t +@item nk_restriction.integration_ideal(@var{Id}, @var{VL}, @var{DVL}, @var{W}) +:: $B%[%m%N%_%C%/(B D $B%$%G%"%k(B @var{Id} $B$r=E$_%Y%/%H%k(B @var{W} $B$K$D$$$F$N@QJ,%$%G%"%k$rJV$9(B. +@end table + +@comment --- $B0z?t$N4JC1$J@bL@(B --- +@table @var +@item Id +$B%$%G%"%k$N@8@.85$N%j%9%H(B +@item VL +$BJQ?t$N%j%9%H(B +@item DVL +$BJQ?t$N%j%9%H(B(@var{VL} $B$KBP1~$9$kHyJ,:nMQAG$NJ}$NJQ?t(B) +@item W +$B=E$_%Y%/%H%k$rI=$9%j%9%H(B +@end table + +@comment --- $B$3$3$G4X?t$N>\$7$$@bL@(B --- +@comment --- @itemize$B!A(B@end itemize $B$O2U>r=q$-(B --- +@comment --- @bullet $B$O9uE@IU$-(B --- +@itemize @bullet +@item +@var{W} $B$NMWAG$OHsIi@0?t$G(B, 0 $BHVL\$NMWAG$+$iO"B3$7$F@5$N@0?t$,F~$i$J$1$l$P$J$i$J$$(B. +($B$9$J$o$A(B, @code{[1,1,0,0,0]} $B$O(B OK $B$@$,(B, @code{[1,0,1,0,0]} $B$O%@%a(B) +@item +$B@5$N=E$_$r;}$DJQ?t$K$D$$$F$N@QJ,$r9T$&(B. +$BNc$($P(B, @var{VL} @code{=[x,y,z]}, @var{W} @code{=[1,1,0]} $B$G$"$l$P(B, +x,y $B$K$D$$$F@QJ,$r9T$&(B. +@end itemize + +$B0J2<$O(B, $B%$%G%"%k(B +@iftex +@tex +$I = D \cdot \{2 t \partial_x + \partial_t, t \partial_t + 2 x \partial_x + 2\} $ +@end tex +$B$N(B +@tex $t$ @end tex +@end iftex +@ifinfo +I = D . @{2 t dx + dt, t dt + 2 x dx + 2 @} $B$N(B t +@end ifinfo +$B$K$D$$$F$N@QJ,%$%G%"%k$r7W;;$7$?Nc$G$"$k(B. ([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] +@end example + +@node nk_restriction.ann_mul,,, D $B2C72$N@)8B$K4X$9$k4X?t(B +@subsection @code{nk_restriction.ann_mul} +@comment --- $B:w0zMQ%-!<%o!<%I(B +@findex nk_restriction.ann_mul + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@table @t +@item nk_restriction.ann_mul(@var{I}, @var{J}, @var{VL}, @var{DVL}) +:: @var{f} $B$rNm2=$9$k%[%m%N%_%C%/(B D $B%$%G%"%k(B @var{I}, +@var{g} $B$rNm2=$9$k%[%m%N%_%C%/(B D $B%$%G%"%k$r(B @var{J} $B$H$7$?$H$-(B, +@var{fg} $B$rNm2=$9$k%[%m%N%_%C%/(B D $B%$%G%"%k$rJV$9(B. +@end table + +@comment --- $B0z?t$N4JC1$J@bL@(B --- +@table @var +@item I +$B%$%G%"%k$N@8@.85$N%j%9%H(B +@item J +$B%$%G%"%k$N@8@.85$N%j%9%H(B +@item VL +$BJQ?t$N%j%9%H(B +@item DVL +$BJQ?t$N%j%9%H(B(@var{VL} $B$KBP1~$9$kHyJ,:nMQAG$NJ}$NJQ?t(B) +@end table + +@comment --- $B$3$3$G4X?t$N>\$7$$@bL@(B --- +@comment --- @itemize$B!A(B@end itemize $B$O2U>r=q$-(B --- +@comment --- @bullet $B$O9uE@IU$-(B --- +@itemize @bullet +@item test_ann_mul(), test_ann_mul2(), test_ann_mul3() $B$r;2>H(B. +@end itemize + + +@node nk_restriction (option) ,,, D $B2C72$N@)8B(B, $B@QJ,$K4X$9$k4X?t$N@bL@(B (option) +@subsection @code{nk_restriction (option)} +@comment --- $B:w0zMQ%-!<%o!<%I(B +@findex nk_restriction (option) + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +@table @t +@item nk_restriction.restriction(... | inhomo=@var{n}, param=@var{p}, s0=@var{m}) +@item nk_restriction.restriction_ideal(... | inhomo=@var{n}, param=@var{p}, s0=@var{m}, ht=@var{b}, ord=@var{ord}) +@item nk_restriction.integration(... | inhomo=@var{n}, param=@var{p}, s0=@var{m}) +@item nk_restriction.integration_ideal(... | inhomo=@var{n}, param=@var{p}, s0=@var{m}, ht=@var{b}, ord=@var{ord}) +:: D $B2C72$N@)8B(B, $B@QJ,$K4X$9$k4X?t$N%*%W%7%g%s$N@bL@(B +@end table + +@comment --- $B0z?t$N4JC1$J@bL@(B --- +@table @var +@item @var{n} +0 $B$^$?$O(B 1 +@item @var{p} +$B%j%9%H(B ($B78?tBN$KB0$9$kJQ?t$N%j%9%H(B) +@item @var{m} +$B@0?t(B +@item @var{b} +0, 1, 2, 3 $B$N$$$:$l$+(B +@item @var{ord} +$B=E$_(B0$B$NJQ?t$KBP$9$k9`=g=x(B +@end table + +@comment --- $B$3$3$G4X?t$N>\$7$$@bL@(B --- +@comment --- @itemize$B!A(B@end itemize $B$O2U>r=q$-(B --- +@comment --- @bullet $B$O9uE@IU$-(B --- +@itemize @bullet +@item @var{n} $B$,(B 0 $B$G$J$$$H$-(B, $BHs@FpJs(B @code{IH} $B$H$N%Z%"(B @code{[J,IH]} $B$r=PNO$9$k(B. +$B>\$7$$=PNO$N8+J}$K$D$$$F$O(B, $B2<$NNc$d%=!<%9$N(B @code{inhomo_part} $B$N(B +$B%3%a%s%H$r;2>H(B. + +restriction, integration $B$KBP$9$k(B @code{inhomo} $B%*%W%7%g%s$O(B +restriction_ideal, integration_ideal $B$N%5%V%k!<%A%s$H$7$F$NDj$5$l$k(B. +$B$D$^$j(B, $B$3$l$i$NJQ?t$K0MB8$9$k$h$&$J(B generic b-$B4X?t$N:,$O(B, +$B:GBg@0?t:,$G$J$$$H$$$&$3$H$G$"$k(B. + +@item @var{param} $B$,;XDj$5$l$k$H(B, generic b-$B4X?t$N7W;;$O(B noro $B$K$h$k(B +$B9bB.%"%k%4%j%:%`$G$O$J$/(B, $B>C5nK!$,MQ$$$i$l$k(B. +@var{param} $B$K6u%j%9%H$r;XDj$9$k$3$H$G(B, b-$B4X?t$N7W;;J}K!$N%U%i%0$H$7$F$b(B +$BMxMQ$G$-$k(B. + +@item @var{m} $B$,Ii$G$J$$$H$-(B, $B7W;;$r9T$o$:$K(B s-m $B$r(B generic b-$B4X?t$H$7$F(B +$B@)8B(B, $B@QJ,Ey$N7W;;$r9T$&(B. + +@item @var{b} $B$K$h$j(B, $B2C72$N%0%l%V%J4pDl7W;;$K@FpJs$+$i(B, $BG$0U$N85$KBP$9$kHs@F\$7$$@bL@(B --- +@comment --- @itemize$B!A(B@end itemize $B$O2U>r=q$-(B --- +@comment --- @bullet $B$O9uE@IU$-(B --- +@itemize @bullet +@item @var{VL}, @var{DVL}, @var{W} $B$O(B @var{INT} $B$N7W;;$KMQ$$$?$b$N$r$=$N$^$^;HMQ$7$J$1$l$P$J$i$J$$(B. +@item $B$b$7(B, @var{P} $B$,(B @var{INT[0]} $B$G@8@.$5$l$k@QJ,(B, $B@)8B%$%G%"%k$N85$G$J$$>l9g$O%(%i!<%a%C%;!<%8$,I=<($5$l$k(B. +@end itemize + +@node nk_restriction.ost_integration_ideal,,, D $B2C72$N@QJ,%$%G%"%k(B +@subsection @code{nk_restriction.ost_integration_ideal} +@comment --- $B:w0zMQ%-!<%o!<%I(B +@findex nk_restriction.ost_integration_ideal + +@comment --- $B4X?t$N4JC1$J@bL@(B --- +$B@QJ,NN0h$,6h4V$ND>@Q$G$"$k$h$&$J@QJ,$NK~$?$9(B +$B%[%m%N%_%C%/@FeC<$rI=$9%j%9%H(B +@end table + +@comment --- $B$3$3$G4X?t$N>\$7$$@bL@(B --- +@comment --- @itemize$B!A(B@end itemize $B$O2U>r=q$-(B --- +@comment --- @bullet $B$O9uE@IU$-(B --- +@itemize @bullet +@item $B2eC<$KL58BBg$r;XDj$9$k$H$-$O(B, $BJ8;zNs(B "inf", "+inf", "-inf" $B$rMQ$$$k(B. +@end itemize + +$B0J2<$O(B, Oaku-Shiraki-Takayama (2003) $B$NNc(B5.1$B$r7W;;$7$?$b$N$G$"$k(B. +@iftex +@tex +$ \int_0^\infty \exp((-t^3+t)x) dt $ +@end tex +$B$NHo@QJ,4X?t$NK~$?$9%[%m%N%_%C%/%$%G%"%k$O(B +@tex +$ I = \langle \partial_t +(3t^2-1)x, \partial_x+t^3-t \rangle $ +@end tex +$B$G$"$k$+$i(B, $B$3$l$rF~NO$H$7$F +$B$G$"$k$+$i(B, $B$3$l$rF~NO$H$7$F\$7$$@bL@(B --- +@comment --- @itemize$B!A(B@end itemize $B$O2U>r=q$-(B --- +@comment --- @bullet $B$O9uE@IU$-(B --- +@itemize @bullet +@item Oaku-Shiraki-Takayama (2003) $B$NBh(B6$B@a$N%"%k%4%j%:%`$NpJs$bJV$9(B. +@end itemize + +$B0J2<$O(B, Oaku-Shiraki-Takayama (2003) $B$NNc(B6.5$B$NHs@F +$B$G$"$k$+$i(B, $B$3$l$rF~NO$H$7$F(B($BL$J,N`(B),,, $B(B($BL$J,N`(B) + +@node tk_pfn.rkn,,, $Bl9g$K;H$&(B --- +@table @t +@item tk_pfn.rkn(@var{F},@var{X},@var{Y},@var{Xs},@var{Ys},@var{Ht},@var{H}) +:: Pfaffian $BJ}Dx<0$KBP$9$k(B Runge-Kutta $BK!(B +@end table + +@table @var +@item return +$B%j%9%H(B $BFHN)JQ?t$H2r$NAH(B +@item F, X, Y, Xs, Ys, Ht, H +@var{F} $B$O(B Pfaffian $BJ}Dx<0$N78?t9TNs%j%9%H(B. +@var{X} $B$OFHN)JQ?t%j%9%H(B. +@var{Y} $B$O=>B0JQ?t%j%9%H(B. +@var{Xs} $BFHN)JQ?t$N=PH/CM%j%9%H(B. +@var{Ys} $B$O=PH/;~$N=>B0JQ?t$NCM%j%9%H(B. +@var{Xt} $B$ODd;_$9$kFHN)JQ?t$NCM%j%9%H(B. +@var{H} $B$OHy>/?t(B. +@end table + +@itemize @bullet +@item $B$3$N4X?t$OO"N)(BPfaffian$BJ}Dx<0(B dY/d X[i] = F[i] Y $B$r?tCME*$K2r$/(B. +@item $BG$0U$N(B holonomic system $B$O(B Pfaffian $BJ}Dx<0$KJQ49$G$-$k(B ([SST, Chap 1]).$B!!JQ49$K$O(B yang.rr $B%Q%C%1!<%8$rMQ$$$k(B. +@item d F[i]/d X[j] + F[i] F[j] = d F[j]/d X[i] + F[j] F[i] = 0 $B$,G$0U$N(B i, j $B$KBP$7$F@.N)$7$F$$$k$3$H$,2r$,B8:_$9$kI,MW==J,>r7o$G$"$k(B. $B$3$N>r7o$,@.N)$7$J$$$H$-$K$3$N4X?t$rMQ$$$F2r$r7W;;$7$F$b$=$N2r$O56J*$G$"$k(B. +@item X[i] $B$,F0$/HO0O$OH(B. +@item $B2<$NNc$N=PNO$O(B X=(1,3) $B$G$NCM$,(B Y=(-8,2,-6) $B$G$"$k$3$H$r0UL#$9$k(B. +@item $B;29M(B. taka_runge_kutta.rr, yang.rr +@end itemize + +@example +[1355] import("tk_pfn.rr"); +[1590] tk_pfn.test1(); +Value at (3,0.1)[8.99,6,-0.2] +Value at (1,3)[-8,2,-6] +[[[1,3],-8,2,-6], + [[1,2.9],-7.41,2,-5.8], + --- snip --- + [[3,0.1],8.99,6,-0.2]] +@end example + + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item $B$3$N4X?t$O(B 2009-12 $B$+$i(B 2010-01 $B$K$+$1$F:G=i$NHG$,=q$+$l$?(B. +@item @code{OpenXM/src/asir-contrib/packages/src/tk_pfn.rr} 1.1, 1.2 +@item $B$3$N%b%8%e!<%k$NA0?H$O(B @code{tk_pf2.rr} $B$G$"$k(B. $B$3$l$OFHN)JQ?t$,(B 2 $B8D$N>l9g$G$"$k(B. +@end itemize + + +@node tk_pfn.graph,,, $Bl9g$K;H$&(B --- +@table @t +@item tk_pfn.graph(@var{Pf},@var{Dom},@var{Iv},@var{Step}) +:: 2$BJQ?t(B Pfaffian $BJ}Dx<0$r(B Runge-Kutta $BK!$G2r$$$F%0%i%UI=<($9$k(B. +@end table + +@table @var +@item return +$B%j%9%H(B $B%j%9%H$NMWAG$O0J2<$N7A<0(B [[x$B$NCM(B,y$B$NCM(B],Y_1$B$NCM(B,Y_2$B$NCM(B, ...]. +[x$B$NCM(B, y$B$NCM(B] $B$O(B [0,0],[0.2,0],[0.4,0], ... , [0,0.2],[0.2,0.2], ... $B$N$h$&$K(B +y $B$NCM$,30B&%k!<%W(B, x $B$NCM$,FbB&%k!<%W$N7A<0$GA}$($k(B. +@item Pf, Dom, Iv, Step +@var{Pf} $B$O(B Pfaffian $BJ}Dx<0$N78?t9TNs%j%9%H(B. $BFHN)JQ?t$O(B x, y $B$G8GDj(B. +@var{Dom} $B%j%9%H(B. $B2r$/$Y$-NN0h(B. +@var{Iv} $B%j%9%H(B. $BNN0h$N:8C<$G$N=i4|CM(B. +@var{Step} $B9o$_I}(B. +@end table + +@itemize @bullet +@item tk_pf2.rr, mt_graph.rr $B$r(B import $B$7$F$*$/I,MW$,$"$k(B. +@item $B$3$N4X?t$OO"N)(BPfaffian$BJ}Dx<0(B dY/dx = Pf[0] Y, dY/dy = Pf[1] Y $B$r?tCME*$K2r$$$F%0%i%UI=<($9$k(B. +@item @var{Dom} $B$O(B [[xmin,xmax],[ymin,ymax]] $B$N7A<0(B. +@item $BNc$O%=!<%9%3!<%I(B (@code{OpenXM/lib/asir-contrib/tk_pfn.rr} )$B$N(B @code{tk_pfn.testgraph1()}, @code{tk_pfn.testgraph2()} $B$r;2>H(B. +@item option $B$H$7$F$O(B fit=1 $B$,$"$k(B. Z$B<4$rE,59D4@0$9$k(B. +@item @var{Dom} $B$NC<$O%0%i%UI=<($N;~$K0lIt%+%C%H$5$l$k$N$GCm0U(B. +@end itemize + +@example +[1355] import("tk_pf2.rr"); import("mt_graph.rr"); import("tk_pfn.rr"); +[1590] tk_pfn.testgraph1(); + +$B$3$3$G(B testgraph1() $B$O0J2<$N$H$*$j(B. +def testgraph1() @{ + /* tk_bess2.bess2pf(1/2); */ + Pf= [[[ 0, (1)/(x), 0 ], + [ -x, (2*x^2+1)/(x), -2*x ], + [ -y, 0, 0 ]], + [[ 0, 0, (1)/(y) ], + [ -x, 0, 0 ], + [ -x, (1/2)/(x), (-1/2)/(y) ]]]; + /* tk_bess2.bess2Iv(1/2,[0.5,1.5]); */ + Iv = [0.105994,-0.651603,-0.760628]; + Dom=[[0.5,1.5],[1.5,9]]; + Step = 0.5; + return tk_pfn.graph(Pf,Dom,Iv,Step | fit=1); +@} + + +@end example + + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item $B$3$N4X?t$O(B 2010-08 $B$K:G=i$NHG$,=q$+$l$?(B. +@item @code{OpenXM/src/asir-contrib/packages/src/tk_pfn.rr} 1.8 +@end itemize + +@node tk_rk.runge_kutta_4,,, $Bl9g$K;H$&(B --- +@table @t +@item tk_rk.runge_kutta_4(@var{Eq},@var{X},@var{Y},@var{X0},@var{Y0},@var{Terminal},@var{Step}) +:: 4$B(B. +@var{Y} $B%j%9%H(B. $B=>B0JQ?t$N%j%9%H(B. +@var{Step} $B9o$_I}(B. +@item X0, Y0, Terminal +@var{X0} $B=PH/E@$N(B @var{X} $B$NCM(B. +@var{Y0} $B=PH/E@$G$N(B @var{Y} $B$N=i4|CM(B. +@var{Terminal} @var{X} $B$N=*CeE@(B. +@end table + +@itemize @bullet +@item taka_runge_kutta.rr $B$r(B import $B$7$F$*$/I,MW$,$"$k(B. +@item $B$3$N4X?t$OO"N)>oHyJ,J}Dx<0(B Y[0]'=Eq[0], Y[1]'=Eq[1], ... $B$r?tCME*$K2r$/(B. +@item $BNc$O%=!<%9%3!<%I(B (@code{OpenXM/lib/asir-contrib/src/taka_runge_kutta.rr} )$B$N(B +@code{tk_rk.test4()} $B$r;2>H(B. +@end itemize + +@example +[1355] import("taka_runge_kutta.rr"); +[1590] tk_rk.test4(); + +$B$3$3$G(B test4() $B$O0J2<$N$H$*$j(B. $B?6F0$NJ}Dx<0(B, y0'=y1, y1'=-y0 (y0''+y0=0). $BEz$O(B y0=cos(x) +taka_plot_auto $B$O2$K:G=i$NHG$,=q$+$l$?(B. 2010$BG/(B Pfaffian $B$N?tCM2r@O$N0Y$K:FEY@0Hw(B +@item @code{OpenXM/src/asir-contrib/packages/src/taka_runge_kutta.rr} 1.17 +@end itemize + +@node tk_rk.runge_kutta_4_linear,,, $Bl9g$K;H$&(B --- +@table @t +@item tk_rk.runge_kutta_4_linear(@var{P},@var{X},@var{Y},@var{X0},@var{Y0},@var{Terminal},@var{Step}) +:: 4$BB0JQ?t(B @var{Y} $B$OITMW(B. +@var{X} $BFHN)JQ?tL>(B. +@var{Y} $B%j%9%H(B. $B=>B0JQ?t$N%j%9%H(B. $B=>B0JQ?t$O<+F0@8@.$5$l$k(B. $B;H$o$l$F$$$J$$$N$G6u%j%9%H$G$h$$(B. +@var{Step} $B9o$_I}(B. +@item X0, Y0, Terminal +@var{X0} $B=PH/E@$N(B @var{X} $B$NCM(B. +@var{Y0} $B=PH/E@$G$N(B @var{Y} $B$N=i4|CM(B. +@var{Terminal} @var{X} $B$N=*CeE@(B. +@end table + +@itemize @bullet +@item taka_runge_kutta.rr $B$r(B import $B$7$F$*$/I,MW$,$"$k(B. +@end itemize + +@example +[1355] import("taka_runge_kutta.rr"); +[1590] A=tk_rk.runge_kutta_4_linear([[0,1],[-1,0]],x,[ ], 0, [1,0], 3.14*2, 0.1); +[1591] taka_plot_auto(A); + +$B?6F0$NJ}Dx<0(B, y0'=y1, y1'=-y0 (y0''+y0=0). $BEz$O(B y0=cos(x) $B$r2r$$$F$$$k(B. +taka_plot_auto $B$O2l9g$K;H$&(B --- +@table @t +@item fj_simp.simplify(@var{arg1}) +:: arg1 $B$r4JC12=$9$k(B. +@end table + +@table @var +@item return +$BB?9`<0(B, $BM-M}<0(B $B$^$?$O(B quote +@item arg1 +$BB?9`<0(B $B$^$?$O(B $BM-M}<0(B +@end table + +@itemize @bullet +@item +$B8=:_$N%P!<%8%g%s$G$O(B fj_simp.simplify $B$G$J$/(B, $BC1$K(B simplify $B$H$h$V(B. +@item +$B$3$N4X?t$O(B +Joel S. Cohen, Computer Algebra and Symbolic Computation, +http://web.cs.du.edu/~jscohen/MathematicalMethods/index.htm +$B$K5-=R$5$l$F$$$k(B Automatic simplification algorithm $B$H(B +B.F.Caviness, R.J.Fateman, Simplification of Radical Expressions (1976) +$B$K5-=R$5$l$F$$$k(B radcan $B%"%k%4%j%:%`$NH(B +@ref{quote} +@end table + +@noindent +ChangeLog +@itemize @bullet +@item +$B>-MhE*$K$O(B module $B2=$7$F(B fj_simp module $B$K4^$a$kM=Dj(B. +poly_simplify $B$+$i(B fj_simp.simplify $B$r8F$V(B. +@item +Todo: exp $B0J30$NFCl9g$K;H$&(B --- +@table @t +@item tk_jack.zonel(@var{p},@var{n}) +:: $BJ,3d(B p $B$KBP$9$k(B n $BJQ?t$N(B zonal $BB?9`<0$r=PNO$9$k(B. +@end table + +@table @var +@item return +$BB?9`<0(B. x_1, x_2, ... $B$,JQ?t(B. +@item p +$B?t$N%j%9%H(B. p=[p0,p1,...] $B$N;~(B p0>=p1>=...>0. +@item n +$B<+A3?t(B +@end table + +@itemize @bullet +@item +$B$3$N4X?t$O(B +Koev-Edelman $B$K$h$k(B Pieri $B7?8x<0$rMQ$$$?(B Jack symmetric function $B$N7W;;(B +$B%"%k%4%j%:%`$N\$7$/$O(B Wikipedia $B1Q8lHG(B Jack symmetric function $B$N9`$r;2>H(B. +@item zonal(P,N) = jack(P,N,2) $B$G$"$k(B. +@end itemize + +@example +load("tk_jack.rr"); +[1434] tk_jack.zonal([3,2,1],3); +(112*x_3*x_2^2+112*x_3^2*x_2)*x_1^3+(112*x_3*x_2^3+168*x_3^2*x_2^2+112*x_3^3*x_2)*x_1^2+(112*x_3^2*x_2^3+112*x_3^3*x_2^2)*x_1 +[1435] tk_jack.zonal([1,1],3); +(2*x_2+2*x_3)*x_1+2*x_3*x_2 +[1436] tk_jack.jack([1,1],3,2); +(2*x_2+2*x_3)*x_1+2*x_3*x_2 +@end example + +@table @t +@item $B;2>H(B +@end table + +@noindent +ChangeLog +@itemize @bullet +@item +$B$3$N4X?t$O(B wishart $BJ,I[$K=>$&BP>N9TNs$NBh0l8GM-CM$,(B x $B0J2<$G$"$k3NN($N7W;;$r(B +holonomic gradient method $B$G$d$k$?$a$K$=$N=i4|CM$r7W;;$9$k(B C $B$N%W%m%0%i%`$,(B +$BI,MW$G$"$C$?(B. $B$=$l$r(B debug $B$9$k$?$a$K$H$j$"$($:=q$$$?$b$N(B. +@item $B:GE,2=$r$^$@$^$@$5$\$C$F$k(B. +@end itemize + +@node ot_hgm_ahg.cbase,,, $BH(B +@ref{get_mat2} +@end table + +@noindent +ChangeLog +@itemize @bullet +@item +$B$3$N4X?t$O(B 2012 $B$+$i(B 2014-$B=U5Y$_$K$+$1$F$+$+$l$?(B. +@item version 1.1 $B0JA0$NHG$O(B h-mle/A-hg/Prog ($B8&5f%0%k!<%W$N6&M-%U%)%k%@(B) $B$K$"$j(B. +@end itemize + +@node ot_hgm_ahg.get_mat2,,, $BJN,(B +@end example + +@table @t +@item $B;2>H(B +@ref{cbase} +@end table + +@noindent +ChangeLog +@itemize @bullet +@item +$B$3$N4X?t$O(B 2012 $B$+$i(B 2014-$B=U5Y$_$K$+$1$F$+$+$l$?(B. +@item version 1.1 $B0JA0$NHG$O(B h-mle/A-hg/Prog ($B8&5f%0%k!<%W$N6&M-%U%)%k%@(B) $B$K$"$j(B. +@item +$B%=!<%9(B ot_hgm_ahg.rr $B$N(B test3(), test3b(), test4(), test5(), test6(), test6c() $BEy$KMxMQNc$,$"$k(B. +@item +test3b() $B$G(B @var{Mset} $B$r0lA0(B. +@item $B%=!<%9Cf$NMxMQNc(B. test_fd_conti(), test_c111_conti() +@item +$B%"%k%4%j%:%`$*$h$SMxE@$O(B +K.Ohara, N.Takayama, Pfaffian Systems of A-Hypergeometric Equations II, Holonomic Gradient Method +$B;2>H(B. +@end itemize + +@example +[2190] import("ot_hgm_ahg.rr"); +1 +[2191] ot_hgm_ahg.test_fd_conti(); +(Todo, $B0z?t$,$I$&$J$k$+$NNc$r2C$($k(B.) +@end example + +@table @t +@item $B;2>H(B +@ref{get_mat2} +@ref{hgm_ahg_expected_value_contiguity} +@ref{hgm_ahg} +@end table + +@noindent +ChangeLog +@itemize @bullet +@item +$B$3$N4X?t$O(B 2014-07-11 $B$K:G=i$NHG$,(B 1.10$BHG(B ot_hgm_ahg.rr $B$K(B commit $B$5$l$?(B. +@item $B%$%s%?%U%'!<%9$,99?7$5$l$?HG$O(B, 1.??$BHG(B. +@end itemize + +@comment ------------------- +@comment tk_hgpoly.optip +@comment ------------------- +@node tk_hgpoly.optip,,, $B.2=$9$k(B U $B$rLa$9(B. +@end itemize + +@example +[0] import("tk_hgpoly.rr"); +[2191] tk_hgpoly.optip([[1,1,1,1],[0,1,2,3]],[20,40],[1,1,1,0]); +[6,1,0,13] +@end example + +@table @t +@item $B;2>H(B +@ref{feasible} +@end table + +@noindent +ChangeLog +@itemize @bullet +@item +$B$3$N4X?t$O(B 2014-12-12 $B$K(B commit $B$5$l$?(B. +$B85HG$O(B h-mle/A-hg/Prog +@end itemize + +@comment ------------------- +@comment tk_hgpoly.hgpoly +@comment ------------------- +@node tk_hgpoly.hgpoly,,, $B>+(1)*<<1,0,1,0>>] +@end example + + +@noindent +ChangeLog +@itemize @bullet +@item +$B$3$N4X?t$O(B 2014-12-12 $B$K(B commit $B$5$l$?(B. +@end itemize + +@comment ------------------- +@comment tk_fd.abc2ahg +@comment ------------------- +@node tk_fd.abc2ahg,,, $BH(B +@ref{abc2marginal} +@ref{marginal2abc} +@end table + +@noindent +ChangeLog +@itemize @bullet +@item +$B$3$N4X?t$O(B 2014-12-13 $B$K(B tk_fd.rr $B$KDI2C$5$l$?(B. +@end itemize + +@comment ------------------- +@comment tk_fd.ahvec_abc +@comment ------------------- +@node tk_fd.ahvec_abc,,, $BH(B +@ref{expectation_abc} +@end table + +@noindent +ChangeLog +@itemize @bullet +@item +$B$3$N4X?t$O(B 2014-$B2F$K3+H/$5$l$?(B. +@end itemize + + +@node pari setbprec setround todouble mpfr_gamma mpfr_floor mpfr_round,,, $Bl9g$K;H$&(B --- +@table @t +@item pari(@var{arg1},@var{arg2},...) +:: MPFR $B$G(B pari $B$N4X?t$r(B emulate $B$9$k$+(B ox_pari $B%5!<%P!<$r8F$S=P$9(B. +@itemx setbprec(@var{arg1}) +@itemx setround(@var{arg1}) + $B4]$a$NJ}K!$N;XDj(B. mpfr $B=`5r(B. +@itemx todouble(@var{arg1}) +:: bigfloat $B7?$r(B double $B$KJQ49$9$k(B. +@itemx mpfr_gamma(@var{arg1}) +:: gamma $B4X?t$N7W;;(B. +@itemx mpfr_floor(@var{arg1}) +:: floor $B$N7W;;(B. +@itemx mpfr_round(@var{arg1}) +:: $B4]$a$N7W;;(B. +@end table + +@table @var +@item return +$B8e=R(B. +@item arg1, arg2 +$B8e=R(B. +@end table + +@itemize @bullet +@item 20150807 $B0J9_$N(B asir $B$G$O(B, bigfloat $B$,(B pari $B$G$O$J$/(B mpfr $B$rMQ$$$F7W;;$5$l$k(B. +Todo, pari $B$O(B ox_pari $B$r8F$S=P$9$,(B, $B$^$@(B ox_pari $B$KL$H(B +@ref{pari} +@end table + +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. +@noindent +ChangeLog +@itemize @bullet +@item $B$3$l$i$NBgJQ99$O(B 2015-08-03 $B$h$j(B 08-07 $B$N(B asir $B9g=I$G$*$3$J$o$l$?(B. +$B$^$@:n6HCf(B. Todo, asirgui $B$X$NBP1~(B. debug, ... +@item $BJQ99$r$&$1$?%=!<%9%3!<%I$O(B asir2000/builtin/bfaux.c, +asir2000/engine/bf.c, asir2000/builtin/parif.c $BEyB??t(B. +@end itemize + +@comment **************************************************************** +@comment --- $B"~"~"~"~(B $B0J2$N4X?t$K$D$$$F??;w$7$F5-=R$9$k(B. $B"~"~"~"~(B +@comment $B?7$7$$4X?t$N@bL@$r=q$/$?$a$N%F%s%W%l!<%H$G$"$k(B. $B>C$9$J(B. +@comment --- $B"~"~"~"~(B $B4X?t(B syz_pqr, xyz_stu $B$N@bL@(B $B"~"~"~"~(B +@comment --- $BJ#?t$N4X?t$r$^$H$a$F@bL@$9$kNc(B --- +@node xyz_pqr syz_stu,,, $BC$9$J(B. @item @code{xyz_pqr()} $B$O(B, @var{arg1}, @var{arg2} $B$r(B pqr $B$9$k(B. @item @@ -263,7 +4392,8 @@ ChangeLog @ref{xyz_abc} @end table -@comment --- ChangeLog $B$r=q$/(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- ChangeLog $B$r=q$/(B. $BF05!(B. $B%=!<%9%3!<%I$N0LCV(B. $BJQ99F|;~(B $B$J$I(B CVS$B%5!<%P$r8+$k$?$a(B +@comment --- openxm $B$N30It$+$i$N4sM?$b=R$Y$k(B. Credit. @noindent ChangeLog @itemize @bullet @@ -272,9 +4402,6 @@ ChangeLog $BJQ99$r$&$1$?%=!<%9%3!<%I$O(B xxxyy.rr, ppp.c $B$G$"$k(B. @item $B$3$N4X?t$O(B 2000 $B:"$K$O$8$a$F$N%P!<%8%g%s$,=q$+$l$?(B. $B%=!<%9$O(B ppp.c $B$G$"$k(B. @end itemize - -@comment --- $B"~"~"~"~(B $B0J2$N4X?t$K$D$$$F??;w$7$F5-=R$9$k(B. $B"~"~"~"~(B - @comment --- $B$*$^$8$J$$(B --- @node Index,,, Top