Annotation of OpenXM/doc/Papers/rims2005-noro.tex, Revision 1.1
1.1 ! takayama 1: \documentclass{jarticle}
! 2: %\usepackage[FVerb,theorem]{rims02}
! 3: \topmargin -0.5in
! 4: \oddsidemargin -0in
! 5: \evensidemargin -0in
! 6: \textheight 9.5in
! 7: \textwidth 6in
! 8: \IfFileExists{my.sty}{\usepackage{my}}{}
! 9: \IfFileExists{graphicx.sty}{\usepackage{graphicx}}{}
! 10: \IfFileExists{epsfig.sty}{\usepackage{epsfig}}{}
! 11: \newtheorem{definition}{$BDj5A(B}
! 12: \newtheorem{example}{$BNc(B}
! 13: \newtheorem{proposition}{$BL?Bj(B}
! 14: \newtheorem{remark}{$BCm0U(B}
! 15: \title{Risa/Asir $B$K$*$1$k?7$7$$7A<0$N?t<0$N<h$j07$$$K$D$$$F(B}
! 16: \author{$BLnO$(B $B@59T(B, $B9b;3?.5#(B \\ ($B?@8MBgM}(B)}
! 17: \date{}
! 18: \begin{document}
! 19: \maketitle
! 20: \def\gr{Gr\"obner $B4pDl(B}
! 21: \def\st{\, s.t. \,}
! 22: \def\noi{\noindent}
! 23: \def\Q{{\bf Q}}
! 24: \def\Z{{\bf Z}}
! 25: \def\NF{{\rm NF}}
! 26: \def\ini{{\rm in}}
! 27: \def\FN{{\tt FNODE}}
! 28: \def\QT{{\tt QUOTE}}
! 29: \def\ve{\vfill\eject}
! 30: \newcommand{\tmred}[1]{\smash{\mathop{\hbox{\rightarrowfill}}\limits_{\scriptstyle #1}\limits^{\scriptstyle *}}}
! 31:
! 32: \begin{abstract}
! 33: Risa/Asir $B$K$*$1$k=@Fp$J?t<0$N<h$j07$$$r<B8=$9$k$?$a(B,
! 34: $BLZ9=B$$GI=8=$5$l$??t<0$G$"$k(B \FN $B9=B$BN$rJ];}$9$k(B \QT $B7?$r07$($k$h$&(B
! 35: $B$K$7$?(B. $BI8=`2=$r$O$8$a$H$9$k(B \QT $B$KBP$9$k<o!9$NA`:n(B, $B$*$h$S(B
! 36: $B%Q%?!<%s%^%C%A%s%0$K$h$k=q$-49$($r<BAu$7$?(B. $B$3$l$i$rMQ$$$?(B
! 37: $B$$$/$D$+$NNc$r<($9(B. $B$^$?(B, weight $B$rMQ$$$?(B
! 38: $BHs2D49Be?t$K$*$1$k=q$-49$($N2DG=@-$K$D$$$F=R$Y$k(B.
! 39: \end{abstract}
! 40:
! 41: \section{Risa/Asir $B$K$*$1$k?t<0$N<h$j07$$(B}
! 42: Risa/Asir $B$K$*$$$F$O(B, $B%f!<%6$K$h$jF~NO$5$l$??t<0$O(B, $B$$$C$?$s(B \FN $B$H8F(B
! 43: $B$P$l$kLZ9=B$$KJQ49$5$l$?$N$A(B, {\tt eval()} $B$K$h$j:F5"E*$K@55,FbItI=8=(B
! 44: (Risa $B%*%V%8%'%/%H(B) $B$KJQ49$5$l$k(B. Risa $B%*%V%8%'%/%H$H$O(B, $B@hF,$K6&DL$N(B
! 45: $B<1JL;R%U%#!<%k%I$r;}$D0l72$N9=B$BN$G$"$j(B, {\tt arf\_add()} $B$J$I$N%H%C(B
! 46: $B%W%l%Y%k1i;;4X?t$O(B, $B<u$1<h$C$?9=B$BN$N<1JL;R$r8+$F(B, $BE,@Z$J4X?t$K?6$jJ,(B
! 47: $B$1$k$H$$$&A`:n$r9T$&(B. Risa $B%*%V%8%'%/%H$H$7$F$O(B, $B?t(B, $BB?9`<0(B, $BM-M}<0(B,
! 48: $B%j%9%H(B, $BG[Ns$J$I(B30 $B<oN`<e$,Dj5A$5$l$F$$$k(B. $B$5$i$K(B, $B?t$O(B, $BM-M}?t(B, $BIbF0(B
! 49: $B>.?t(B, $BM-8BBN$J$I$5$i$K:Y$+$/J,N`$5$l$k(B. $B$$$C$?$s(B Risa $B%*%V%8%'%/%H$KJQ(B
! 50: $B49$5$l$F$7$^$($P(B, $B$=$l$>$l8GM-$NJ}K!$K$h$j(B, $B8zN($h$$1i;;$,E,MQ$G$-$k$,(B,
! 51: $B0lJ}$G(B, $B$?$H$($PB?9`<0$,6/@)E*$KE83+$5$l$F$7$^$&$J$I(B, $BK\Mh$NF~NO$,;}$C(B
! 52: $B$F$$$?>pJs$,<:$o$l$k$3$H$b$"$k(B. $B$^$?(B, $B86B'$H$7$FB?9`<0$N@Q$O2D49$H2>Dj(B
! 53: $B$5$l$F$$$k$?$a(B, $BHyJ,:nMQAG$J$I(B, $BHs2D49$JBP>]$r07$&>l9g$KIT<+A3$JA`:n$r(B
! 54: $B6/$$$i$l$FMh$?(B.
! 55:
! 56: \begin{example}
! 57:
! 58: {\tt dx} $B$r(B $\partial/\partial x$ $B$N0UL#$K;H$*$&$H;W$C$F$b(B
! 59: \begin{verbatim}
! 60: [0] x*dx;
! 61: dx*x;
! 62: [1] dx*x;
! 63: dx*x;
! 64: \end{verbatim}
! 65: $B$N$h$&$K(B, $B>!<j$K=g=x$,JQ$($i$l$F$7$^$&(B.
! 66: \end{example}
! 67: $B$^$?(B, $B0JA0$+$i;XE&$5$l$F$$$k(B, Risa/Asir $B$K<0$N4JC12=5!G=$,7gG!$7$F$$$kE@(B
! 68: $B$K$D$$$F$b(B, $B$"$i$f$k$b$N$rB?9`<0$KJQ49$7$F$+$i4JC12=$9$k$N$OIT<+A3$G$"$k(B.
! 69:
! 70: $B$3$N$h$&$J(B, $B?t<0$N=@Fp$J<h$j07$$$O(B, Maxima, Maple, Mathematica $B$J$I(B
! 71: $B$NF@0U$H$9$k$H$3$m$G$"$j(B, $B$3$l$^$G$O(B, Risa/Asir $B$NL\;X$9$H$3$m$O(B, $BB?9`<0(B
! 72: $B1i;;$N9bB.=hM}$G$"$k$H$7$F(B, $BFC$K$3$N$h$&$JJ}8~$N3+H/$O?J$a$F$3$J$+$C$?(B.
! 73: $B$7$+$7(B, $B;H$o$lJ}$,B?MM2=$7$?7k2L(B, $B$h$jB?MM$J?t<0$N<h$j07$$$,I,MW$H$J$k(B
! 74: $B>lLL$,B?$/$J$C$F$-$?$?$a(B, $B$h$j0lHL$N?t<0$N1i;;$*$h$S4JC12=(B, $B=q$-49$(5,B'$K$h$k(B
! 75: $B=q$-49$($N<BAu$KCe<j$7$?(B.
! 76:
! 77: \section{\QT $B7?(B}
! 78:
! 79: $BA0@a$G=R$Y$?$h$&$K(B, Risa/Asir $B$K$*$$$F$O(B, $BF~NO$5$l$??t<0$O(B,
! 80: Risa $B%*%V%8%'%/%H$KJQ49$5$l$kA0$K(B, \FN $B$H8F$P$l$kLZ9=B$$GJ];}$5$l$F$$$k(B.
! 81: $B$3$N(B \FN $B$r%\%G%#It$K;}$D(B Risa $B%*%V%8%'%/%H$G$"$k(B \QT $B7?$r(B
! 82: $BDj5A$7$?(B. $B$3$l$K$h$j(B, $BI>2AA0$NLZ9=B$$rJ];}$G$-$k(B.
! 83:
! 84: \subsection{\QT $B$NF~NO(B, $B4pK\A`:n(B}
! 85:
! 86: \QT $B7?$KBP$9$k;MB'1i;;$J$I$N4pK\1i;;$O(B, $BLZ$KBP$9$kA`:n$H$7$FDj5A$9$k(B. $B$5$i$K(B,
! 87: $BLZ$KBP$9$k0lHLE*$JA`:n(B ($BB0@-(B, $B;R$N<h$j=P$7(B, $BLZ$N:F9=@.$J$I(B) $B$r(B Asir
! 88: $B$N4X?t$H$7$FM?$($k$3$H$G(B, $B%f!<%6$K$h$k?t<0$NA`:n$,2DG=$H$J$k(B.
! 89: \QT $B7?$KBP$9$kA`:n$O(B, $B<B:]$K$O(B \FN $B$KBP$9$kA`:n$G$"$k(B.
! 90: \FN $B$O(B
! 91: \begin{center}
! 92: ($id$ $arg_0$ $arg_1$ $\ldots$)
! 93: \end{center}
! 94: $B$H$$$&%j%9%H$GI=8=$5$l(B, $arg_i$ $B$N8D?t(B, $B7?$O(B $id$ $B$K$h$j$5$^$6$^$G$"$k(B.
! 95: \QT $B$NF~NO(B, $BJQ49$J$I$N4pK\A`:n$O<!$NDL$j$G$"$k(B.
! 96:
! 97: \begin{itemize}
! 98: \item \QT $B$NF~NO(B
! 99:
! 100: \QT $B$O(B {\tt quote}($Expr$) $B$^$?$O(B {\tt `}$Expr$ ($B%P%C%/%/%)!<%H$D$-(B)
! 101: $B$K$h$jF~NO$G$-$k(B.
! 102:
! 103: \item \QT $B$H(B Risa $B%*%V%8%'%/%H$NAj8_JQ49(B
! 104:
! 105: Risa $B%*%V%8%'%/%H$+$i(B \QT $B$r@8@.$9$k$N$O(B {\tt objtoquote}($Obj$),
! 106: $B5U$K(B \QT $B$rI>2A$7$F(B Risa $B%*%V%8%'%/%H$r@8@.$9$k$N$O(B {\tt eval\_quote}($Expr$)
! 107: $B$G9T$&(B.
! 108:
! 109: \item \QT $B$NJ,2r(B, $B9g@.(B
! 110:
! 111: {\tt quote\_to\_funargs}($Expr$) $B$O(B
! 112: \QT $Expr$ $B$N(B \FN $B$N<1JL;R(B, $B0z?t$r%j%9%H$H$7$FJV$9(B.
! 113:
! 114: {\tt funargs\_to\_quote}($List$) $B$O(B, $B$=$N5U$G$"$k(B.
! 115: \end{itemize}
! 116:
! 117: \subsection{\FN $B$NI8=`7A(B}
! 118: \FN $B$KBP$9$k%Q%?!<%s%^%C%A%s%0(B, $B=q$-49$($rMF0W$K9T$&$?$a$K(B,
! 119: \FN $B$KBP$9$kI8=`7A$rDj5A$7$?(B. $BI8=`7A$N7W;;$O(B {\tt qt\_normalize}($Expr$[,$Mode$])
! 120: $B$G9T$&(B. $Mode$ $B$O8e=R$9$kE83+%b!<%I;XDj$G$"$k(B.
! 121:
! 122: \begin{tabbing}
! 123: AAAAAAAAAAA \= \kill
! 124: $nf$ \> : $formula$ $|$ $functor$ ($nf$ [, $\ldots$]) $|$ $sum\_of\_monom$\\
! 125: $sum\_of\_monom$ \>: $monom$ [$+$ $\cdots$]\\
! 126: $monom$ \>: [$formula$ $*$ ] $nfpow$ [$*$ $\cdots$]\\
! 127: $nfpow$ \>: $nf$ $|$ $nf^{nf}$\\
! 128: $formula$ \>: Risa object
! 129: \end{tabbing}
! 130: $B$*$*$6$C$Q$K$$$($P(B, $BI8=`7A(B $nf$ $B$H$O(B, $BI8=`7A$N%Y%-@Q$N(B Risa $B%*%V%8%'%/%H(B
! 131: $B78?t$D$-$NOB$G$"$k(B.
! 132: $B$3$3$G(B, $BOB$O(B \FN $B$H$7$F$O(B, n$B9`OB$H$7$FI=8=$5$l(B, $BOB$r9=@.$9$kC19`<0(B
! 133: $B$O(B, $B$"$kA4=g=x$K$h$j@0Ns$5$l$k(B. $B$^$?(B, $B@Q$b(B n$B9`@Q$H$7$FI=8=$5$l$k(B.
! 134: $B$9$J$o$A(B, $BI8=`7A$O(B, $BF~NO$5$l$??t<0$,(B, Risa $B%*%V%8%'%/%H$r78?t4D$H$9$k(B
! 135: $B7k9gBe?t$N85$G$"$k$H8+$J$7(B, $BOB$N2D49@-(B, $B@Q$N7k9g@-$K$h$j%U%i%C%H$K(B
! 136: $B@0M}$7$J$*$7$?$b$N$G$"$k(B.
! 137: \begin{example}
! 138: \begin{verbatim}
! 139:
! 140: [278] ctrl("print_quote",1)$ /* FNODE $B$r%j%9%H$GI=<((B */
! 141: [279] `(x+y+z);
! 142: [u_op,(),[b_op,+,[b_op,+,[internal,x],[internal,y]],[internal,z]]]
! 143: [280] qt_normalize(`(x+y+z));
! 144: [n_op,+,[internal,x],[internal,y],[internal,z]]
! 145: \end{verbatim}
! 146: 2 $B9`1i;;$GI=8=$5$l$?<0$,(B, $BI8=`7A$G$O(B n $B9`OB$GI=8=$5$l$F$$$k$3$H$,J,$+$k(B.
! 147: \end{example}
! 148:
! 149: $B$3$l$O(B, Mathematica $B$K$*$1$kI8=`7A(B \cite{MMA}
! 150: $B$H4pK\E*$KF1$8$G$"$k$,(B, $B@Q$N2D49@-$r2>Dj$7$F$$$J$$$3$H(B, $B$*$h$S(B, $B78?t(B
! 151: $B4D$r$h$j0lHLE*$K$7$F$"$kE@$G0[$J$C$F$$$k(B
! 152: \footnote{Mathematica $B$K$*$$$F@Q$N(B {\tt Orderless} $BB0@-$r30$9$3$H$G(B,
! 153: $B@Q$rHs2D49$K$G$-$k$,(B, $B4JC12=$K$*$$$F0[>o$J5sF0$r<($9$h$&$K$J$k(B (Ver. 4).
! 154: Ver. 5 $B$G$O(B, $B78?t$^$GHs2D49$K$J$k(B.}.
! 155: $B$5$i$K(B, $BI8=`7A$X$NJQ49;~$K(B, $B@Q$K4X$9$kJ,G[B'$rMxMQ$7$FE83+$5$l$?I8=`7A(B
! 156: $B$rF@$k$3$H$b$G$-$k(B.
! 157:
! 158: \begin{example}
! 159: \begin{verbatim}
! 160:
! 161: [289] ctrl("print_quote",2)$ /* FNODE $B$r<0$GI=<((B */
! 162: ctrl(``print_quote'',2)$
! 163: [290] qt_normalize(`(x+y)^2);
! 164: ((x)+(y))^(2)
! 165: [291] qt_normalize(`(x+y)^2,1);
! 166: ((x)^(2))+((x)*(y))+((y)*(x))+((y)^(2))
! 167: \end{verbatim}
! 168: \end{example}
! 169:
! 170: \subsection{$B9`=g=x$*$h$S78?t4D$N@_Dj(B}
! 171:
! 172: $BC19`<0=g=x$*$h$S78?t4D$O2DJQ$G$"$j(B, $B$=$l$>$l<!$N$h$&$J4X?t$,MQ0U$5$l$F$$$k(B.
! 173:
! 174: \begin{itemize}
! 175: \item $BC19`<0=g=x$N@_Dj(B
! 176:
! 177: $BI8=`7ACf$NC19`<0=g=x$O(B, $B;XDj$,$J$$>l9g$K$O(B, $B%7%9%F%`$,7h$a$kITDj85(B
! 178: $B$*$h$S4X?t;R$N=g=x$+$iM6F3$5$l$k<-=q<0=g=x$,E,MQ$5$l$k(B. $B$=$N:](B, $B4X?t8F$S=P$7$O(B,
! 179: $BC1$J$kITDj85$h$j=g=x$,>e$G(B, $B4X?t;R$,Ey$7$$>l9g$K$O0z?t$,<-=q<0$KHf3S$5$l$k(B.
! 180: {\tt qt\_set\_ord}($VarList$) $B$K$h$j(B, $VarList$ $B$K8=$l$kITDj85$r@hF,(B
! 181: $B$H$7(B, $B$N$3$j$r%7%9%F%`$,7h$a$k$H$$$&=g=x$,@_Dj$5$l$k(B.
! 182:
! 183: %$BNc(B
! 184:
! 185: \item $B78?t4D$N@_Dj(B
! 186:
! 187: $B%G%U%)%k%H$G$O78?t4D$O?t$N$_$+$i$J$k$,(B, $B$$$/$D$+$N%Q%i%a%?$r78?t4D$N85(B
! 188: $B$H$7$F07$$$?$$>l9g(B, {\tt qt\_set\_coef}($ParamList$) $B$K$h$j;XDj$G$-$k(B.
! 189: $ParamList$ $B$K;XDj$5$l$?%Q%i%a%?$O(B, $B78?t4D$G$"$k2D49$JM-M}4X?tBN$NITDj85(B
! 190: $B$H$7$F07$o$l$k(B.
! 191:
! 192: \end{itemize}
! 193: \begin{example}
! 194: \begin{verbatim}
! 195:
! 196: [304] qt_normalize(`(b*x+a*y)*b*y,1);
! 197: ((a)*(y)*(b)*(y))+((b)*(x)*(b)*(y))
! 198: [305] qt_set_coef([a,b])$
! 199: [306] qt_normalize(`(b*x+a*y)*b*y,1);
! 200: ((b^2)*(x)*(y))+((b*a)*((y)^(2))) /* a,b $B$,78?t4D$KF~$C$?(B; x*y > y^2 */
! 201: [307] qt_set_ord([y,x])$
! 202: [308] qt_normalize(`(b*x+a*y)*b*y,1);
! 203: ((b*a)*((y)^(2)))+((b^2)*(x)*(y)) /* y^2 > x*y */
! 204: \end{verbatim}
! 205: \end{example}
! 206:
! 207:
! 208: \section{$B%Q%?!<%s%^%C%A%s%0$K$h$k=q$-49$((B}
! 209:
! 210: Risa/Asir $B$K$*$$$F$O(B, $BITDj85$H%W%m%0%i%`JQ?t$OL@3N$K6hJL$5$l$F$$$k(B.
! 211: $B$=$3$G(B, $B%Q%?!<%sJQ?t$H$7$F%W%m%0%i%`JQ?t$rMQ$$$k$3$H$K$7$?(B.
! 212: $B$9$J$o$A%Q%?!<%s$H$O(B, $B%W%m%0%i%`JQ?t$r4^$s$G$b$h$$(B \QT $B$G$"$k(B. $B$3$l(B
! 213: $B$KBP$7(B, $B$$$/$D$+$N=q$-49$(4X?t$rMQ0U$7$?(B.
! 214: \begin{itemize}
! 215: \item {\tt nqt\_match}($Expr$,$Patten$[,$Mode$])
! 216:
! 217: \QT $B<0(B $Expr$ $B$H%Q%?!<%s(B $Pattern$ $B$,%^%C%A$7$?$i(B 1 $B$rJV$9(B. $B$5$i$K(B,
! 218: $Pattern$ $BCf$K4^$^$l$k%W%m%0%i%`JQ?t$K%^%C%A$7$?CM$,<B:]$KBeF~$5$l$k(B.
! 219:
! 220: \item {\tt nqt\_match\_rewrite}($Expr$,$Rule$,$Mode$)
! 221:
! 222: $Rule$ $B$O(B [$Pattern$,$Action$] $B$^$?$O(B [$Pattern$,$Condition$,$Action$] $B$G(B
! 223: $B$"$k(B. $B$3$N4X?t$O(B, $Expr$ $B$,(B $Pattern$ $B$K%^%C%A$7$?$i(B, $Action$ $B$,I>2A(B
! 224: $B$5$l(B, $B$=$NCM$,JV$5$l$k(B.
! 225: $B$=$N:](B, $Action$ $BCf$N%Q%?!<%sJQ?t$,(B, $B%^%C%A$7$?CM$KCV$-49$($i$l$k(B.
! 226: $Condition$ $B$,;XDj$5$l$F$$$k>l9g$K$O(B, $Condition$ $BCf$N%Q%?!<%sJQ?t$,F1MM(B
! 227: $B$KCV$-49$($i$lI>2A$5$l(B, 0 $B$G$J$$>l9g$K(B $Action$ $B$,I>2A$5$l$k(B. $B%^%C%A$7$J$$(B
! 228: $B>l9g$K$O(B $Expr$ $B$=$N$b$N$,JV$5$l$k(B.
! 229: \end{itemize}
! 230: \begin{example}
! 231: \begin{verbatim}
! 232:
! 233: [318] nqt_match(`x*y*z-3*u,`X*Y+Z);
! 234: 1
! 235: [319] [X,Y,Z];
! 236: [x,(y)*(z),(-3)*(u)]
! 237: [320] nqt_match_rewrite(`x*y*z,[`X*Y,`X+Y],1);
! 238: ((y)*(z))+(x)
! 239: \end{verbatim}
! 240: \end{example}
! 241:
! 242: $B$$$:$l$b<B9TA0$K0z?t$,I8=`7A$KJQ49$5$l$k$,(B, $Mode$ $B$O$=$N:]$KE83+$r9T$&$+(B
! 243: $B$I$&$+$r;X<($9$k(B. $B%^%C%A%s%0$K$*$$$F$O(B, $B:G=i$K%^%C%A$7$?;~E@$N>pJs$,JV$5$l$k(B
! 244: \footnote{$B8=>u$G$O<BAu$,IT40A4$G$"$j(B, $BF10l%Q%?!<%sJQ?t$,J#?t8=$l$k%Q%?!<%s(B
! 245: $B$KBP$7$F$O%^%C%A%s%0$K<:GT$9$k>l9g$,$"$k(B.}.
! 246: $Condition$ $B$*$h$S(B $Action$ $B$K$O%f!<%6Dj5A4X?t$r4^$a$k$3$H$,$G$-$k(B.
! 247: $B$3$l$K$h$j(B, $BJ#;($J=q$-49$(5,B'$r=q$/$3$H$,$G$-(B, $B$^$?=q$-49$(5,B'$N?t$r>/$J$/2!$($k(B
! 248: $B$3$H$,$G$-$k(B.
! 249: $B8=>u$G$O(B, Mathematica $B$G2DG=$J(B, $B%Q%?!<%sJQ?t$K%^%C%A$9$k7?$N;XDj$,$G$-(B
! 250: $B$J$$$?$a(B, $Condition$ $B$K$*$$$F7?H=Dj$r9T$&$3$H$K$J$k(B. $B$3$N$?$a(B, \QT $B$K(B
! 251: $BBP$9$k$$$/$D$+$N7?H=Dj4X?t$rMQ0U$7$?(B. $B$3$l$i$rMQ$$$F(B, $B=q$-49$(5,B'=89g$r(B
! 252: $BM?$($F(B, $B=q$-49$(5,B'$,E,MQ$G$-$J$k$J$k$^$G=q$-49$($rB3$1$k4X?t(B
! 253: {\tt qt\_rewrite}($Expr$,$Rules$,$Mode$) $B$r%f!<%64X?t$H$7$F5-=R$7$?(B.
! 254:
! 255: \begin{example}[$sl_2$$B$NE83+4D(B]
! 256: \begin{verbatim}
! 257:
! 258: [336] Rsl=[[`h*e,`e*h+2*e],[`h*f,`f*h-2*f],[`e*f,`f*e+h]]$
! 259: 0sec(7e-06sec)
! 260: [337] qt_rewrite(`e*f^2,Rsl,2);
! 261: ((f)*(f)*(e))+((2)*(f)*(h))+((-2)*(f))
! 262: 1.776e-15sec(0.008608sec)
! 263: [338] qt_rewrite(`h*e^3,Rsl,2);
! 264: ((e)*(e)*(e)*(h))+((6)*(e)*(e)*(e))
! 265: \end{verbatim}
! 266: \end{example}
! 267:
! 268:
! 269: \section{\FN $B$N=g=x$E$1(B}
! 270:
! 271: $B:#2s$N<BAu$NL\E*$O(B, $B%f!<%6$,5$7Z$K=q$-49$(5,B'$rM?$($F(B, $B0lHL$KHs2D49$JBe?t(B
! 272: $B$K$*$1$k7W;;$r5$7Z$K;n$;$k$h$&$J4D6-$r:n$k$3$H$G$"$k(B. $BM?$($i$l$?=q$-49$(5,B'(B
! 273: $B$NDd;_@-(B, $B$"$k$$$O9gN.@-$K4X$7$F$O(B, $B9`=q$-49$(7O$N8&5f<T$K$h$k8&5f$,KDBg(B
! 274: $B$K$"$k$,(B, $B$3$3$G$O?<F~$j$O$7$J$$(B. $B$3$3$G$O(B, $BL58B%k!<%W$K4Y$i$J$$$h$&$J(B
! 275: $B<BMQE*$J;X?K$H$7$F(B, \FN $B$KBP$9$k=g=x$E$1$*$h$S(B weight $B$N;HMQ$rDs0F$9$k(B.
! 276: $B$3$NJ}K!$O8e=R$9$k$h$&$KB?9`<04D$dHyJ,:nMQAG4D$GMQ$$$i$l$k(B weight
! 277: $B%Y%/%H%k$N9M$(7?$N<+A3$J0lHL2=$G$"$j(B, $BM}O@E*$K$b6=L#?<$$(B.
! 278:
! 279: $BNc$H$7$F(B, $B2D49@-$rDj5A$9$k>l9g$r9M$($k(B. $B?t3XE*$K$O(B, $BG$0U$N(B $X$, $Y$ $B$K(B
! 280: $BBP$7(B $XY=YX$ $B$G$h$$$,(B, $B$?$H$($P$3$N$^$^(B $[`X*Y,`Y*X]$ $B$H$$$&=q$-49$((B
! 281: $B5,B'$r(B
! 282: $B=q$/$H$b$A$m$sDd;_$7$J$$(B. $B$3$N>l9g(B, $B:G$b0BD>$J2r7hJ}K!$N0l$D$O(B,
! 283: \FN $B4V$KA4=g=x$rF~$l$F(B, $B=q$-49$($?>l9g$K=g=x$,Bg$-$/(B($B>.$5$/(B)$B$J$k(B
! 284: $B>l9g$K$N$_=q$-49$($r9T$&$H$$$&J}K!$G$"$k(B. $B$3$N>l9g(B, $B@Q$r9=@.$9$kM-8B8D(B
! 285: $B$N(B \FN $B$NJB$YJQ$($NCf$G:G$b=g=x$,>e(B($B2<(B)$B$N$b$N$KE~C#$9$k$HDd;_$9$k(B.
! 286: $B$b$A$m$s(B, $Action$ $B$,J#;($J>l9g$K$O$3$N$h$&$K4JC1$K$O9T$+$J$$$,(B,
! 287: $B=q$-49$($NJ}8~@-$r<($9$b$N$H$7$FA4=g=x$rM?$($k$3$H$OM-8z$G$"$m$&(B.
! 288: $B$h$C$F(B, $B=q$-49$(5,B'$K1~$8$F(B, $BA4=g=x$r$I$&A*$V$+$,LdBj$G$"$k(B.
! 289:
! 290: \subsection{\FN $B$N(B weight$B$H=q$-49$((B}
! 291:
! 292: $B0lHL$K(B \FN $f$ $B$N(B weight $w(f)$ $B$r(B
! 293: \begin{enumerate}
! 294: \item $f$ $B$,(B leaf $B$N>l9g(B, $BE,Ev$JCM$rM?$($k(B. $BFC$K78?t$N(B weight $B$O(B 0.
! 295: \item $f$ $B$,(B node $B$N>l9g(B, $f$ $B$N;R$N(B weight $BCM$r0z?t$H$7(B,
! 296: $B<1JL;R$G7h$a$i$l$?4X?t$r7W;;$7$F$=$NCM$r$H$k(B.
! 297: \end{enumerate}
! 298: $B$K$h$j:F5"E*$K7h$a$k$3$H$,$G$-$k(B. $BOB$KBP$7$F$O(B $\max()$,
! 299: $B@Q$KBP$7$F$OOB(B, $B%Y%-$KBP$7$F$O@Q$rMQ$$$k$H(B, $B<!$N$h$&$K$J$k(B.
! 300: \begin{enumerate}
! 301: \item $w(f+g)=\max(w(f),w(g))$
! 302: \item $w(fg) = w(f)+w(g)$
! 303: \item $w(f^n)=nw(f)$
! 304: \end{enumerate}
! 305: % $B$h$C$F(B, $BM?$($i$l$?=q$-49$(5,B'=89g$KBP$7(B, $B$3$N$h(B
! 306: %$B$&$J(B weight $B$r8+$D$1$k(B, $B$9$J$o$A(B leaf $B$NCM$rE,@Z$K@_Dj$9$k$3$H$,=EMW$G(B
! 307: %$B$"$k(B. $B$3$N$h$&$J(B weight $B$,:n$l$k%/%i(B
! 308: %$B%9$rM?$($k$3$H(B, $B$*$h$S$=$N$h$&$J%/%i%9$KB0$9$k=q$-49$(5,B'=89g$KBP$7(B, $B>e$N(B
! 309: %$B@-<A$rK~$?$9(B weight $B$rA4$FM?$($k$3$H$O6=L#?<$$LdBj$G$"$k(B.
! 310: %\subsection{$B<+M37k9gBe?t$K$*$1$kF1<!=q$-49$(5,B'(B}
! 311:
! 312: $B0J2<$G$O(B, $B$3$N$h$&$J(B weight $B$rM-8B@8@.$N<+M37k9gBe?t$KBP$9$k=q$-49$((B
! 313: $B$K1~MQ$9$k$3$H$r9M$($k(B.
! 314:
! 315: $B78?t4D$r(B $K$ $B$N>e$G(B $ z_1, \ldots, z_n, h $
! 316: $B$G@8@.$5$l$k<+M37k9gBe?t(B $A$ $B$r(B
! 317: $$ K \langle z_1, \ldots, z_n, h \rangle $$
! 318: $B$H=q$/(B.
! 319: $h$ $B$rI,MW$K1~$8$F(B $z_{n+1}$ $B$H=q$/$3$H$b$"$k(B.
! 320: \begin{definition}\rm
! 321: $A$ $B$G$N=q$-49$(5,B'(B($B$^$?$O4X78<0(B, $B:8JU$OI,$:C19`<0(B)
! 322: $$ L_1 \rightarrow R_1, \ldots, L_m \rightarrow R_m $$
! 323: $B$,(B, $BF1<!2=(B weight $B%Y%/%H%k(B $H$ $B$K$D$$$F(B,
! 324: $BF1<!E*=q$-49$(5,B'$G$"$k$H$O(B,
! 325: $R_i$ $B$,(B $0$ $B$G$"$k$+$^$?$O(B,
! 326: $$ {\rm deg}_H(L_i) = {\rm deg}_H(R_i \mbox{$B$NG$0U$N9`(B}) $$
! 327: $B$,@.N)$9$k$3$H$G$"$k(B.
! 328: \end{definition}
! 329: $B$3$3$G(B ${\rm deg}_H(\prod z_i^{e_i})$ $B$O(B
! 330: $\prod z_i^{e_i}$ $B$N(B weight $H$ $B$K$D$$$F$N(B($BHs2D49@-$rL5;k$7$?(B)$B<!?t$G$"$k(B.
! 331: $B$D$^$j(B
! 332: $${\rm deg}_H(\prod z_i^{e_i}) = \sum e_i H_i $$
! 333: $B$HDj5A$9$k(B ($i$ $B$O=EJ#$7$F$"$i$o$l$k$3$H$b$"$k(B).
! 334:
! 335: \begin{example} \rm
! 336: $$ z_2 z_1 \rightarrow z_1 z_2 + h^2 ,
! 337: h z_i \rightarrow z_i h
! 338: $$
! 339: $B$O(B $H=(1,1,1)$ $B$K$D$$$F$NF1<!E*=q$-49$(5,B'$G$"$k(B.
! 340: $B$3$NNc$O(B $x=z_1, \partial = z_2$ $B$H$7$?(B
! 341: 1 $BJQ?t$NF1<!2=(B Weyl $BBe?t$K$[$+$J$i$J$$(B.
! 342: \end{example}
! 343:
! 344: $B0J2<(B $H$ $B$N$9$Y$F$N@.J,$O@5$G$"$k$H2>Dj$78GDj$9$k(B.
! 345: $B$^$?(B$x_1, \ldots, x_n, h $ $B$+$i$J$k%o!<%I$KBP$9$k(B
! 346: well order $\succ$ $B$r0J2<$R$H$D8GDj$9$k(B.
! 347: $B=P8=$9$k=q$-49$(5,B'$O$H$/$K$3$H$o$i$J$$8B$jA4$F(B$H$ $B$K$D$$$FF1<!E*=q$-49$(5,B'(B
! 348: $B$G$"$k(B.
! 349:
! 350: \begin{example} \rm
! 351: $BA0$NNc$N=q$-49$(5,B'(B
! 352: $$ z_2 z_1 \rightarrow z_1 z_2 + h^2 ,
! 353: h z_i \rightarrow z_i h
! 354: $$
! 355: $B$K$5$i$K(B
! 356: $$ z_2^{p+1} \rightarrow 0, z_1 z_2 \rightarrow p h^2 $$
! 357: $B$r2C$($?5,B'$N=89g$r(B $R_p$ $B$H=q$/(B. $B$3$3$G(B $p$ $B$O<+A3?t$G$"$k(B.
! 358: $R_p$ $B$O(B $H=(1,1,1)$ $B$K$D$$$F$NF1<!E*=q$-49$(5,B'$G$"$k(B.
! 359: \end{example}
! 360:
! 361: \begin{definition} \rm
! 362: $n$ $B<!85$N(B weight $B%Y%/%H%k(B $w \in {\bf R}^n $
! 363: $B$,F1<!E*=q$-49$(5,B'(B
! 364: $ \{ L_i \rightarrow R_i \} $
! 365: $B$*$h$S(B $\succ$ $B$K$D$$$F(B
! 366: $BM-8z(B weight $B%Y%/%H%k(B(admissible weight vector) $B$G$"$k$H$O<!$N>r7o$r$_$?$9(B
! 367: $B$3$H$G$"$k(B.
! 368: $B0J2<(B $\tilde w = (w,0) $ ($h$ $B$KBP$9$k(B weight $B$r(B 0 $B$K$7$?$b$N(B)
! 369: $B$H$*$/(B.
! 370: \begin{enumerate}
! 371: \item ${\rm deg}_{\tilde w}(L_i) \geq {\rm deg}_{\tilde w}(R_i)$
! 372: \item $B:8JU$H1&JU$,F1$8(B $w$-$B<!?t$r$b$D$H$-$O(B $B1&JU$G:8JU$HF1$8(B $w$-weight $B$r;}$D(B
! 373: $B9`$?$A$O=g=x(B $\succ$ $B$G$+$J$i$:>.$5$$(B.
! 374: \end{enumerate}
! 375: \end{definition}
! 376: %% z_2 z_1 --> z_1 z_2 + z_2 z_1 $BNc(B. z_1 > z_2 (lex) $B$H$9$k(B. $B$3$l$O$@$a(B.
! 377: $B=q$-49$(5,B'$,$"$k@5?t%Y%/%H%k(B $H$ $B$K$D$$$FF1<!E*$G$"$k$3$H$+$i(B,
! 378: $B$3$l$i$N>r7o$K$h$j=q$-49$($,Dd;_@-$r$b$D$3$H$,J,$+$k(B. $B$5$i$K(B
! 379: $B<!$NL?Bj$,@.$jN)$D(B.
! 380: %%<hyperlink|G-algebra|http://www.singular.uni-kl.de/Manual/latest/sing_407.htm>
! 381: \begin{proposition}\rm
! 382: G-algebra \cite{LEV} $B$N>r7o$N$&$A(B,
! 383: well order $B$NB8:_>r7o$r2>Dj$7$J$/$F$b(B,
! 384: $BE,Ev$JF1<!2=(Bweight$B%Y%/%H%k(B, $BM-8z(B weight $B%Y%/%H%k$,B8:_$9$k$J$i$P(B,
! 385: $h$ $B$r2C$($k@F<!2=(B,
! 386: $h$ $B$r(B $1$ $B$H$*$/$3$H$K$h$kHs@F2=$K$h$j(B,
! 387: $B%0%l%V%J!<4pDl$r7W;;$G$-$k$h$&$K$J$k(B.
! 388: \end{proposition}
! 389:
! 390: $B$3$N1~MQ$K:]$7$F$O(B, $BM?$($i$l$?=q$-49$(5,B'$KBP$7(B, $BM-8z(B weight $B%Y%/%H%k(B
! 391: $w$ $B$r8+$D$1$kI,MW$,$"$k(B.
! 392: $B$?$H$($P0lJQ?t%o%$%kBe?t$N>l9g(B $w_1 + w_2 \geq 0$ $B$N>r7o$r$_$?$5$J$$$H(B
! 393: $BM-8z(B weight $B%Y%/%H%k$H$J$i$J$$(B.
! 394: $B$3$N$H$-F1;~2=(B weight $B%Y%/%H%k$rMQ$$$F=q$-49$(5,B'$N1&JU$r@F<!2=(B
! 395: $B$9$l$P(B, $BF1<!E*=q$-49$(5,B'$,F@$i$l$k(B.
! 396:
! 397: $B8=:_$N<BAu$K$*$$$F$O(B, weight $B%Y%/%H%k$,@_Dj$5$l$J$$8B$j(B, weight $B$K(B
! 398: $B$h$kHf3S$O9T$o$J$$(B.
! 399: $B4X?t(B {\tt qt\_set\_weight()} $B$K$h$j(B
! 400: $B0lIt$NITDj85$KBP$7$F(B weight $B$,@_Dj$5$l$k$H(B,
! 401: $BB>$NITDj85$N(B weight $B$O<+F0E*$K(B 0 $B$H$J$k(B.
! 402: $B$3$N(B weight $B$rMQ$$$?(B $B<!?t$NHf3S8e$K8=:_@_Dj(B
! 403: $B$5$l$F$$$kC19`<0=g=x$,E,MQ$5$l$k(B.
! 404:
! 405: \begin{example}
! 406: \begin{verbatim}
! 407:
! 408: [300] qt_set_ord([z1,z2,h])$
! 409: [301] qt_set_weight([[z1,-1],[z2,1]])$
! 410: [302] Rule1=[[`h*z1,`z1*h], [`h*z2,`z2*h], [`z2*z1,`z1*z2+h^2]] $
! 411: [303] Rule2=[[`z2*z2,`0], [`z1*z2,`h^2]]$
! 412: [304] F=`z2^2*(h^2+z1^2)$
! 413: [305] qt_rewrite(F,Rule1,2);
! 414: ((z2)*(z2)*(h)*(h))+((z1)*(z1)*(z2)*(z2))+((4)*(z1)*(z2)*(h)*(h))+((2)*(h)*(h)*(h)*(h))
! 415: \end{verbatim}
! 416: \end{example}
! 417:
! 418: \begin{remark}
! 419: $BM-8z(B weight $B%Y%/%H%k$,Ii$N@.J,$r$b$D$HHs@F<!2=$7$?$"$H$N(B
! 420: reduction $B$NDd;_@-$O$$$($J$$(B.
! 421: \end{remark}
! 422:
! 423:
! 424: \section{$B=q$-49$(5,B'$NNc(B}
! 425:
! 426: $B0J2<$K(B, $B=q$-49$(5,B'$NNc$r$$$/$D$+>R2p$9$k(B.
! 427:
! 428: \begin{example}[$B2D49@-(B]
! 429: \begin{verbatim}
! 430:
! 431: [246] qt_normalize(`(x+y-z)^2,1);
! 432: ((x)^(2))+((x)*(y))+((-1)*(x)*(z))+((y)*(x))+((y)^(2))+((-1)*(y)*(z))
! 433: +((-1)*(z)*(x))+((-1)*(z)*(y))+((z)^(2))
! 434: [247] Rcomm=[[`X*Y,`nqt_comp(Y*X,X*Y)>0,`Y*X]]$
! 435: [248] qt_rewrite(`(x+y-z)^2,Rcomm,1);
! 436: ((x)^(2))+((2)*(x)*(y))+((-2)*(x)*(z))+((y)^(2))+((-2)*(y)*(z))+((z)^(2))
! 437: \end{verbatim}
! 438: {\tt nqt\_comp()} $B$OHf3S4X?t$G$"$k(B.
! 439: \end{example}
! 440:
! 441: \begin{example}[$B30@QBe?t(B]
! 442: \begin{verbatim}
! 443:
! 444: [249] Rext0=[`X*Y,`qt_is_var(X) && qt_is_var(Y) && nqt_comp(Y,X)>0,`-Y*X]$
! 445: [250] Rext1=[`X^N,`eval_quote(N)>=2,`0]$
! 446: [251] Rext2=[`X*X,`0]$
! 447: [252] Rext=[Rext0,Rext1,Rext2]$
! 448: [253] qt_set_coef([a,b,c])$
! 449: [254] qt_rewrite(`(a*x+b*y+c*z)*(b*x+c*y+a*z)*(c*x+a*y+b*z),Rext,1);
! 450: (-a^3+3*c*b*a-b^3-c^3)*(x)*(y)*(z)
! 451: \end{verbatim}
! 452: $B9TNs<0$N7W;;$KAjEv$9$k(B. $BJQ?t$N@Q$r8rBeE*$K=q$-49$($k5,B'$rDj5A$7$F$$$k(B.
! 453: \end{example}
! 454:
! 455: \begin{example}[$BHyJ,(B]
! 456: \begin{verbatim}
! 457:
! 458: [255] qt_set_coef([a])$
! 459: [256] Rd1=[`d(X+Y),`d(X)+d(Y)]$
! 460: [257] Rd2=[`d(X*Y),`d(X)*Y+X*d(Y)]$
! 461: [258] Rd3=[`d(N),`qt_is_coef(N),`0]$
! 462: [259] Rd=[Rd1,Rd2,Rd3]$
! 463: [260] qt_rewrite(`d((x+a*y)^2),Rd,1);
! 464: (d((x)^(2)))+((a)*(d(x))*(y))+((a^2)*(d((y)^(2))))+((a)*(d(y))*(x))
! 465: +((a)*(x)*(d(y)))+((a)*(y)*(d(x)))
! 466: \end{verbatim}
! 467: \end{example}
! 468:
! 469: \begin{example}[Weyl $BBe?t(B]
! 470:
! 471: \begin{verbatim}
! 472: def member(V,L) {
! 473: for ( I = 0; L != [] && V != car(L); L = cdr(L), I++ );
! 474: return L==[] ? -1 : I;
! 475: }
! 476: def qt_weyl_vmul(X,K,Y,L) {
! 477: extern WeylV, WeylDV;
! 478: if ( member(X,WeylV) >= 0 || member(Y,WeylDV) >= 0 ) return Y^L*X^K;
! 479: if ( WeylV[I=member(X,WeylDV)] != Y ) return Y^L*X^K;
! 480: else {
! 481: K = eval_quote(K); L = eval_quote(L); M = K>L?L:K;
! 482: for ( T = 1, I = 0; I <= M; T = idiv(T*K*L,I+1), I++, L--, L-- )
! 483: R += T*Y^L*X^K;
! 484: return R;
! 485: }
! 486: }
! 487:
! 488: [256] WeylV=[`x,`y,`z]$
! 489: [257] WeylDV=[`dx,`dy,`dz]$
! 490: [258] qt_set_ord(map(eval_quote,append(WeylV,WeylDV)))$
! 491: [259] Rweyl=[[`X^K*Y^L,`qt_is_var(X)&&qt_is_var(Y)&&nqt_comp(Y,X)>0,
! 492: `qt_weyl_vmul(X,K,Y,L)]]$
! 493: [260] qt_rewrite(`((x*dy+y*dx)^2),Rweyl,1);
! 494: (((x)^(2))*((dy)^(2)))+((2)*(x)*(y)*(dx)*(dy))+((x)*(dx))
! 495: +(((y)^(2))*((dx)^(2)))+((y)*(dy))
! 496: \end{verbatim}
! 497: $Action$ $B$K%f!<%6Dj5A4X?t$rMQ$$$k$3$H$K$h$j(B, Weyl $BBe?t$N=q$-49$(5,B'$r0l$D(B
! 498: $B$K$^$H$a$F$$$k(B.
! 499: \end{example}
! 500:
! 501: \section{$B$^$H$a(B}
! 502:
! 503: Risa/Asir $B$K$*$1$k?t<0$NCf4VE*I=8=$G$"$k(B \FN $B$r%f!<%68@8l$+$iA`:n(B
! 504: $B$9$k$?$a$N%$%s%?%U%'!<%9$r<BAu$7$?(B. $B$3$l$K$h$j(B, $B%f!<%6$,Dj5A$9$k(B
! 505: $B=q$-49$(5,B'$K$h$k?t<0$N=q$-49$($,2DG=$H$J$C$?(B. $B=q$-49$($N8zN($K$D$$$F$O(B
! 506: $B$[$H$s$I9MN8$G$-$F$$$J$$(B. $BFC$K(B, $BI8=`7A$X$NJQ49$H=q$-49$($rJB9T$7$F(B
! 507: $B9T$&$3$H$,I,MW$H9M$($F$*$j(B, $B:#8e$N2]Bj$N0l$D$G$"$k(B. $B$^$?(B, $B%Q%?!<%s(B
! 508: $B%^%C%A%s%0<+BN$b$^$@40A4$J$b$N$H$O$$$($:(B, $B2~NI$9$Y$-E@$,B?$/$"$k(B.
! 509: $BL\E*$K1~$8$?I8=`E*$J=q$-49$(5,B'=89g$r%G%U%)%k%H$GDs6!$9$k$3$H$b(B
! 510: $BI,MW$G$"$k(B.
! 511:
! 512: $B$3$N=q$-49$($H(Bweight $B%Y%/%H%k$K$h$kC19`<0Hf3S$rAH$_9g$o$;$k$3$H$K$h$j(B,
! 513: $B<+M37k9gBe?t$K$*$1$k0lHLE*$J%0%l%V%J4pDl$N7W;;$rO@$8$?(B.
! 514: $B$3$3$GDs0F$7$?0lHL2=$O(B Weyl $BBe?t$NF1<!2=$NM}O@$r4^$`(B. Risa/Asir $B$G?7(B
! 515: $B$7$/F3F~$7$?(B, \QT $B$KBP$9$k0lHLE*$J(B weight $B%Y%/%H%k$N%a%+%K%:%`(B
! 516: \verb@ qt_set_weight @ $B$K$h$j$o$l$o$l$NM}O@$H%"%k%4%j%:%`$N%W%m%H%?%$(B
! 517: $B%W$rMF0W$K;n$9$3$H$,2DG=$G$"$k(B. V. Levandovskyy \cite{LEV} $B$O(B
! 518: $G$-algebra $B$N35G0$rF3F~$7$F(B, Singular $B$K<BAu$7$?$,(B, $B$o$l$o$l$N35G0$O(B
! 519: $BF1<!2=$r$H$*$7$F(B, well order $B$G$J$$>l9g$K$bE,MQ$G$-$k(B.
! 520: $B$o$l$o$l$N%"%W%m!<%A$K$h$j(B,
! 521: $G$-algebra $B$h$j9-$$HO0O$N(B algebra $B$r07$&$3$H$,2DG=$H$J$k(B.
! 522: $B0lHLE*$JOHAH$_$N1~MQ$H$7$F(B, $B>-MhE*$K$O(B $D$-$B2C72$N%"%k%4%j%:%`$r3HD%$7(B,
! 523: Calderon-Moreno $BEy$NF3F~$7$?(B algebra $B$r6I=jE*$K07$&$J$I$N1~MQ$,8+9~$^(B
! 524: $B$l$k(B.
! 525:
! 526:
! 527: \begin{thebibliography}{99}
! 528: \bibitem{MMA}
! 529: S. Wolfram, The MATHEMATICA Book, Fourth Edition. Cambridge University Press (1999).
! 530:
! 531: \bibitem{LEV}
! 532: %V. Levandovskyy, H. Sch\"onemann:
! 533: %PLURAL - a Computer Algebra System for Noncommutative Polynomial Algebras.
! 534: %In Proc. ISSAC 2003, ACM Press (2003).
! 535: V. Levandovskyy, Non-commutative Computer Algebra for Polynomial Algebras:
! 536: Gr\"obner Bases, Applications and Implementation.
! 537: Dissertation, Universit\"at Kaiserslautern (2005).
! 538:
! 539: \end{thebibliography}
! 540: \end{document}
! 541:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>