[BACK]Return to appendix.texi CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-doc / parts

Annotation of OpenXM/src/asir-doc/parts/appendix.texi, Revision 1.4

1.4     ! noro        1: @comment $OpenXM: OpenXM/src/asir-doc/parts/appendix.texi,v 1.3 1999/12/21 02:47:30 noro Exp $
1.3       noro        2: \BJP
1.1       noro        3: @node $BIUO?(B,,, Top
                      4: @appendix $BIUO?(B
1.3       noro        5: \E
                      6: \BEG
                      7: @node Appendix,,, Top
                      8: @appendix Appendix
                      9: \E
1.1       noro       10:
                     11: @menu
1.3       noro       12: \BJP
1.1       noro       13: * $BJ8K!$N>\:Y(B::
                     14: * $BE:IU$N%f!<%6Dj5AH!?t%U%!%$%k(B::
                     15: * $BF~NO%$%s%?%U%'!<%9(B::
                     16: * $BJQ99E@(B::
                     17: * $BJ88%(B::
1.3       noro       18: \E
                     19: \BEG
                     20: * Details of syntax::
                     21: * Files of user defined functions::
                     22: * Input interfaces::
                     23: * Changes::
                     24: * References::
                     25: \E
1.1       noro       26: @end menu
                     27:
1.3       noro       28: \BJP
1.1       noro       29: @node $BJ8K!$N>\:Y(B,,, $BIUO?(B
                     30: @section $BJ8K!$N>\:Y(B
1.3       noro       31: \E
                     32: \BEG
                     33: @node Details of syntax,,, Appendix
                     34: @section Details of syntax
                     35: \E
1.1       noro       36:
                     37: @example
1.3       noro       38: \BJP
                     39: <$B<0(B>:
1.1       noro       40:     @samp{(}<$B<0(B>@samp{)}
                     41:     <$B<0(B> <$BFs9`1i;;;R(B> <$B<0(B>
                     42:     @samp{+} <$B<0(B>
                     43:     @samp{-} <$B<0(B>
                     44:     <$B:8JUCM(B>
                     45:     <$B:8JUCM(B> <$BBeF~1i;;;R(B> <$B<0(B>
                     46:     <$B:8JUCM(B> @samp{++}
                     47:     <$B:8JUCM(B> @samp{--}
                     48:     @samp{++} <$B:8JUCM(B>
                     49:     @samp{--} <$B:8JUCM(B>
                     50:     @samp{!} <$B<0(B>
                     51:     <$B<0(B> @samp{?} <$B<0(B> @samp{:} <$B<0(B>
                     52:     <$BH!?t(B> @samp{(} <$B<0JB$S(B> @samp{)}
1.2       noro       53:     <$BH!?t(B> @samp{(} <$B<0JB$S(B> @samp{|} <$B%*%W%7%g%sJB$S(B> @samp{)}
1.1       noro       54:     <$BJ8;zNs(B>
                     55:     <$B;X?t%Y%/%H%k(B>
                     56:     <$B%"%H%`(B>
                     57:     <$B%j%9%H(B>
1.3       noro       58: \E
                     59: \BEG
                     60: <expression>:
                     61:     @samp{(}<expression>@samp{)}
                     62:     <expression> <binary operator> <expression>
                     63:     @samp{+} <expression>
                     64:     @samp{-} <expression>
                     65:     <left value>
                     66:     <left value> <assignment operator> <expression>
                     67:     <left value> @samp{++}
                     68:     <left value> @samp{--}
                     69:     @samp{++} <left value>
                     70:     @samp{--} <left value>
                     71:     @samp{!} <expression>
                     72:     <expression> @samp{?} <expression> @samp{:} <expression>
                     73:     <function> @samp{(} <expr list> @samp{)}
                     74:     <function> @samp{(} <expr list> @samp{|} <option list> @samp{)}
                     75:     <string>
                     76:     <exponent vector>
                     77:     <atom>
                     78:     <list>
                     79: \E
1.1       noro       80: @end example
1.3       noro       81: \JP (@xref{$B$5$^$6$^$J<0(B})
                     82: \EG (@xref{various expressions})
1.1       noro       83:
                     84: @example
1.3       noro       85: \BJP
1.1       noro       86: <$B:8JUCM(B>:
                     87:     <$BJQ?t(B> [@samp{[}<$B<0(B>@samp{]}]*
1.3       noro       88: \E
                     89: \BEG
                     90: <left value>:
                     91:     <program variable> [@samp{[}<expression>@samp{]}]*
                     92: \E
1.1       noro       93: @end example
                     94:
                     95: @example
1.3       noro       96: \BJP
1.1       noro       97: <$BFs9`1i;;;R(B>:
                     98:     @samp{+} @samp{-} @samp{*} @samp{/} @samp{%} @samp{^}($BQQ(B)
1.3       noro       99: \E
                    100: \BEG
                    101: <binary operator>:
                    102:     @samp{+} @samp{-} @samp{*} @samp{/} @samp{%} @samp{^}(exponentiation)
                    103:     @samp{==} @samp{!=} @samp{<} @samp{>} @samp{<=} @samp{>=} @samp{&&} @samp{||}
                    104: \E
1.1       noro      105:     @samp{==} @samp{!=} @samp{<} @samp{>} @samp{<=} @samp{>=} @samp{&&} @samp{||}
                    106: @end example
                    107:
                    108: @example
1.3       noro      109: \JP <$BBeF~1i;;;R(B>:
                    110: \EG <assignment operator>:
1.1       noro      111:     @samp{=} @samp{+=} @samp{-=} @samp{*=} @samp{/=} @samp{%=} @samp{^=}
                    112: @end example
                    113:
                    114: @example
1.3       noro      115: \BJP
1.1       noro      116: <$B<0JB$S(B>:
                    117:     <$B6u(B>
                    118:     <$B<0(B> [@samp{,} <$B<0(B>]*
1.3       noro      119: \E
                    120: \BEG
                    121: <expr list>:
                    122:     <empty>
                    123:     <expression> [@samp{,} <expression>]*
                    124: \E
1.1       noro      125: @end example
1.2       noro      126:
                    127: @example
1.3       noro      128: \BJP
1.2       noro      129: <$B%*%W%7%g%s(B>:
1.3       noro      130:     alphabet $B$G;O$^$kJ8;zNs(B @samp{=} <$B<0(B>
                    131: \E
                    132: \BEG
                    133: <option>:
                    134:     Character sequence beginning with an alphabetical letter @samp{=} <expression>
                    135: \E
1.2       noro      136: @end example
                    137:
                    138: @example
1.3       noro      139: \BJP
1.2       noro      140: <$B%*%W%7%g%sJB$S(B>:
                    141:     <$B%*%W%7%g%s(B>
                    142:     <$B%*%W%7%g%s(B> [@samp{,} <$B%*%W%7%g%s(B>]*
1.3       noro      143: \E
                    144: \BEG
                    145: <option list>:
                    146:     <option>
                    147:     <option> [@samp{,} <option>]*
                    148: \E
1.2       noro      149: @end example
                    150:
1.1       noro      151:
                    152: @example
1.3       noro      153: \BJP
1.1       noro      154: <$B%j%9%H(B>:
                    155:     @samp{[} <$B<0JB$S(B> @samp{]}
1.3       noro      156: \E
                    157: \BEG
                    158: <list>:
                    159:     @samp{[} <expr list> @samp{]}
                    160: \E
1.1       noro      161: @end example
                    162:
                    163: @example
1.3       noro      164: \BJP
                    165: <$BJQ?t(B>:
1.1       noro      166:     $BBgJ8;z$G;O$^$kJ8;zNs(B (X,Y,Japan $B$J$I(B)
1.3       noro      167: \E
                    168: \BEG
                    169: <program variable>:
                    170:    Sequence of alphabetical letters or numeric digits or @code{_}
                    171:    that begins with a capital alphabetical letter
                    172:    (X,Y,Japan etc.)
                    173: \E
1.1       noro      174: @end example
1.3       noro      175: \JP (@xref{$BJQ?t$*$h$SITDj85(B})
                    176: \EG (@xref{variables and indeterminates})
1.1       noro      177:
                    178: @example
1.3       noro      179: \BJP
1.1       noro      180: <$BH!?t(B>:
                    181:    $B>.J8;z$G;O$^$kJ8;zNs(B (fctr,gcd $B$J$I(B)
1.3       noro      182: \E
                    183: \BEG
                    184: <function>:
                    185:    Sequence of alphabetical letters or numeric digits or @code{_}
                    186:    that begins with a small alphabetical letter
                    187:    (fctr,gcd etc.)
                    188: \E
1.1       noro      189: @end example
                    190:
                    191: @example
1.3       noro      192: \BJP
1.1       noro      193: <$B%"%H%`(B>:
                    194:    <$BITDj85(B>
                    195:    <$B?t(B>
1.3       noro      196: \E
                    197: \BEG
                    198: <atom>:
                    199:    <indeterminate>
                    200:    <number>
                    201: \E
1.1       noro      202: @end example
                    203:
                    204: @example
1.3       noro      205: \BJP
                    206: <$BITDj85(B>:
1.1       noro      207:    $B>.J8;z$G;O$^$kJ8;zNs(B (a,bCD,c1_2 $B$J$I(B)
1.3       noro      208: \E
                    209: \BEG
                    210: <indeterminate>:
                    211:    Sequence of alphabetical letters or numeric digits or @code{_}
                    212:    that begin with a small alphabetical letter
                    213:    (a,bCD,c1_2 etc.)
                    214: \E
1.1       noro      215: @end example
1.3       noro      216: \JP (@xref{$BJQ?t$*$h$SITDj85(B})
                    217: \EG (@xref{variables and indeterminates})
1.1       noro      218:
                    219: @example
1.3       noro      220: \BJP
                    221: <$B?t(B>:
1.1       noro      222:    <$BM-M}?t(B>
                    223:    <$BIbF0>.?t(B>
                    224:    <$BBe?tE*?t(B>
                    225:    <$BJ#AG?t(B>
1.3       noro      226: \E
                    227: \BEG
                    228: <number>:
                    229:    <rational number>
                    230:    <floating point number>
                    231:    <algebraic number>
                    232:    <complex number>
                    233: \E
1.1       noro      234: @end example
1.3       noro      235: \JP (@xref{$B?t$N7?(B})
                    236: \EG (@xref{Types of numbers})
1.1       noro      237:
                    238: @example
1.3       noro      239: \JP <$BM-M}?t(B>:
                    240: \EG <rational number>:
1.1       noro      241:    0, 1, -2, 3/4
                    242: @end example
                    243:
                    244: @example
1.3       noro      245: \JP <$BIbF0>.?t(B>:
                    246: \EG <floating point number>:
1.1       noro      247:    0.0, 1.2e10
                    248: @end example
                    249:
                    250: @example
1.3       noro      251: \JP <$BBe?tE*?t(B>:
                    252: \EG <algebraic number>:
1.1       noro      253:    newalg(x^2+1), alg(0)^2+1
                    254: @end example
1.3       noro      255: \JP (@xref{$BBe?tE*?t$K4X$9$k1i;;(B})
                    256: \EG (@xref{Algebraic numbers})
1.1       noro      257:
                    258: @example
1.3       noro      259: \JP <$BJ#AG?t(B>:
                    260: \EG <complex number>:
1.1       noro      261:    1+@code{@@i}, 2.3*@code{@@i}
                    262: @end example
                    263:
                    264: @example
1.3       noro      265: \BJP
1.1       noro      266: <$BJ8;zNs(B>:
                    267:    @samp{"} $B$G0O$^$l$?J8;zNs(B
1.3       noro      268: \E
                    269: \BEG
                    270: <string>:
                    271:    character sequence enclosed by two @samp{"}'s.
                    272: \E
1.1       noro      273: @end example
                    274:
                    275: @example
1.3       noro      276: \BJP
                    277: <$B;X?t%Y%/%H%k(B>:
1.1       noro      278:    @samp{<<} <$B<0JB$S(B> @samp{>>}
1.3       noro      279: \E
                    280: \BEG
                    281: <exponent vector>:
                    282:    @samp{<<} <expr list> @samp{>>}
                    283: \E
1.1       noro      284: @end example
1.3       noro      285: \JP (@xref{$B%0%l%V%J4pDl$N7W;;(B})
                    286: \EG (@xref{Groebner basis computation})
1.1       noro      287:
                    288: @example
1.3       noro      289: \BJP
                    290: <$BJ8(B>:
1.1       noro      291:     <$B<0(B> <$B=*C<(B>
                    292:     <$BJ#J8(B>
                    293:     @samp{break} <$B=*C<(B>
                    294:     @samp{continue} <$B=*C<(B>
                    295:     @samp{return} <$B=*C<(B>
                    296:     @samp{return} <$B<0(B> <$B=*C<(B>
                    297:     @samp{if} @samp{(} <$B<0JB$S(B> @samp{)} <$BJ8(B>
                    298:     @samp{if} @samp{(} <$B<0JB$S(B> @samp{)} <$BJ8(B> @samp{else} <$BJ8(B>
                    299:     @samp{for} @samp{(} <$B<0JB$S(B> @samp{;} <$B<0JB$S(B> @samp{;} <$B<0JB$S(B> @samp{)} <$BJ8(B>
                    300:     @samp{do} <$BJ8(B> @samp{while} @samp{(} <$B<0JB$S(B> @samp{)} <$B=*C<(B>
                    301:     @samp{while} @samp{(} <$B<0JB$S(B> @samp{)} <$BJ8(B>
                    302:     @samp{def} <$BH!?t(B> @samp{(} <$B<0JB$S(B> @samp{)} @samp{@{} <$BJQ?t@k8@(B> <$BJ8JB$S(B> @samp{@}}
                    303:     @samp{end(quit)} <$B=*C<(B>
1.3       noro      304: \E
                    305: \BEG
                    306: <statement>:
                    307:     <expression> <terminator>
                    308:     <compound statement>
                    309:     @samp{break} <terminator>
                    310:     @samp{continue} <terminator>
                    311:     @samp{return} <terminator>
                    312:     @samp{return} <expression> <terminator>
                    313:     @samp{if} @samp{(} <expr list> @samp{)} <statement>
                    314:     @samp{if} @samp{(} <expr list> @samp{)} <statement> @samp{else} <statement>
                    315:     @samp{for} @samp{(} <expr list> @samp{;} <expr list> @samp{;} <expr list> @samp{)} <statement>
                    316:     @samp{do} <statement> @samp{while} @samp{(} <expr list> @samp{)} <terminator>
                    317:     @samp{while} @samp{(} <expr list> @samp{)} <statement>
                    318:     @samp{def} <function> @samp{(} <expr list> @samp{)} @samp{@{} <variable declaration> <stat list> @samp{@}}
                    319:     @samp{end(quit)} <terminator>
                    320: \E
1.1       noro      321: @end example
1.3       noro      322: \JP (@xref{$BJ8(B})
                    323: \EG (@xref{statements})
1.1       noro      324:
                    325: @example
1.3       noro      326: \JP <$B=*C<(B>:
                    327: \EG <terminator>:
1.1       noro      328:     @samp{;} @samp{$}
                    329: @end example
                    330:
                    331: @example
1.3       noro      332: \BJP
1.1       noro      333: <$BJQ?t@k8@(B>:
                    334:     [@samp{extern} <$BJQ?t(B> [@samp{,} <$BJQ?t(B>]* <$B=*C<(B>]*
1.3       noro      335: \E
                    336: \BEG
                    337: <variable declaration>:
                    338:     [@samp{extern} <program variable> [@samp{,} <program variable>]* <terminator>]*
                    339: \E
1.1       noro      340: @end example
                    341:
                    342: @example
1.3       noro      343: \BJP
1.1       noro      344: <$BJ#J8(B>:
                    345:     @samp{@{} <$BJ8JB$S(B> @samp{@}}
1.3       noro      346: \E
                    347: \BEG
                    348: <compound statement>:
                    349:     @samp{@{} <stat list> @samp{@}}
                    350: \E
1.1       noro      351: @end example
                    352:
                    353: @example
1.3       noro      354: \BJP
1.1       noro      355: <$BJ8JB$S(B>:
                    356:     [<$BJ8(B>]*
1.3       noro      357: \E
                    358: \BEG
                    359: <stat list>:
                    360:     [<statement>]*
                    361: \E
1.1       noro      362: @end example
                    363:
1.3       noro      364: \BJP
1.1       noro      365: @node $BE:IU$N%f!<%6Dj5AH!?t%U%!%$%k(B,,, $BIUO?(B
                    366: @section $BE:IU$N%f!<%6Dj5AH!?t%U%!%$%k(B
1.3       noro      367: \E
                    368: \BEG
                    369: @node Files of user defined functions,,, Appendix
                    370: @section Files of user defined functions
                    371: \E
1.1       noro      372:
                    373: @noindent
1.3       noro      374: \BJP
1.1       noro      375: $BI8=`%i%$%V%i%j%G%#%l%/%H%j(B ($B%G%U%)%k%H$G$O(B @samp{/usr/local/lib/asir}) $B$K$O(B
                    376: $B$$$/$D$+$N%f!<%6Dj5AH!?t%U%!%$%k$,$*$+$l$F$$$k(B. $B$3$l$i$N$&$A$N<g$J$b$N$K$D$$$F(B
                    377: $B@bL@$9$k(B.
1.3       noro      378: \E
                    379: \BEG
                    380: There are several files of user defined functions under the standard
                    381: library directory. (@samp{/usr/local/lib/asir} by default.)
                    382: Here, we explain some of them.
                    383: \E
1.1       noro      384:
                    385: @table @samp
                    386: @item fff
1.3       noro      387: \JP $BBgI8?tAGBN$*$h$SI8?t(B 2 $B$NM-8BBN>e$N0lJQ?tB?9`<00x?tJ,2r(B (@xref{$BM-8BBN$K4X$9$k1i;;(B})
                    388: \EG Univariate factorizer over large finite fields (@xref{Finite fields})
1.1       noro      389: @item gr
1.3       noro      390: \JP $B%0%l%V%J4pDl7W;;%Q%C%1!<%8(B.  (@xref{$B%0%l%V%J4pDl$N7W;;(B})
                    391: \EG Groebner basis package.  (@xref{Groebner basis computation})
1.1       noro      392: @item sp
1.3       noro      393: \JP $BBe?tE*?t$N1i;;$*$h$S0x?tJ,2r(B, $B:G>.J,2rBN(B. (@xref{$BBe?tE*?t$K4X$9$k1i;;(B})
                    394: \EG Operations over algebraic numbers and factorization, Splitting fields. (@xref{Algebraic numbers})
1.1       noro      395: @item alpi
                    396: @itemx bgk
                    397: @itemx cyclic
                    398: @itemx katsura
                    399: @itemx kimura
1.3       noro      400: \JP $B%0%l%V%J4pDl7W;;$K$*$$$F(B, $B%Y%s%A%^!<%/$=$NB>$GMQ$$$i$l$kNc(B.
                    401: \EG Example polynomial sets for benchmarks of Groebner basis computation.
1.1       noro      402: (@xref{katsura hkatsura cyclic hcyclic})
                    403: @item defs.h
1.3       noro      404: \JP $B$$$/$D$+$N%^%/%mDj5A(B. (@xref{$B%W%j%W%m%;%C%5(B})
                    405: \EG Macro definitions. (@xref{preprocessor})
1.1       noro      406: @item fctrtest
1.3       noro      407: \BJP
1.1       noro      408: $B@0?t>e$NB?9`<0$N0x?tJ,2r$N%F%9%H(B. REDUCE $B$N(B @samp{factor.tst} $B$*$h$S(B
                    409: $B=EJ#EY$NBg$-$$$$$/$D$+$NNc$r4^$`(B. $B$3$l$O(B, @code{load()} $B$9$k$H(B
                    410: $BD>$A$K7W;;$,;O$^$k(B. $BF~<j$7$?(B @b{Asir} $B$,@5$7$/F0:n$7$F$$$k$+$N(B
                    411: $B%F%9%H$K$b;H$&$3$H$,$G$-$k(B.
1.3       noro      412: \E
                    413: \BEG
                    414: Test program of factorization of integral polynomials.
                    415: It includes  @samp{factor.tst} of REDUCE and several examples
                    416: for large multiplicity factors.  If this file is @code{load()}'ed,
                    417: computation will begin immediately.
                    418: You may use it as a first test whether @b{Asir} at you hand runs
                    419: correctly.
                    420: \E
1.1       noro      421: @item fctrdata
1.3       noro      422: \BJP
1.1       noro      423: @samp{fctrtest} $B$G;H$o$l$F$$$kNc$r4^$`(B, $B0x?tJ,2r%F%9%HMQ$NNc(B.
                    424: @code{Alg[]} $B$K<}$a$i$l$F$$$kNc$O(B, @code{af()} (@xref{asq af}) $BMQ$NNc$G$"$k(B.
1.3       noro      425: \E
                    426: \BEG
                    427: This contains example polynomials for factorization.  It includes
                    428: polynomials used in @samp{fctrtest}.
                    429: Polynomials contained in vector @code{Alg[]} is for the algebraic
                    430: factorization @code{af()} (@xref{asq af}).
                    431: \E
1.1       noro      432: @example
                    433: [45] load("sp")$
                    434: [84] load("fctrdata")$
                    435: [175] cputime(1)$
                    436: 0msec
                    437: [176] Alg[5];
                    438: x^9-15*x^6-87*x^3-125
                    439: 0msec
                    440: [177] af(Alg[5],[newalg(Alg[5])]);
                    441: [[1,1],[75*x^2+(10*#0^7-175*#0^4-470*#0)*x+(3*#0^8-45*#0^5-261*#0^2),1],
                    442: [75*x^2+(-10*#0^7+175*#0^4+395*#0)*x+(3*#0^8-45*#0^5-261*#0^2),1],
                    443: [25*x^2+(25*#0)*x+(#0^8-15*#0^5-87*#0^2),1],[x^2+(#0)*x+(#0^2),1],
                    444: [x+(-#0),1]]
                    445: 3.600sec + gc : 1.040sec
                    446: @end example
                    447: @item ifplot
1.3       noro      448: \BJP
1.1       noro      449: $BIA2h(B (@xref{ifplot conplot plot plotover}) $B$N$?$a$NNc(B. @code{IS[]} $B$K$OM-L>$J(B
                    450: $B6J@~$NNc(B, $BJQ?t(B @code{H, D, C, S} $B$K$O%H%i%s%W$N%O!<%H(B, $B%@%$%d(B, $B%/%i%V(B,
                    451: $B%9%Z!<%I(B ($B$i$7$-(B) $B6J@~$NNc$,F~$C$F$$$k(B.
1.3       noro      452: \E
                    453: \BEG
                    454: Examples for plotting (@xref{ifplot conplot plot plotover}).
                    455: Vector @code{IS[]} contains several famous algebraic curves.
                    456: Variables @code{H, D, C, S} contains something like the suits
                    457: (Heart, Diamond, Club, and Spade) of cards.
                    458: \E
1.1       noro      459: @item num
1.3       noro      460: \JP $B?t$K4X$9$k4JC1$J1i;;H!?t$NNc(B.
                    461: \EG Examples of simple operations on numbers.
1.1       noro      462: @item mat
1.3       noro      463: \JP $B9TNs$K4X$9$k4JC1$J1i;;H!?t$NNc(B.
                    464: \EG Examples of simple operations on matrices.
1.1       noro      465: @item ratint
1.3       noro      466: \BJP
1.1       noro      467: $BM-M}H!?t$NITDj@QJ,(B. @samp{sp}, @samp{gr} $B$,I,MW(B. @code{ratint()} $B$H$$$&(B
                    468: $BH!?t$,Dj5A$5$l$F$$$k$,(B, $B$=$NJV$97k2L$O$d$dJ#;($G$"$k(B. $BNc$G@bL@$9$k(B.
1.3       noro      469: \E
                    470: \BEG
                    471: Indefinite integration of rational functions.  For this,
                    472: files @samp{sp} and @samp{gr} is necessary.  A function @code{ratint()}
                    473: is defined.  Its returns a rather complex result.
                    474: \E
1.1       noro      475: @example
                    476: [0] load("gr")$
                    477: [45] load("sp")$
                    478: [84] load("ratint")$
                    479: [102] ratint(x^6/(x^5+x+1),x);
                    480: [1/2*x^2,
                    481: [[(#2)*log(-140*x+(-2737*#2^2+552*#2-131)),161*t#2^3-23*t#2^2+15*t#2-1],
                    482: [(#1)*log(-5*x+(-21*#1-4)),21*t#1^2+3*t#1+1]]]
                    483: @end example
1.3       noro      484: \BJP
1.1       noro      485: $B$3$NNc$G$O(B, @code{x^6/(x^5+x+1)} $B$NITDj@QJ,$N7W;;$r9T$C$F$$$k(B.
                    486: $B7k2L$O(B 2 $B$D$NMWAG$+$i$J$k%j%9%H$G(B, $BBh(B 1 $BMWAG$OITDj@QJ,$NM-M}ItJ,(B,
                    487: $BBh(B 2 $BMWAG$OBP?tItJ,$rI=$9(B. $BBP?tItJ,$O99$K%j%9%H$H$J$C$F$$$F(B, $B3FMWAG$O(B,
                    488: @code{[root*log(poly),defpoly]} $B$H$$$&7A$r$7$F$$$k(B. $B$3$l$O(B, $BITDj@QJ,$K(B
                    489: $B$*$$$F$O(B, @code{defpoly} $B$NA4$F$N:,(B @code{root} $B$KBP$7$F(B @code{root*log(poly)}
                    490: $B$r:n$j$=$l$i$rB-$79g$o$;$k$H$$$&0UL#$G$"$k(B. $B$3$3$G(B @code{poly} $B$O(B
                    491: @code{root} $B$r4^$s$G$$$F(B, @code{root} $B$rF~$lBX$($k>l9g$K$O(B @code{poly}
                    492: $B$KBP$7$F$bF1$8A`:n$r9T$&$b$N$H$9$k(B. $B$3$NA`:n$r(B, $B7k2L$NBh(B 2 $BMWAG$N(B
                    493: $B3F@.J,$KBP$7$F9T$C$F(B, $BA4$F$rB-$79g$o$;$?$b$N$,BP?tItJ,$H$J$k(B.
1.3       noro      494: \E
                    495: \BEG
                    496: In this example, indefinite integral of the rational function
                    497:  @code{x^6/(x^5+x+1)} is computed.
                    498: The result is a list which comprises two elements:
                    499: The first element is the rational part of the integral;
                    500: The second part is the logarithmic part of the integral.
                    501: The logarithmic part is again a list which comprises finite number of
                    502: elements, each of which is of form @code{[root*log(poly),defpoly]}.
                    503: This pair should be interpreted to sum up
                    504: the expression @code{root*log(poly)}
                    505: through all @b{root}'s @code{root}'s of the @code{defpoly}.
                    506: Here, @code{poly} contains @code{root}, and substitution for @code{root}
                    507: is equally applied to @code{poly}.
                    508: The logarithmic part in total is obtained by applying such
                    509: interpretation to all element pairs in the second element of the
                    510: result and then summing them up all.
                    511: \E
1.1       noro      512: @item primdec
1.3       noro      513: \BJP
1.1       noro      514: $BB?9`<0%$%G%"%k$N=`AG%$%G%"%kJ,2r$H$=$N:,4p$NAG%$%G%"%kJ,2r(B
1.4     ! noro      515: (@pxref{primadec primedec}).
1.3       noro      516: \E
                    517: \BEG
                    518: Primary ideal decomposition of polynomial ideals and prime compotision
1.4     ! noro      519: of radicals (@pxref{primadec primedec}).
        !           520: \E
1.1       noro      521: @end table
                    522:
1.3       noro      523: \BJP
1.1       noro      524: @node $BF~NO%$%s%?%U%'!<%9(B,,, $BIUO?(B
                    525: @section $BF~NO%$%s%?%U%'!<%9(B
1.3       noro      526: \E
                    527: \BEG
                    528: @node Input interfaces,,, Appendix
                    529: @section Input interfaces
                    530: \E
1.1       noro      531:
1.3       noro      532: \BJP
1.1       noro      533: $B4{$K=R$Y$?$h$&$K(B, DOS $BHG(B, Windows $BHG(B, Macintosh $BHG$G$OF~NO%$%s%?%U%'!<%9$H(B
                    534: $B$7$F%3%^%s%I%i%$%sJT=8$*$h$S%R%9%H%jCV$-49$($,AH$_9~$^$l$F$$$k(B. UNIX $BHG$G$O(B
                    535: $B$3$N$h$&$J5!G=$OAH$_9~$^$l$F$$$J$$$,(B, $B0J2<$G=R$Y$k$h$&$JF~NO%$%s%?%U%'!<%9(B
                    536: $B$,MQ0U$5$l$F$$$k(B. $B$3$l$i$O(B @b{Asir} $B%P%$%J%j$H$H$b$K(B ftp $B2DG=$G$"$k(B.
                    537: ftp server $B$K4X$7$F$O(B @xref{$BF~<jJ}K!(B}.
1.3       noro      538: \E
                    539: \BEG
                    540: As already mentioned a command line editing facility and a history
                    541: substitution facility are built-in for DOS, Windows Macintosh version
                    542: of @b{Asir}. UNIX versions of @b{Asir} do not have such built-in facilites.
                    543: Instead, the following input interfaces are prepared. This are also available
                    544: from our ftp server. As for our ftp server @xref{How to get Risa/Asir}.
                    545: \E
1.1       noro      546:
                    547: @menu
                    548: * fep::
                    549: * asir.el::
                    550: @end menu
                    551:
1.3       noro      552: \JP @node fep,,, $BF~NO%$%s%?%U%'!<%9(B
                    553: \EG @node fep,,, Input interfaces
1.1       noro      554: @subsection fep
                    555:
                    556: @noindent
1.3       noro      557: \BJP
1.1       noro      558: fep $B$H$O(B, SRA $B$N2NBe;a$K$h$j3+H/$5$l$?%3%^%s%I%i%$%sJT=8(B, $B%R%9%H%jCV$-49$((B
                    559: $BMQ$NF~NO%U%m%s%H%(%s%I$G$"$k(B. $B$3$N%W%m%0%i%`$N85$G(B @samp{asir} $B$r5/F0$9$k(B
                    560: $B$3$H$K$h$j(B vi $B$"$k$$$O(B emacs $BIw$N%3%^%s%I%i%$%sJT=8$*$h$S(B csh $BIw$N%R%9%H%j(B
                    561: $BCV$-49$($,2DG=$K$J$k(B.
1.3       noro      562: \E
                    563: \BEG
                    564: Fep is a general purpose front end processor. The author is
                    565: K. Utashiro (SRA Inc.).
                    566:
                    567: Under fep,
                    568: emacs- or vi-like command line editing and csh-like history substitution are
                    569: available for UNIX commands, including @samp{asir}.
                    570: \E
1.1       noro      571: @example
                    572: % fep asir
                    573: ...
                    574: [0] fctr(x^5-1);
                    575: [[1,1],[x-1,1],[x^4+x^3+x^2+x+1,1]]
                    576: [1] !!                              /* !!+Return                      */
1.3       noro      577: \BJP
1.1       noro      578: fctr(x^5-1);                        /* $BD>A0$NF~NO$,8=$l$k$FJT=8$G$-$k(B */
                    579: ...                                 /* $BJT=8(B+Return                    */
1.3       noro      580: \E
                    581: \BEG
                    582: fctr(x^5-1);                        /* The last input appears.        */
                    583: ...                                 /* Edit+Return                    */
                    584: \E
1.1       noro      585: fctr(x^5+1);
                    586: [[1,1],[x+1,1],[x^4-x^3+x^2-x+1,1]]
                    587: @end example
                    588:
                    589: @noindent
1.3       noro      590: \BJP
1.1       noro      591: fep $B$O%U%j!<%=%U%H$G%=!<%9$,F~<j2DG=$G$"$k$,(B, $B%*%j%8%J%k$N$b$N$O(B make $B$G$-$k(B
                    592: $B5!<o(B (OS) $B$,8B$i$l$F$$$k(B. $B$$$/$D$+$N5!<o>e$GF0:n$9$k$h$&$K2f!9$,2~B$$7$?$b$N(B
                    593: $B$,(B, ftp $B$GF~<j2DG=$G$"$k(B.
1.3       noro      594: \E
                    595: \BEG
                    596: Fep is a free software and the source is available. However
                    597: machines or operating systems on which the original one can run are limited.
                    598: The modified version by us running on several unsupported environments
                    599: is available from our ftp server.
                    600: \E
1.1       noro      601:
1.3       noro      602: \JP @node asir.el,,, $BF~NO%$%s%?%U%'!<%9(B
                    603: \EG @node asir.el,,, Input interfaces
1.1       noro      604: @subsection asir.el
                    605:
                    606: @noindent
1.3       noro      607: \BJP
1.1       noro      608: @samp{asir.el} $B$O(B, @b{Asir} $B$N(B GNU Emacs $B%$%s%?%U%'!<%9$G$"$k(B ($BCx<T$O(B
                    609: $B5\Eh8w<#;a(B (@code{YVE25250@@pcvan.or.jp}).  @samp{asir.el} $B$K$*$$$F$O(B,
                    610: $BDL>o$N(B emacs $B$G2DG=$JJT=85!G=$NB>$K(B, $B%U%!%$%kL>(B, $B%3%^%s%IL>$N(B completion
                    611: $B$,<B8=$5$l$F$$$k(B.
1.3       noro      612: \E
                    613: \BEG
                    614: @samp{asir.el} is a GNU Emacs interface for @b{Asir}.
                    615: The author is Koji Miyajima (@code{YVE25250@@pcvan.or.jp}).
                    616: In @samp{asir.el}, completion of file names and command names is
                    617: realized other than the ordinary editing functions
                    618: which are available on Emacs.
                    619: \E
1.1       noro      620:
                    621: @noindent
1.3       noro      622: \BJP
1.1       noro      623: @samp{asir.el} $B$O(B PC-VAN $B$G(B
                    624: $B4{$K8x3+$5$l$F$$$k$,(B, $B:#2s$N2~D{$KH<$&JQ99$r9T$C$?$b$N$,(B, $B$d$O$j(B ftp $B$G(B
                    625: $BF~<j2DG=$G$"$k(B.
1.3       noro      626: \E
                    627: \BEG
                    628: @samp{asir.el} is distributed on PC-VAN. The version where several
                    629: changes have been made according to the current version of @b{Asir}
                    630: is available via ftp.
                    631: \E
1.1       noro      632:
                    633: @noindent
1.3       noro      634: \JP $B%;%C%H%"%C%W(B, $B;HMQJ}K!$O(B, @samp{asir.el} $B$N@hF,$K5-=R$5$l$F$$$k(B.
                    635: \BEG
                    636: The way of setting up and the usage can be found at the top of
                    637: @samp{asir.el}.
                    638: \E
1.1       noro      639:
1.3       noro      640: \BJP
1.1       noro      641: @node $BJQ99E@(B,,, $BIUO?(B
                    642: @section $BJQ99E@(B
1.3       noro      643: \E
                    644: \BEG
                    645: @node Changes,,, Appendix
                    646: @section Appendix
                    647: \E
1.1       noro      648:
                    649: @menu
                    650: * Version 990831::
                    651: * Version 950831::
                    652: * Version 940420::
                    653: @end menu
                    654:
1.3       noro      655: \JP @node Version 990831,,, $BJQ99E@(B
                    656: \EG @node Version 990831,,, Changes
1.1       noro      657: @subsection Version 990831
                    658:
1.3       noro      659: \BJP
1.1       noro      660: 4 $BG/$V$j$NBg2~D{(B. $B@0?t$N(B 32bit $B2=B>(B, $BCf?H$O$:$$$V$sJQ$o$C$F$$$k$b$N$N(B,
                    661: $B8+3]$1$O$=$l$[$IJQ$o$C$F$$$k$h$&$K$O8+$($J$$(B. $B$`$7$m(B, Windows $BHG$J$I$O(B,
                    662: plot $B$,;H$($J$$$?$a(B, $BB`2=$7$F$$$k(B.
                    663:
                    664: $B5lHG$N%f!<%6$,$b$C$H$bCm0U$9$Y$-E@$O(B, $B5lHG$G:n$C$?(B bsave file $B$rFI$_9~$`(B
                    665: $B>l9g$O(B @code{bload27} $B$r;H$&I,MW$,$"$k(B, $B$H$$$&E@$G$"$k(B.
1.3       noro      666: \E
                    667:
                    668: \BEG
                    669: Four years have passed since the last distribution.
                    670: Though the look and feel seem unchanged, internally there are
                    671: several changes such as 32-bit representation of bignums.
                    672: Plotting facilities are not available on Windows.
                    673:
                    674: If you have files created by @code{bsave} on the older version,
                    675: you have to use @code{bload27} to read such files.
                    676: \E
1.1       noro      677:
1.3       noro      678: \JP @node Version 950831,,, $BJQ99E@(B
                    679: \EG @node Version 950831,,, Changes
1.1       noro      680: @subsection Version 950831
                    681:
                    682: @menu
1.3       noro      683: \BJP
1.1       noro      684: * $B%G%P%C%,(B($BJQ99(B)::
                    685: * $BAH$_9~$_H!?t(B($BJQ99(B)::
                    686: * $B%0%l%V%J4pDl(B($BJQ99(B)::
                    687: * $B$=$NB>(B($BJQ99(B)::
1.3       noro      688: \E
                    689: \BEG
                    690: * Debugger(Changes)::
                    691: * Built-in functions(Changes)::
                    692: * Groebner basis computation(Changes)::
                    693: * Others(Changes)::
                    694: \E
1.1       noro      695: @end menu
                    696:
1.3       noro      697: \BJP
1.1       noro      698: @node $B%G%P%C%,(B($BJQ99(B),,, Version 950831
                    699: @subsubsection $B%G%P%C%,(B
1.3       noro      700: \E
                    701: \BEG
                    702: @node Debugger(Changes),,, Version 950831
                    703: @subsubsection Debugger
                    704: \E
1.1       noro      705:
                    706: @itemize @bullet
                    707: @item
1.3       noro      708: \JP $BG$0U$N;~E@$K%G%P%C%0%b!<%I$KF~$l$k(B.
                    709: \EG One can enter the debug mode anytime.
1.1       noro      710: @item
1.3       noro      711: \JP @code{finish} $B%3%^%s%I$NDI2C(B.
                    712: \EG A command @code{finish} has been appended.
1.1       noro      713: @item
1.3       noro      714: \BJP
1.1       noro      715: @code{up}, @code{down}, @code{frame} $B%3%^%s%I$K$h$k(B, $BG$0U$N%9%?%C%/%U%l!<%`(B
1.3       noro      716: $B$N;2>H(B.
                    717: \E
                    718: \EG One can examine any stack frame with @code{up}, @code{down} and @code{frame}.
1.1       noro      719: @item
1.3       noro      720: \JP @code{trace} $B%3%^%s%I$NDI2C(B.
                    721: \EG A command @code{trace} has been appended.
1.1       noro      722: @end itemize
                    723:
1.3       noro      724: \BJP
1.1       noro      725: @node $BAH$_9~$_H!?t(B($BJQ99(B),,, Version 950831
                    726: @subsubsection $BAH$_9~$_H!?t(B
1.3       noro      727: \E
                    728: \BEG
                    729: @node Built-in functions(Changes),,, Version 950831
                    730: @subsubsection Built-in functions
                    731: \E
1.1       noro      732:
                    733: @itemize @bullet
1.3       noro      734: \BJP
1.1       noro      735: @item
                    736: @code{sdiv()} $B$J$I$K$*$1$k(B, $B<gJQ?t$N;XDj$N%5%]!<%H(B.
                    737: @item
                    738: @code{sdivm()} $B$J$I(B, $BM-8BBN>e$G$NB?9`<0=|;;$NDI2C(B.
                    739: @item
                    740: @code{det()}, @code{res()} $B$J$I$K$*$1$k(B, $BM-8BBN>e$G$N7W;;$N%5%]!<%H(B
                    741: @item
                    742: @code{vtol()} ($B%Y%/%H%k$+$i%j%9%H$X$NJQ49(B) $B$NDI2C(B.
                    743: @item
                    744: @code{map()} $B$NDI2C(B.
1.3       noro      745: \E
                    746: \BEG
                    747: @item
                    748: One can specify a main variable for @code{sdiv()} etc.
                    749: @item
                    750: Functions for polynomial division over finite fields
                    751: such as @code{sdivm()} have been appended.
                    752: @item
                    753: @code{det()}, @code{res()} can produce results over finite fields.
                    754: @item
                    755: @code{vtol()}, conversion from a vector to a list has been appended.
                    756: @item
                    757: @code{map()} has been appended.
                    758: \E
1.1       noro      759: @end itemize
                    760:
1.3       noro      761: \BJP
1.1       noro      762: @node $B%0%l%V%J4pDl(B($BJQ99(B),,, Version 950831
                    763: @subsubsection $B%0%l%V%J4pDl(B
1.3       noro      764: \E
                    765: \BEG
                    766: @node Groebner basis computation(Changes),,, Version 950831
                    767: @subsubsection Groebner basis computation
                    768: \E
1.1       noro      769:
                    770: @itemize @bullet
1.3       noro      771: \BJP
1.1       noro      772: @item
                    773: $B%0%l%V%J4pDl7W;;5!G=$NAH$_9~$_H!?t2=(B.
                    774: @item
                    775: @code{grm()}, @code{hgrm()} $B$,(B @code{gr()}, @code{hgr()} $B$KJQ99(B.
                    776: @item
                    777: @code{gr()}, @code{hgr()} $B$K$*$$$F(B, $B9`=g=x$N;XDj$,I,MW$K$J$C$?(B.
                    778: @item
                    779: $B9`=g=x$N;XDjJ}K!$,3HD%$5$l$?(B.
                    780: @item
                    781: $BM-8BBN>e$N%0%l%V%J4pDl7W;;$N%5%]!<%H(B.
                    782: @item
                    783: $B4pDlJQ49$K$h$k<-=q<0=g=x%0%l%V%J4pDl7W;;$N%5%]!<%H(B.
                    784: @item
                    785: $B$$$/$D$+$N?7$7$$AH$_9~$_H!?t$NDs6!(B.
1.3       noro      786: \E
                    787: \BEG
                    788: @item Functions for Groebner basis computation have been implemented
                    789: as built-in functions.
                    790: @item
                    791: @code{grm()} and @code{hgrm()} have been changed to @code{gr()} and
                    792: @code{hgr()} respectively.
                    793: @item
                    794: @code{gr()} and @code{hgr()} requires explicit specification of
                    795: an ordering type.
                    796: @item
                    797: Extension of specification of a term ordering type.
                    798: @item
                    799: Groebner basis computations over finite fields.
                    800: @item
                    801: Lex order Groebner basis computation via a modular change of ordering algorithm.
                    802: @item
                    803: Several new built-in functions.
                    804: \E
1.1       noro      805: @end itemize
                    806:
1.3       noro      807: \BJP
1.1       noro      808: @node $B$=$NB>(B($BJQ99(B),,, Version 950831
                    809: @subsubsection $B$=$NB>(B
1.3       noro      810: \E
                    811: \BEG
                    812: @node Others(Changes),,, Version 950831
                    813: @subsubsection Others
                    814: \E
1.1       noro      815:
                    816: @itemize @bullet
1.3       noro      817: \BJP
1.1       noro      818: @item
                    819: $BJ,;67W;;MQ%D!<%k(B, $BH!?t$NDI2C(B.
                    820: @item
                    821: $BBe?tBN>e$N(B GCD $B7W;;$K$*$1$k%b%8%e%i7W;;$N1~MQ(B.
                    822: @item
                    823: $B%$%G%"%k$N=`AGJ,2r$N%5%]!<%H(B.
                    824: @item
                    825: Windows $B$X$N0\?"(B.
1.3       noro      826: \E
                    827: \BEG
                    828: @item
                    829: Implementation of tools for distributed computation.
                    830: @item
                    831: Application of modular computation for GCD computation over algebraic number
                    832: fields.
                    833: @item
                    834: Implementation of primary decompostion of ideals.
                    835: @item
                    836: Porting to Windows.
                    837: \E
1.1       noro      838: @end itemize
                    839:
1.3       noro      840: \JP @node Version 940420,,, $BJQ99E@(B
                    841: \EG @node Version 940420,,, Changes
1.1       noro      842: @subsection Version 940420
                    843:
                    844: @noindent
1.3       noro      845: \JP $B:G=i$N8x3+HG(B.
                    846: \EG The first public verion.
1.1       noro      847:
1.3       noro      848: \BJP
1.1       noro      849: @node $BJ88%(B,,, $BIUO?(B
                    850: @section $BJ88%(B
1.3       noro      851: \E
                    852: \BEG
                    853: @node References,,, Appendix
                    854: @section References
                    855: \E
1.1       noro      856: @table @code
                    857: @item [Batut et al.]
                    858: Batut, C., Bernardi, D., Cohen, H., Olivier, M., "User's Guide to PARI-GP",
                    859: 1993.
                    860: @item [Becker,Weispfenning]
                    861: Becker, T., Weispfenning, V., "Groebner Bases", Graduate Texts in Math. 141,
                    862: Springer-Verlag, 1993.
                    863: @item [Boehm,Weiser]
                    864: Boehm, H., Weiser, M., "Garbage Collection in an Uncooperative
                    865: Environment", Software Practice & Experience, September 1988, 807-820.
                    866: @item [Gebauer,Moeller]
                    867: Gebauer, R., Moeller, H. M., "An installation of Buchberger's algorithm",
                    868: J. of Symbolic Computation 6, 275-286.
                    869: @item [Giovini et al.]
                    870: Giovini, A., Mora, T., Niesi, G., Robbiano, L., Traverso, C.,
                    871: ""One sugar cube, please" OR Selection strategies in the Buchberger algorithm",
                    872: Proc. ISSAC'91, 49-54.
                    873: @item [Noro,Takeshima]
                    874: Noro, M., Takeshima, T., "Risa/Asir -- A Computer Algebra System",
                    875: Proc. ISSAC'92, 387-396.
                    876: @item [Noro,Yokoyama]
1.3       noro      877: Noro, M., Yokoyama, K., "A Modular Method to Compute the Rational Univariate
                    878: Representation of Zero-Dimensional Ideals",
                    879: J. Symb. Comp. 28/1 (1999), 243-263.
1.1       noro      880: @item [Shimoyama,Yokoyama]
                    881: Shimoyama, T., Yokoyama, K.,
                    882: "Localization and primary decomposition of polynomial ideals",
1.3       noro      883: J. Symb. Comp. 22 (1996), 247-277.
                    884: @item [Shoup]
                    885: Shoup, V., "A new polynomial factorization algorithm and its implementation",
                    886: J. Symb. Comp. 20 (1995), 364-397.
1.1       noro      887: @item [Traverso]
                    888: Traverso, C., "Groebner trace algorithms", Proc. ISSAC '88(LNCS 358), 125-138.
1.3       noro      889: @item [Weber]
                    890: Weber, K., "The accelerated Integer GCD Algorithm", ACM TOMS, 21, 1(1995), 111-122.
1.1       noro      891: @end table
                    892:

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