[BACK]Return to tr-ja.oxt CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-contrib / testing

Diff for /OpenXM/src/asir-contrib/testing/tr-ja.oxt between version 1.2 and 1.6

version 1.2, 2005/04/01 11:34:21 version 1.6, 2005/04/15 12:47:14
Line 1 
Line 1 
 /*&generate-prologue  
 */  
 $Id$  $Id$
 $OpenXM: OpenXM/src/asir-contrib/testing/tr-ja.oxt,v 1.1 2005/04/01 08:08:36 takayama Exp $  $OpenXM: OpenXM/src/asir-contrib/testing/tr-ja.oxt,v 1.5 2005/04/06 09:26:28 takayama Exp $
   
 $BCm0U(B: testing/tr.rr $B$G$O(B quote $B$r(B quotetolist $B$G(B list $B$KJQ49$7$F07$&$?$a(B,  $BCm0U(B: testing/tr.rr $B$G$O(B quote $B$r(B quotetolist $B$G(B list $B$KJQ49$7$F07$&$?$a(B,
       $B2<$N;EMM$H$O$3$H$J$j(B, list $B7?$G%G!<%?$rLa$9>l9g$bB?$$(B.        $B2<$N;EMM$H$O$3$H$J$j(B, list $B7?$G%G!<%?$rLa$9>l9g$bB?$$(B.
       $B%f!<%68@8l$G=q$$$F$$$k4X78>e(B pn(x) $B$r(B pn("x") $B$H$7$F$$$k(B.        $B%f!<%68@8l$G=q$$$F$$$k4X78>e(B pn(x) $B$r(B pn("x") $B$H$7$F$$$k(B.
       $BB>$K$bF1MM$J4X?t$,$"$j(B.        $BB>$K$bF1MM$J4X?t$,$"$j(B.
   
 @c --------------------------------------------------------------------  $B$3$N%U%!%$%k$+$i(B texi $B%U%!%$%k$r:n@.$9$k$K$O0J2<$N$h$&$KF~NO$7$F2<$5$$(B.
   oxgentexi $B$O(B OpenXM/src/util $B$N2<$K$"$j$^$9(B.
   
   nkf -e tr.oxt | oxgentexi --noSorting --title 'Term rewriting functions for Risa/Asir' --author 'Nobuki Takayama' >t.texi
   
   begin: AAA01|
   
   @c ---------------------------------------------------------
   @section $BJQ?t%Q%?!<%s$H4X?t%Q%?!<%s(B
   
   
   $BJQ?t%Q%?!<%s(B
   
   pn(x)                    $BG$0U$N$b$N$K%^%C%A(B. $B%^%C%A$7$?$b$N$r(B x $B$K(B bind.
   pn(x,qt_is_integer(x))
   
   Todo; fn $B$OB?J,$$$i$J$$(B. qt_is_function(x) $B$G(B OK.
   fn(f)                    $BG$0U$N4X?t$K%^%C%A(B. $B%^%C%A$7$?4X?tL>$r(B f $B$K(B bind.
   fn(f,pn(x),pn(y))        $BG$0U$N4X?t$K%^%C%A(B. $B%^%C%A$7$?4X?tL>$r(B f $B$K(B bind.
                            f $B$N0z?t$r(B x, y $B$K(B bind
   
   
   $B%Q%?!<%s$O(B quote $B$GM?$($k(B.
   $BM=Ls8l(B  tr_and, tr_or, tr_not  $B$O%Q%?!<%s$N%^%C%A$K4X$7$FO@M}1i;;$r$*$3$J$&(B.
   $B$?$H$($P(B
   quote(tr_and(pn(x,qt_is_integer),pn(x,qt_is_non_negative(x))))
   $B$O(B x $B$,(B $B@0?t$G(B - $B$,@hF,$K$D$$$F$$$J$$>l9g%^%C%A$9$k(B.
   
   end:
   
   begin: AAA02|
   
 @section quote $B$KBP$9$k4pK\4X?t(B  @section quote $B$KBP$9$k4pK\4X?t(B
   
 /*&usage begin: qt_node(Q)  end:
   
   
   begin: qt_node(Q)
  quote $B%G!<%?(B {Q} $B$N(B node $B$r<h$j=P$9(B.   quote $B%G!<%?(B {Q} $B$N(B node $B$r<h$j=P$9(B.
  example: qt_node(quote(1+2*3))   example: qt_node(quote(1+2*3))
 end: */  end:
   
   
 /*&usage begin: qt_nchild(Q)  begin: qt_nchild(Q)
  quote $B%G!<%?(B {Q} $B$N(B $B;R6!$N?t$rLa$9(B.   quote $B%G!<%?(B {Q} $B$N(B $B;R6!$N?t$rLa$9(B.
  example: qt_nchild(quote(1+2*3))     2 $B$rLa$9(B.   example: qt_nchild(quote(1+2*3))     2 $B$rLa$9(B.
 end: */  end:
   
   
 /*&usage begin: qt_child(Q,K)  begin: qt_child(Q,K)
  quote $B%G!<%?(B {Q} $B$N(B {K} $BHVL\$N;R6!$rLa$9(B.   quote $B%G!<%?(B {Q} $B$N(B {K} $BHVL\$N;R6!$rLa$9(B.
  example: qt_child(quote(1+2*3),1)     quote(2*3) $B$rLa$9(B.   example: qt_child(quote(1+2*3),1)     quote(2*3) $B$rLa$9(B.
 end: */   example: qt_child(quote(1+2*3),0)     quote(1) $B$rLa$9(B.
   end:
   
 @c --------------------------------------------------------------------  @c --------------------------------------------------------------------
 @subsection quote $B$KBP$9$k=R8l(B  @subsection quote $B$KBP$9$k=R8l(B
   
 /*&usage begin: qt_is_integer(Q)  begin: qt_is_integer(Q)
  quote $B%G!<%?(B {Q} $B$,@0?t$J$i(B 1   quote $B%G!<%?(B {Q} $B$,@0?t$J$i(B 1
  example: qt_is_integer(quote(0))   example: qt_is_integer(quote(0))
 end: */  end:
   
 /*&usage begin: qt_depend(Q,x)  begin: qt_is_dependent(Q,x)
  quote $B%G!<%?(B {Q} $B$,ITDj85(B {x} $B$r4^$`$H(B 1, $B4^$^$J$$$H(B 0.   quote $B%G!<%?(B {Q} $B$,ITDj85(B {x} $B$r4^$`$H(B 1, $B4^$^$J$$$H(B 0.
  example: qt_depend(quote(1+1/x),x)   example: qt_is_dependent(quote(1+1/x),x)
 end: */  end:
   
   begin: qt_is_function(Q)
    quote $B%G!<%?(B {Q} $B$,4X?t$N$H$-(B 1, $B$=$&$G$J$$$H$-(B 0.
    example: qt_is_function(f(x,y));
   end:
   
 @c --------------------------------------------------------------------  @c --------------------------------------------------------------------
 @subsection quote $B$KBP$9$k%3%s%9%H%i%/%?(B  @subsection quote $B$KBP$9$k%3%s%9%H%i%/%?(B
   
 /*&usage begin: qt_zero()  begin: qt_zero()
  quote 0 $B$rLa$9(B.   quote 0 $B$rLa$9(B.
 end: */  end:
   
 /*&usage begin: qt_id(Qobj)  begin: qt_id(Qobj)
  quote object {Qobj} $B$r$=$N$^$^La$9(B.   quote object {Qobj} $B$r$=$N$^$^La$9(B.
 end: */  end:
   
 /*&usage begin: qt_replace(Qobj,[[x,Valuex],[y,Valuey],...])  begin: qt_replace(Qobj,[[x,Valuex],[y,Valuey],...])
    quote object {Qobj} $B$NCf$N(B x $B$r(B Valuex, y $B$r(B Valuey, ... $B$KCV$-49$($?(B     quote object {Qobj} $B$NCf$N(B x $B$r(B Valuex, y $B$r(B Valuey, ... $B$KCV$-49$($?(B
    quote object $B$rLa$9(B.     quote object $B$rLa$9(B.
 end: */     description:
       $B2]Bj(B; x, y $B$OBgJ8;z$b5v$9$+(B? @var{Qobj} $B$b85!94^$^$l$F$$$kBgJ8;z$rI>2A$7$FCV$-49$($k(B
       $B4X?t$bI,MW$+(B?
   
 /*&usage begin: qt_parenthesis(Qobj)     example: qt_replace(quote(sin(x*@pi)), [[x,quote( (2*t+3) )]])
   end:
   
      qt_replace $B$O(B asir-contrib $B$N(B base_replace $B$H;w$?5!G=(B.
      quote $B$NFbIt$KBgJ8;z$G$O$8$^$kJQ?t(B($BI>2A$9$k(B)$B$,=q$1$J$$$?$a(B.
   
   begin: qt_parenthesis(Qobj)
    quote object {Qobj} $B$NCf$N3g8L$,B-$j$J$$$H$-$K$OJd$$(B, $BB?$$$H$-$K$O<h$j5n$C$?(B     quote object {Qobj} $B$NCf$N3g8L$,B-$j$J$$$H$-$K$OJd$$(B, $BB?$$$H$-$K$O<h$j5n$C$?(B
    quote object $B$r:n$k(B.     quote object $B$r:n$k(B.
    +, *, /, ^, - $BEy$K$D$$$F$N(B asir $B$NJ8K!$G$N1i;;;R$N6/$5$r2>Dj$9$k(B.     +, *, /, ^, - $BEy$K$D$$$F(B asir $B$NJ8K!$G$N1i;;;R$N6/$5$r2>Dj$9$k(B.
 end: */    description:
     $B;29M(B;
      noro_simplify.rr  $B$N(B @code{remove_paren()} $B$,$9$G$K<B8=$E$_(B?
      @code{flatten()} $B$d(B @code{quote_to_funargs()} $B$rMxMQ$7$F$kLOMM(B.
   
 /*&usage begin: qt_eval(Qobj,type)  end:
   
   begin: qt_eval(Qobj,type)
    Qobj $B$r(B asir $B$NB>$N(B object $B$KJQ49(B.     Qobj $B$r(B asir $B$NB>$N(B object $B$KJQ49(B.
 end: */    description:
      @code{eval_quote()} $B$,$9$G$K<B8=$E$_(B.
   
 /*&usage begin: qt_(Obj)  end:
   
   begin: qt_(Obj)
    asir $B$N(B Obj $B$r(B quote $B7?$KJQ49(B.     asir $B$N(B Obj $B$r(B quote $B7?$KJQ49(B.
 end: */     description:
        @code{objtoquote()} $B$,$9$G$K<B8=$E$_(B.
   
 $B$=$NB>(B qt_expand, qt_sort, qt_ht, qt_rest, qt_mtov $B$b4pAC4X?t$H$7$FM_$7$$(B.  end:
   
   
   begin: tr|
   
 @c --------------------------------------------------------------------  @c --------------------------------------------------------------------
 @section tr (term rewriting) $B$N%H%C%W%l%Y%k$N4X?t(B  @section tr (term rewriting) $B$N%H%C%W%l%Y%k$N4X?t(B
   
 /*&usage begin: tr_match0(Qobj,P)  end:
   
   begin: tr_match0(Qobj,P)
  quote $B%G!<%?(B {Qobj} $B$,(B $B%Q%?!<%s(B {P} $B$KE,9g$9$l$P(B 1 $B$rLa$7(B, $B$=$&$G$J$1$l$P(B 0   quote $B%G!<%?(B {Qobj} $B$,(B $B%Q%?!<%s(B {P} $B$KE,9g$9$l$P(B 1 $B$rLa$7(B, $B$=$&$G$J$1$l$P(B 0
  $B$rLa$9(B.   $B$rLa$9(B.
  example: tr_match0(quote(1+2*3),quote(pn(x)+pn(y)))   example: tr_match0(quote(1+2*3),quote(pn(x)+pn(y)))
           tr_match0(quote(1+2*3),quote(pn(x)+pn(y,qt_is_integer,x)))                   x $B$K(B quote(1), y $B$K(B quote(2*3)
 end: */            tr_match0(quote(1+2*3),quote(pn(x)+pn(y,qt_is_integer,y)))
                    qt_is_integer(2*3) $B$O(B 0 $B$J$N$G(B y $B$K$O%^%C%A$7$J$$(B.
   end:
   
 pn(x) $B$OG$0U$N(B quote object $B$K%^%C%A$7(B, $BL>A0(B x $B$r$D$1$k(B.  begin: pn(X)
 tr_match0(quote(1+2*3),quote(pn(x)+pn(y)))  $B$O(B 1 $B$rLa$9$,(B,    pn(x) $B$OG$0U$N(B quote object $B$K%^%C%A$7(B, $BL>A0(B x $B$r$D$1$k(B.
 tr_match0(quote(1+2*3),quote(pn(x)+pn(y,tr_is_integer,x))) $B$O(B 0 $B$r$b$I$9(B.  description:
 2*3 $B$O(B integer $B$+$i:n$i$l$?(B fnode $B$G$O$"$k$,(B integer $B$G$O$J$$$N$G(B qt_is_integer    tr_match0(quote(1+2*3),quote(pn(x)+pn(y)))  $B$O(B 1 $B$rLa$9$,(B,
 $B$,(B 0 $B$rLa$9$?$a(B.    tr_match0(quote(1+2*3),quote(pn(x)+pn(y,tr_is_integer,x))) $B$O(B 0 $B$r$b$I$9(B.
     2*3 $B$O(B integer $B$+$i:n$i$l$?(B fnode $B$G$O$"$k$,(B integer $B$G$O$J$$$N$G(B qt_is_integer
     $B$,(B 0 $B$rLa$9$?$a(B.
   end:
   
 /*&usage begin: tr_match1(Qobj,P,Act)  begin: tr_match0_act(Qobj,P,Act)
  quote $B%G!<%?(B {Qobj} $B$,(B $B%Q%?!<%s(B {P} $B$KE,9g$9$l$P(B {Act} $B$r8F$S=P$7$=$NCM$rLa$9(B.   quote $B%G!<%?(B {Qobj} $B$,(B $B%Q%?!<%s(B {P} $B$KE,9g$9$l$P(B {Act} $B$r8F$S=P$7$=$NCM$rLa$9(B.
  $B%Q%?!<%s(B {P} $B$K%^%C%A$7$J$$$H$-$O(B 0.   $B%Q%?!<%s(B {P} $B$K%^%C%A$7$J$$$H$-$O(B 0.
   
  example: tr_match1(quote(1+2*3),quote(pn(x)+pn(y)),[myadd,x,y])   example: tr_match0_act(quote(1+2*3),quote(pn(x)+pn(y)),[myadd,x,y])
 end: */  end:
   
 /*&usage begin: tr_or_match1(Qobj,Rules)  begin: tr_or_match0_act(Qobj,Rules)
 end: */  end:
   
 /*&usage begin: tr_apply_rule1(Qobj,P,Act)  begin: tr_apply_rule1(Qobj,P,Act)
  quote $B%G!<%?(B {Qobj} $B$NLZ$rI}M%@hC5:w$7(B,   quote $B%G!<%?(B {Qobj} $B$NLZ$rI}M%@hC5:w$7(B,
  $B%Q%?!<%s(B {P} $B$KE,9g$9$k$b$N$,$"$k$H$-$O(B {Act} $B$r8F$S=P$7$=$NCM$rLa$9(B.   $B%Q%?!<%s(B {P} $B$KE,9g$9$k$b$N$,$"$k$H$-$O(B {Act} $B$r8F$S=P$7$=$NCM$rLa$9(B.
  $B$D$^$j(B top node $B$,(B {P} $B$KE,9g$9$k$+D4$Y(B, $BE,9g$7$J$$>l9g$O$=$N;R6!$K(B   $B$D$^$j(B top node $B$,(B {P} $B$KE,9g$9$k$+D4$Y(B, $BE,9g$7$J$$>l9g$O$=$N;R6!$K(B
   tr_apply_rule1 $B$rE,MQ$9$k(B ($B$3$3$,(B tr_match1 $B$H$O0[$J$k(B).    tr_apply_rule1 $B$rE,MQ$9$k(B ($B$3$3$,(B tr_match_act $B$H$O0[$J$k(B).
  $B%^%C%A$7$J$$>l9g$O(B Qobj $B$r$=$N$^$^La$9(B ($B$3$l$,:F5"E*$KE,MQ$5$l$k(B).   $B%^%C%A$7$J$$>l9g$O(B Qobj $B$r$=$N$^$^La$9(B ($B$3$l$,:F5"E*$KE,MQ$5$l$k(B).
   
  example: tr_apply_rule1(quote(1+sin(2*@pi)),quote(sin(pn(x)*@pi)),[sin_int,x])  description:
 end: */   $B$3$3$G(B sin_int(X) $B$O(B X $B$,(B integer $B$N;~$O(B quote(0) $B$rLa$7(B,
    $B$=$&$G$J$$$H$-$O(B quote(sin(X*@@pi)) $B$rLa$9(B.
  $B?<$5M%@h$G=q$-49$($r$9$k$K$O(B $B4X?t(B sin_int $B$NCf$G$^$?(B tr_apply_rule1 $B$r8F$S=P$;$P(B   $B?<$5M%@h$G=q$-49$($r$9$k$K$O(B $B4X?t(B sin_int $B$NCf$G$^$?(B tr_apply_rule1 $B$r8F$S=P$;$P(B
  $B$h$$(B.   $B$h$$(B.
   
 /*&usage begin: tr_apply_or_rules(Qobj,Rules)   example: tr_apply_rule1(quote(1+sin(2*@pi)),quote(sin(pn(x)*@pi)),[sin_int,x])
 end: */  end:
   
 @subsection $BFbIt4X?t(B  
   
 /*&usage begin: tr_apply_function0(Qobj,Arg1,...)  begin: tr_apply_or_rules(Qobj,Rules)
 end: */  end:
   
 /*&usage begin: tr_rp(Qobj,P,A)  @subsection $BFbIt4X?t(B
 end: */  
   
 /*&usage begin: tr_make_binding(Qobj,P)  begin: tr_apply_function0(Qobj,BindingTable)
 end: */  end:
   
 @c ---------------------------------------------------------  begin: tr_rp(Qobj,P,A)
 @section $BJQ?t%Q%?!<%s$H4X?t%Q%?!<%s(B  end:
   
 $BNc(B:  begin: tr_make_binding(Qobj,P)
 pn(x)                    $BG$0U$N$b$N$K%^%C%A(B. $B%^%C%A$7$?$b$N$r(B x $B$K(B bind.  end:
 pn(x,qt_is_integer(x))  
 fn(f)                    $BG$0U$N4X?t$K%^%C%A(B. $B%^%C%A$7$?4X?tL>$r(B f $B$K(B bind.  
 fn(f,pn(x),pn(y))        $BG$0U$N4X?t$K%^%C%A(B. $B%^%C%A$7$?4X?tL>$r(B f $B$K(B bind.  
                          f $B$N0z?t$r(B x, y $B$K(B bind  
   
 @c ---------------------------------------------------------  
 @section $B%Q%?!<%s(B  
   
 $B%Q%?!<%s$O(B quote $B$GM?$($k(B.  begin: zzz00|
 $BM=Ls8l(B  tr_and, tr_or, tr_not  $B$O%Q%?!<%s$N%^%C%A$K4X$7$FO@M}1i;;$r$*$3$J$&(B.  
 $B$?$H$($P(B  
 quote(tr_and(pn(x,qt_is_integer),pn(x,qt_is_non_negative)))  
 $B$O(B x $B$,(B $B@0?t$G(B - $B$,@hF,$K$D$$$F$$$J$$>l9g%^%C%A$9$k(B.  
   
 @c ---------------------------------------------------------  @section $BNcBj(B
 @section $BNcBj(B  sin($B@0?t(B*@pi) $B$r(B 0 $B$K(B.  
   
   end:
   
   begin: zzz01|
   $BNcBj(B  sin($B@0?t(B*@@pi) $B$r(B 0 $B$K(B.
   example:
    /* $B=`Hw(B */     /* $B=`Hw(B */
    extern P,A;     extern P,A;
    P=quote(sin(pn(x)*@pi));  /* $B%Q%?!<%s(B */     P=quote(sin(pn(x)*@pi));  /* $B%Q%?!<%s(B */
Line 161  quote(tr_and(pn(x,qt_is_integer),pn(x,qt_is_non_negati
Line 218  quote(tr_and(pn(x,qt_is_integer),pn(x,qt_is_non_negati
    /* $B7W;;(B */     /* $B7W;;(B */
    Qobj=quote(1+sin(sin(2*@pi)*@pi)*sin((1/2)*@pi));     Qobj=quote(1+sin(sin(2*@pi)*@pi)*sin((1/2)*@pi));
    tr_apply_rule1(Qobj,P,A);     tr_apply_rule1(Qobj,P,A);
   end:
   
   @c ------------------------------------------------------
   @section $BNcBj(B Mathematica $B$N(B N[ ] $BAjEv$N4X?t$r%f!<%6$,=q$1$k$h$&$K(B.
   
   begin: zzz02|
   $BNcBj(B Mathematica $B$N(B N[ ] $BAjEv$N4X?t$r%f!<%6$,=q$1$k$h$&$K(B.
   example:
       nn(sin(cos(@pi)+sqrt(2)))
       --> nn(sin(nn(cos(nn(@pi)))+nn(sqrt(nn(2)))))
      Prog; test1-tr.rr $B$N(B test4().
   
     qt_map_arg $B4X?t$rMQ$$$k(B.
     def test4() {
       Rule=[quote(nn(pn(f))),[qt_map_arg,nn,f]];
       /* nn $B$G0O$^$l$?$b$N$,$"$l$P(B, nn $B$r$=$NFbIt$K:F5"E*$K(B apply $B$9$k(B */
       R0 = quote(nn(sin(1/2)*cos(1/3)));
       print(print_input_form(R0));
       R=tr_apply_rule1(R0,Rule[0],Rule[1]);
       return R;
     }
   
   end:
   
 @c ---------------------------------------------------------  @c ---------------------------------------------------------
 @section $BNcBj(B  $BITDj@QJ,(B  @section $BNcBj(B  $BITDj@QJ,(B
   
   begin: zzz03|
   $BNcBj(B  $BITDj@QJ,(B
   example:
    /* integral(f+g) => integral(f)+integral(g) */     /* integral(f+g) => integral(f)+integral(g) */
    S1=[quote(integral(pn(f)+pn(g))),     S1=[quote(integral(pn(f)+pn(g))),
        [int_linear1,f,g]];         [int_linear1,f,g]];
Line 187  quote(tr_and(pn(x,qt_is_integer),pn(x,qt_is_non_negati
Line 269  quote(tr_and(pn(x,qt_is_integer),pn(x,qt_is_non_negati
    a*integral(x^2)+integral(x)+integral(2/x);     a*integral(x^2)+integral(x)+integral(2/x);
   
    quote(integral(x^pn(n))) --> x^(n+1)/(n+1) or log(x) $B$r=q$/(B.     quote(integral(x^pn(n))) --> x^(n+1)/(n+1) or log(x) $B$r=q$/(B.
   end:
   
 @c ---------------------------------------------------------  @c ---------------------------------------------------------
 @section $BNcBj(B  $B4JC1$J9=J82r@O(B  @section $BNcBj(B  $B4JC1$J9=J82r@O(B
   
   begin: zzz04|sortKey: zzz04
   description:
   
   $BNcBj(B  $B4JC1$J9=J82r@O(B
   
   example:
    $B<0(B(expression) $B$O(B $B<0(B+$B<0(B | $B<0(B*$B<0(B | ($B<0(B) | $B@0?t(B     $B<0(B(expression) $B$O(B $B<0(B+$B<0(B | $B<0(B*$B<0(B | ($B<0(B) | $B@0?t(B
   
    extern R1,R2,R3,R4,S1,S2,S3,S4;     extern R1,R2,R3,R4,S1,S2,S3,S4;
Line 226  quote(tr_and(pn(x,qt_is_integer),pn(x,qt_is_non_negati
Line 315  quote(tr_and(pn(x,qt_is_integer),pn(x,qt_is_non_negati
   
    /* $B7W;;(B */     /* $B7W;;(B */
    tr_eval_expression(quote(1+2*(3+15)));     tr_eval_expression(quote(1+2*(3+15)));
   end:
   
 @c ---------------------------------------------------------  begin: misc|
 @section $BNcBj(B  $BHs2D494D$N4JC1$J9=J82r@O(B  
   
   @section $B9M$(J}$K$D$$$F$N35@b(B
   
    $B%H%C%W%l%Y%k$N4X?tC#(B.  (stylesheet $B$N9M$($K;w$F$k(B.)
   
     iterator $B$N0l<o(B.
   
     yacc $B$K;w$F$k(B.
   
 /*&generate-epilogue  @section $B%G%P%C%,!<(B
 */  
     $BA*Br$9$Y$-%k!<%k$,Bt;3$"$k$H$-$O(B, $B7Y9p$9$k5!G=(B.
   
     $BL58B%k!<%W$N(B|$B8!=P(B.
   
   end:
   
   begin: exp|
   
   @c ------------------------------------------------
   @section $B<B83E*4X?t(B
   
   end:
   
   begin: qt_map_arg(F,Q)
    $B4X?t(B F $B$r(B quote $B%G!<%?(B {Q} $B$N(B $B$9$Y$F$N%N!<%I$K:F5"E*$K(B
    apply $B$7$?(B quote $B%G!<%?$rLa$9(B.
    example: qt_map_arg(nn,quote(sin(@pi)+2/3))
              nn(nn(sin(nn(@pi)))+nn(nn(2)/nn(3)))
   end:
   
   begin: todo|
   
   @section  Todo
   
   @subsection $B%f!<%6Dj5A$NCfCV1i;;;R(B
   
      tfb $B$N=q$-J}$rF3F~(B.
   
   @subsection $B?t3X$h$j$NNcBj(B
   
   $B?t3XE*$K$*$b$7$m$$NcBj$r$J$k$Y$/Bt;3MQ0U$9$k(B.
   $B$3$l$i$NNcBj$KBP$7$F(B tr $B$,;n:nIJ$r:n$k$N$KM-8z$G$"$k$H$$$&$3$H$r$$$&(B.
   
    $BNc(B; gcd $B7W;;$NB?9`<0(B reduction $B$r(B tr $B$G<B8=(B.
   
    $BNc(B; $BQQ5i?t$N7W;;$r(B quote $B$G<B8=(B.
           sort $B$d(B expand $B$OAH$_9~$_$G(B.
   
    $BNc(B; Mathematica $B$N(B Expand[], Toghether[] $BAjEv$N$b$N(B.
   
    $BNc(B; D $B$N3]$1;;$r(B $B%Q%?!<%s%^%C%A$G<B8=(B.
       holonomic $B4X?t$r78?t$H$9$kHyJ,:nMQAG4D$G$N7W;;(B.
   
    $BNc(B; (x^(1/n))^n --> x $BEy(B.
   
    $BNc(B; $B5-9fHyJ,$HHyJ,4D$G$N7W;;(B.
          y''+xy=0,  y''=y^2+x $BEy(B.  index $BIU$-$NJQ?t@8@.$,I,MW(B. idxtov
   
    $BNc(B; QE, $BO@M}<0(B.
   
    $BNc(B; $B30@QBe?t(B.
   
    $BNc(B; $B4dGH(B, $B1~MQ?t3X(B, $B?@J]$N%=%j%H%s$NK\$K$"$k$h$&$J(B fermion $BEy$NNc(B.
   
   
    $BNc(B;
      Bergman, George M.
      The diamond lemma for ring theory.
      Advances in Math. 29 (1978), no. 2, 178--218.
      $B$K$"$k$h$&$JHs2D49Be?t$NNc(B.
   
   end:
   
   begin: new-functions|
   
   @section   $B$^$@%9%1%C%A$N$_$N4X?t;EMM(B
   
     qt_ltor, qt_rtol ; $BLZ$N9=B$$NJQ49(B; $BNc(B (x*y)*z --> x*(y*z)
   
   end:
   
   begin: idx|
   
   @subsection Index $B$D$-JQ?t(B
   
   end:
   
   begin: idxtov(X,I)
     idxtov({X},{I}) $B$OJQ?t(B {X}_{I} $B$rLa$9(B.
     {I} $B$O%9%+%i!<$+%j%9%H(B.
    example:
     idxtov(x,i)  $B$O(B x_i $B$rLa$9(B.
    description:
     idxtov(x,[i,j])  $B$O(B x_i_j $B$r@8@.(B.  x_i_i $B$N(B index (idx) $BB0@-(B $B$r(B [i,j] $B$K(B.
   
     @code{util_v()} $B$H$[$\F1$8(B.
   
     x_i $B$N(B index (idx) $BB0@-(B $B$r(B i $B$K(B.
     base_name $BB0@-$r(B  x $B$K(B.
     $BITDj85$NB0@-$rMxMQ$9$k$3$H$K$h$j9bB.$K(B index $B$r$H$j$@$;$F(B index $B$D$-JQ?t$N(B
     $BBe$j$,$G$-$k(B.
   
   end:
   
   begin: vtoidx(X)
     vtoidx(x_i) $B$O(B [x,i] $B$rLa$9(B.
   description:
     @code{util_index()} $B$H$[$\F1MM(B.
   
    $BB0@-$N8!:w$J$N$G9bB.(B. idx $BB0@-$,L5$$>l9g$O(B i $B$r@_Dj(B.
   
     idxtov $B4X?t$O(B $B4X?tL>$K$b;H$($k$h$&$K$9$k(B? --> $BHyJ,4DBP1~(B.
   
     qt_function($BL>A0(B, $B0z?t(B) --> quote($BL>A0(B($B0z?t(B)) $B$r@8@.(B.
      index $BIU$-4X?t$OHyJ,4D$N<h07$KI,MW(B.
   end:
   
   begin: powerSeries|
   
   @subsection $BQQ5i?t(B, dp $B$N(B pretty print.
   
     $B6R5i?t$N<h07(B, dp $B$N(B pretty print $B$N$?$a(B.
     qt_qttodp(Qobj | vlist,  order?)  quote $B$+$i(B dp $B$r:n$k(B.
          exponent $B$,?t$G$J$$$H:n$l$:(B.
     qt_dptoqt(Qobj | vlist)  dp $B$+$i(B quote $B$r:n$k(B.  vlist $B$OB0@-$GBP1~(B?
   
     qt_expand, qt_sort, qt_ht, qt_rest, qt_mtov $B$b4pAC4X?t$H$7$FM_$7$$(B.
   
   end:
   
   begin: MonomialSimplifier|
   
   @subsection $B%b%N%_%"%k$rI8=`7A$X(B (builtin$B$G(B?)
   
   example:
     x^1 --> x
     (x*y)*(z*t) --> x*y*z*t
     x*2*y*4     --> 8*x*y      ($B;XDj$7$?JQ?t0J30$O2D49$H$9$k(B)
     x*x^3       --> x^4
     x*(-y)*z    --> -x*y*z
     ((x))       --> x   $B$3$l$O(B noro_simplify.rr noro_simplify.remove_paren() $B$,BP1~(B
   
   
   end:
   
   4/15 $BLk(B.  $B<BAu$OL@F|9V5A$N=`Hw$N=*N;8e$+(B?
   begin: qt.gtlex(f,g)
   {f} $B$O(B {g} $B$h$j(B quote tree $B$N(B lex order $B$GBg$-$$(B.
   description:
     quote tree $B$N(B lex order $B$O<!$N$h$&$K7h$a$k(B.
     @itemize
     @item $BITDj85$OITDj85$N=g=x(B.
     @item $BITDj85$h$j(B +, - , *, /, ^ $BEy$N(B node $B$OBg$-$$(B.
           $B$?$H$($P(B x < power(x,2)  (power(x,2) $B$O(B x^2 $B$N0UL#(B)
     @item $B$"$H$O:F5"E*(B. times(x,y) < power(x,y) $B$@$,(B,
           times(x,y) $B$H(B times(p,q) $B$O(B x $B$H(B p $B$NHf3S(B,  $B$3$l$G$-$^$i$J$$$J$i(B,
           y, q $B$NHf3S(B.
     @end itemize
   
   end:
   

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.6

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>