[BACK]Return to complex.texi CVS log [TXT][DIR] Up to [local] / OpenXM / src / k097 / Doc

Annotation of OpenXM/src/k097/Doc/complex.texi, Revision 1.2

1.2     ! takayama    1: %% $OpenXM: OpenXM/src/k097/Doc/complex.texi,v 1.1 2001/01/04 12:29:32 takayama Exp $
1.1       takayama    2: /*&C
                      3: \input texinfo
                      4: @iftex
                      5: @catcode`@#=6
                      6: @def@b#1{{@bf@gt #1}}
                      7: @catcode`@#=@other
                      8: @end iftex
                      9: @overfullrule=0pt
                     10: @c -*-texinfo-*-
                     11: @comment %**start of header
                     12: @setfilename complex
                     13: @settitle complex
                     14: @comment %**end of header
                     15: @comment %@setchapternewpage odd
                     16:
                     17: @iftex
                     18: @comment @finalout
                     19: @end iftex
                     20:
                     21: @titlepage
                     22:
                     23: */
                     24:
                     25: //&C @title  Kan/k0   complex
                     26: //&ja @subtitle Kan/k0 complex $B%Q%C%1!<%8(B User's Manual ($BF|K\8lHG(B)
                     27: //&en @subtitle Kan/k0 complex Package User's Manual
                     28: /*&C
                     29: @subtitle Edition 1.1.3 for OpenXM/kan/k0
                     30: @subtitle December 31, 2000
                     31:
                     32: @author  by Nobuki Takayama
                     33: @end titlepage
                     34:
                     35: @synindex vr fn
                     36:
                     37: @comment  node-name,  next,  previous,  up
                     38: @node Top,, (dir), (dir)
                     39:
                     40: */
                     41:
                     42: /*&ja
                     43:
                     44: @menu
                     45: * COMPLEX $BH!?t(B::
                     46: * $B4pK\(B $BH!?t(B::
                     47: * $B:w0z(B::
                     48: @end menu
                     49:
                     50: */
                     51: /*&en
                     52:
                     53: @menu
                     54: * COMPLEX function::
                     55: * Primitive function::
                     56: * index::
                     57: @end menu
                     58:
                     59: */
                     60: /*&ja
                     61:
                     62: @node COMPLEX $BH!?t(B,,, Top
                     63: @chapter COMPLEX $BH!?t(B
                     64: @section $BH!?t0lMw(B
                     65: */
                     66: /*&en
                     67:
                     68: @node COMPLEX function,,, Top
                     69: @chapter COMPLEX function
                     70: @section A list of functions
                     71: */
                     72: /*&C
                     73: @menu
                     74: * Res_solv::
                     75: * Res_solv2::
                     76: * Kernel::
                     77: * Kernel2::
                     78: * Gb::
                     79: * Gb_h::
                     80: * Res_shiftMatrix::
                     81: @end menu
                     82:
                     83: */
                     84:
                     85: /*&ja
                     86: @c %%%%%%%%%%%%%%%%%%%%  start of Res_solv %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                     87: @menu
                     88: * Res_solv::
                     89: @end menu
                     90: @node Res_solv,,, COMPLEX $BH!?t(B
                     91: @subsection @code{Res_solv}
                     92: @findex Res_solv
                     93: @table @t
                     94: @item Res_solv(@var{m},@var{d})
                     95: ::  $B0l<!ITDjJ}Dx<0(B u @var{m} =@var{d} $B$N2r$r$b$H$a$k(B.
                     96: @item Res_solv(@var{m},@var{d},@var{r})
                     97: ::  $B0l<!ITDjJ}Dx<0(B u @var{m} =@var{d} $B$N2r$r$b$H$a$k(B. @var{r} $B$O(B ring.
                     98: @end table
                     99:
                    100: */
                    101: /*&en
                    102: @c %%%%%%%%%%%%%%%%%%%%  start of Res_solv %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    103: @menu
                    104: * Res_solv::
                    105: @end menu
                    106: @node Res_solv,,, COMPLEX function
                    107: @subsection @code{Res_solv}
                    108: @findex Res_solv
                    109: @table @t
                    110: @item Res_solv(@var{m},@var{d})
                    111: ::  Find a solution u of the linear indefinite equation u @var{m} =@var{d}.
                    112: @item Res_solv(@var{m},@var{d},@var{r})
                    113: ::  Find a solution u of the linear indefinite equation u @var{m} =@var{d}.
                    114: @var{r} is a ring object.
                    115: @end table
                    116:
                    117: */
                    118:
                    119: /*&ja
                    120: @table @var
                    121: @item return
                    122: [c,r] $B$,La$jCM$N$H$-(B c/r $B$,2r(B u ($B2#%Y%/%H%k(B).
                    123: @item m
                    124: $B9TNs$^$?$O%Y%/%H%k(B
                    125: @item d
                    126: $B%Y%/%H%k(B $B$^$?$O%9%+%i!<(B
                    127: @end table
                    128:
                    129: @itemize @bullet
                    130: @item  $B0l<!ITDjJ}Dx<0(B u @var{m} =@var{d} $B$N2r$r$b$H$a$k(B.
                    131: @item  @var{m}, @var{d} $B$N=g$K4D$NDj5A$r8!:w$7(B, $B$=$N4D$HF1$8JQ?t=89g$r(B
                    132: $B$b$DHyJ,:nMQAG4D(B(graded reverse lexicographic order)$B$GITDjJ}Dx<0$r2r$/(B.
                    133: $B4D(B @var{r} $B$,$"$?$($i$l$F$$$k$H$-$O(B, @var{r} $B$HF1$8JQ?t=89g$r$b$D(B
                    134: $BHyJ,:nMQAG4D(B(graded reverse lexicographic order)$B$GITDjJ}Dx<0$r2r$/(B.
                    135: @item @var{m}, @var{d} $B$,Dj?t@.J,$N$H$-$O(B, $B4D(B @var{r} $B$rM?$($kI,MW$,$"$k(B.
                    136: (@var{m}, @var{d} $B$h$j4D$N>pJs$r$H$j$@$;$J$$$?$a(B).
                    137: @end itemize
                    138:
                    139: */
                    140: /*&en
                    141: @table @var
                    142: @item return
                    143: When [c,r] is the return value,  c/r is the solution u.
                    144: @item m
                    145: Matrix or vector
                    146: @item d
                    147: Vector or scalar
                    148: @end table
                    149:
                    150: @itemize @bullet
                    151: @item  Find a solution u of the linear indefinite equation u @var{m} =@var{d}.
                    152: @item It solves the linear indefinite equation in the ring of differential
                    153: operators (with graded reverse lexicographic order) of the same set
                    154: of variables of the ring to which @var{m} or @var{d} belongs.
                    155: When the ring @var{r} is given,
                    156: it solves the linear indefinite equation in the ring of differential
                    157: operators (with graded reverse lexicographic order) of the same set
                    158: of variables of the ring @var{r}.
                    159: @item When @var{m} and @var{d} consist of constants, a ring @var{r}
                    160: should be given.
                    161: @end itemize
                    162:
                    163: */
                    164:
                    165: /*&C
                    166: @example
                    167: In(16)= RingD("x,y");
                    168: In(17)= mm=[Dx,Dy,x];
                    169: In(18)= Res_solv(mm,1):
                    170: [    [    x , 0 , -Dx ]  , -1 ]
                    171: @end example
                    172: */
                    173: /*&ja
                    174: $B$3$l$O(B -x*Dx + 0*Dy+Dx*x = 1 $B$G$"$k$3$H$r<($9(B.
                    175: */
                    176: /*&en
                    177: The output means that  -x*Dx + 0*Dy+Dx*x = 1.
                    178: */
                    179:
                    180: /*&C
                    181: @example
                    182: In(4)=RingD("x");
                    183:      m=[ [x*Dx+2, 0],[Dx+3,x^3],[3,x],[Dx*(x*Dx+3)-(x*Dx+2)*(x*Dx-4),0]];
                    184:      d=[1,0];
                    185:      Res_solv(m,d):
                    186:
                    187: [    [    x^2*Dx-x*Dx-4*x-1 , 0 , 0 , x ]  , -2 ]
                    188: @end example
                    189: */
                    190: /*&ja
                    191: $B$3$l$O(B
                    192: -(1/2)*(x^2*Dx-x*Dx-4*x-1)*[x*Dx+2, 0]-(1/2)*[Dx*(x*Dx+3)-(x*Dx+2)*(x*Dx-4),0]
                    193: = [1,0]
                    194: $B$G$"$k$3$H$r<($9(B.
                    195: */
                    196: /*&en
                    197: The output implies that
                    198: -(1/2)*(x^2*Dx-x*Dx-4*x-1)*[x*Dx+2, 0]-(1/2)*[Dx*(x*Dx+3)-(x*Dx+2)*(x*Dx-4),0]
                    199: = [1,0]
                    200: */
                    201:
                    202: /*&C
                    203:
                    204: @example
                    205:
                    206: In(4)= r=RingD("x,y");
                    207: In(5)= Res_solv([[1,2],[3,4]],[5,0],r):
                    208: [    [    10 , -5 ]  , -1 ]
                    209:
                    210: @end example
                    211:
                    212:
                    213: */
                    214:
                    215:
                    216: /*&ja
                    217:
                    218: @table @t
                    219: @item $B;2>H(B
                    220:     @code{Res_solv_h}, @code{Kernel},  @code{GetRing}, @code{SetRing}.
                    221: @end table
                    222: @c  %%%%%%%%%%%%%%%%%%%%  end of Res_solv %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    223: */
                    224: /*&en
                    225:
                    226: @table @t
                    227: @item Reference
                    228:     @code{Res_solv_h}, @code{Kernel},  @code{GetRing}, @code{SetRing}.
                    229: @end table
                    230: @c  %%%%%%%%%%%%%%%%%%%%  end of Res_solv %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    231: */
                    232:
                    233: /*&ja
                    234: @c %%%%%%%%%%%%%%%%%%%%  start of Res_solv2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    235: @menu
                    236: * Res_solv2::
                    237: @end menu
                    238: @node Res_solv2,,, COMPLEX $BH!?t(B
                    239: @subsection @code{Res_solv2}
                    240: @findex Res_solv2
                    241: @table @t
                    242: @item Res_solv2(@var{m},@var{v},@var{j})
                    243: ::  $B0l<!ITDjJ}Dx<0(B u @var{m} =@var{v} mod @var{j} $B$N2r$r$b$H$a$k(B.
                    244: @item Res_solv2(@var{m},@var{v},@var{j},@var{r})
                    245: ::  $B0l<!ITDjJ}Dx<0(B u @var{m} =@var{v} mod @var{j} $B$N2r$r$b$H$a$k(B.
                    246: @var{r} $B$O(B ring.
                    247: @end table
                    248:
                    249: */
                    250: /*&en
                    251: @c %%%%%%%%%%%%%%%%%%%%  start of Res_solv2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    252: @menu
                    253: * Res_solv2::
                    254: @end menu
                    255: @node Res_solv2,,, COMPLEX function
                    256: @subsection @code{Res_solv2}
                    257: @findex Res_solv2
                    258: @table @t
                    259: @item Res_solv2(@var{m},@var{v},@var{j})
                    260: ::  Find a solution u of the linear indefinite equation u @var{m} =@var{v}
                    261:     mod @var{j}.
                    262: @item Res_solv2(@var{m},@var{v},@var{j},@var{r})
                    263: ::  Find a solution u of the linear indefinite equation u @var{m} =@var{v}
                    264: mod @var{j}.
                    265: @var{r} is a ring object.
                    266: @end table
                    267:
                    268: */
                    269:
                    270: /*&ja
                    271: @table @var
                    272: @item return
                    273: [c,r] $B$,La$jCM$N$H$-(B c/r $B$,2r(B u ($B2#%Y%/%H%k(B).
                    274: @item m
                    275: $B9TNs$^$?$O%Y%/%H%k(B
                    276: @item v  j
                    277: $B%Y%/%H%k(B $B$^$?$O%9%+%i!<(B
                    278: @end table
                    279:
                    280: @itemize @bullet
                    281: @item  $B0l<!ITDjJ}Dx<0(B u @var{m} =@var{v} mod @var{j} $B$N2r$r$b$H$a$k(B.
                    282: @item $B$3$l$O(B, @var{m} $B$r(B
                    283:  @var{m} :  D^p ---> D^q/@var{j}
                    284: $B$J$k:8(B D homomorphism $B$H$_$J$9$H$-(B,
                    285: @var{m}^(-1)(@var{v}) $B$r5a$a$k$3$H$KAjEv$9$k(B.
                    286: @item  @var{m}, @var{v} $B$N=g$K4D$NDj5A$r8!:w$7(B, $B$=$N4D$HF1$8JQ?t=89g$r(B
                    287: $B$b$DHyJ,:nMQAG4D(B(graded reverse lexicographic order)$B$GITDjJ}Dx<0$r2r$/(B.
                    288: $B4D(B @var{r} $B$,$"$?$($i$l$F$$$k$H$-$O(B, @var{r} $B$HF1$8JQ?t=89g$r$b$D(B
                    289: $BHyJ,:nMQAG4D(B(graded reverse lexicographic order)$B$GITDjJ}Dx<0$r2r$/(B.
                    290: @item @var{m}, @var{v} $B$,Dj?t@.J,$N$H$-$O(B, $B4D(B @var{r} $B$rM?$($kI,MW$,$"$k(B.
                    291: (@var{m}, @var{v} $B$h$j4D$N>pJs$r$H$j$@$;$J$$$?$a(B).
                    292: @end itemize
                    293:
                    294: */
                    295: /*&en
                    296: @table @var
                    297: @item return
                    298: When [c,r] is the return value,  c/r is the solution u.
                    299: @item m
                    300: Matrix or vector
                    301: @item v j
                    302: Vector or scalar
                    303: @end table
                    304:
                    305: @itemize @bullet
                    306: @item  Find a solution u of the linear indefinite equation u @var{m} =@var{v}
                    307: mod @var{j}.
                    308: @item Let  @var{m} be the left D-homomorphism
                    309:  @var{m} :  D^p ---> D^q/@var{j}.
                    310: The function returns an element in
                    311: @var{m}^(-1)(@var{v}).
                    312: @item It solves the linear indefinite equation in the ring of differential
                    313: operators (with graded reverse lexicographic order) of the same set
                    314: of variables of the ring to which @var{m} or @var{v} belongs.
                    315: When the ring @var{r} is given,
                    316: it solves the linear indefinite equation in the ring of differential
                    317: operators (with graded reverse lexicographic order) of the same set
                    318: of variables of the ring @var{r}.
                    319: @item When @var{m} and @var{v} consist of constants, a ring @var{r}
                    320: should be given.
                    321: @end itemize
                    322:
                    323: */
                    324:
                    325: /*&C
                    326: @example
                    327: In(28)= r=RingD("x,y");
                    328: In(29)= Res_solv2([x,y],[x^2+y^2],[x]):
                    329: [    [    0 , y ]  , 1 ]
                    330:
                    331: @end example
                    332: */
                    333: /*&ja
                    334: $B$3$l$O(B 0*x + y*y = x^2+y^2 mod x $B$G$"$k$3$H$r<($9(B.
                    335: */
                    336: /*&en
                    337: The output means that  0*x + y*y = x^2+y^2 mod x
                    338: */
                    339:
                    340: /*&C
                    341: @example
                    342:
                    343: In(32)= Res_solv2([x,y],[x^2+y^2],[],r):
                    344: [    [    x , y ]  , 1 ]
                    345:
                    346:
                    347: @end example
                    348: */
                    349: /*&ja
                    350: $B$3$l$O(B
                    351:   x*x + y*y = x^2+y^2
                    352: $B$G$"$k$3$H$r<($9(B.
                    353: */
                    354: /*&en
                    355: The output implies that
                    356:   x*x + y*y = x^2+y^2.
                    357: */
                    358:
                    359:
                    360:
                    361: /*&ja
                    362:
                    363: @table @t
                    364: @item $B;2>H(B
                    365:     @code{Res_solv2_h}, @code{Kernel2},  @code{GetRing}, @code{SetRing}.
                    366: @end table
                    367: @c  %%%%%%%%%%%%%%%%%%%%  end of Res_solv2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    368: */
                    369: /*&en
                    370:
                    371: @table @t
                    372: @item Reference
                    373:     @code{Res_solv2_h}, @code{Kernel2},  @code{GetRing}, @code{SetRing}.
                    374: @end table
                    375: @c  %%%%%%%%%%%%%%%%%%%%  end of Res_solv2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    376: */
                    377:
                    378:
                    379: /*&ja
                    380: @c %%%%%%%%%%%%%%%%%%%%  start of Kernel %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    381: @c Kernel $B$O(B minimal.k $B$K$"$k$,(B complex.k $B$J$I$K0\F0$9$Y$-(B.
                    382: @menu
                    383: * Kernel::
                    384: @end menu
                    385: @node Kernel,,, COMPLEX $BH!?t(B
                    386: @subsection @code{Kernel}
                    387: @findex Kernel
                    388: @table @t
                    389: @item Kernel(@var{m})
                    390: ::  $B0l<!ITDjJ}Dx<0(B u @var{m} =0 $B$N2r6u4V$N4pDl$r5a$a$k(B.
                    391: @item Kernel(@var{m},@var{r})
                    392: ::  $B0l<!ITDjJ}Dx<0(B u @var{m} =0 $B$N2r6u4V$N4pDl$r5a$a$k(B. @var{r} $B$O(B ring.
                    393: @end table
                    394:
                    395: */
                    396: /*&en
                    397: @c %%%%%%%%%%%%%%%%%%%%  start of Kernel %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    398: @menu
                    399: * Kernel::
                    400: @end menu
                    401: @node Kernel,,, COMPLEX function
                    402: @subsection @code{Kernel}
                    403: @findex Kernel
                    404: @table @t
                    405: @item Kernel(@var{m})
                    406: ::  Find solution basis of the linear indefinite equation u @var{m} =0.
                    407: @item Kernel(@var{m},@var{r})
                    408: ::  Find solution basis of the linear indefinite equation u @var{m} =0.
                    409: @var{r} is a ring object.
                    410: @end table
                    411:
                    412: */
                    413:
                    414: /*&ja
                    415: @table @var
                    416: @item return
                    417: $B%j%9%H(B
                    418: @item m
                    419: $B9TNs$^$?$O%Y%/%H%k(B
                    420: @end table
                    421:
                    422: @itemize @bullet
                    423: @item  $B0l<!ITDjJ}Dx<0(B u @var{m} =0 $B$N2r6u4V$N4pDl$r5a$a$k(B.
                    424: @item $BLa$jCM$r(B k $B$H$9$k$H$-(B k[0] $B$,(B $B2r6u4V$N4pDl$N=89g(B.
                    425: k[1] $B$O(B [gb, backward transformation, syzygy without dehomogenization].
                    426: @item  @var{m} $B$h$j4D$NDj5A$r8!:w$7(B, $B$=$N4D$G%+!<%M%k$r7W;;$9$k(B.
                    427: $B4D(B @var{r} $B$,$"$?$($i$l$F$$$k$H$-$O(B, @var{r} $B$G%+!<%M%k$r7W;;$9$k(B.
                    428: @item @var{m} $B$,Dj?t@.J,$N$H$-$O(B, $B4D(B @var{r} $B$rM?$($kI,MW$,$"$k(B.
                    429: (@var{m} $B$h$j4D$N>pJs$r$H$j$@$;$J$$$?$a(B).
                    430: @item BUG:  Kernel $B$*$h$S(B Res_solv (syz, res-solv) $B$N$_$,(B, $B4D0z?t$K(B
                    431: $BBP1~$7$F$k(B. (2000, 12/29 $B8=:_(B).
                    432: @end itemize
                    433:
                    434: */
                    435: /*&en
                    436: @table @var
                    437: @item return
                    438: List
                    439: @item m
                    440: Matrix or vector
                    441: @end table
                    442:
                    443: @itemize @bullet
                    444: @item  Find solution basis of the linear indefinite equation u @var{m} =0.
                    445: @item When the return value is  k, k[0] is a set of generators of the kernel.
                    446: k[1] is [gb, backward transformation, syzygy without dehomogenization].
                    447: @item It finds the kernel in the ring
                    448: to which @var{m} belongs.
                    449: When the ring @var{r} is given,
                    450: it finds the kernel in the ring @var{r}.
                    451: @item When @var{m} consists of constants, a ring @var{r}
                    452: should be given.
                    453: @end itemize
                    454:
                    455: */
                    456:
                    457: /*&C
                    458: @example
                    459: In(16)= RingD("x,y");
                    460: In(17)= mm=[[Dx],[Dy],[x]];
                    461: In(18)= Pmat(Kernel(mm));
                    462:  [
                    463:   [
                    464:     [    -x*Dx-2 , 0 , Dx^2 ]
                    465:     [    -x*Dy , -1 , Dx*Dy ]
                    466:     [    -x^2 , 0 , x*Dx-1 ]
                    467:   ]
                    468:   [
                    469:    [
                    470:      [    -1 ]
                    471:    ]
                    472:    [
                    473:      [    x , 0 , -Dx ]
                    474:    ]
                    475:    [
                    476:      [    -x*Dx-2 , 0 , Dx^2 ]
                    477:      [    -x*Dy , -1 , Dx*Dy ]
                    478:      [    -x^2 , 0 , x*Dx-1 ]
                    479:    ]
                    480:   ]
                    481:  ]
                    482:
                    483: @end example
                    484: */
                    485:
                    486:
                    487: /*&C
                    488:
                    489: @example
                    490:
                    491: In(4)= r=RingD("x,y");
                    492: In(5)= k=Kernel([[1,2],[2,4]],r); k[0]:
                    493: [    [    2 , -1 ]  ]
                    494: @end example
                    495:
                    496:
                    497: */
                    498:
                    499:
                    500: /*&ja
                    501:
                    502: @table @t
                    503: @item $B;2>H(B
                    504:     @code{Kernel_h}, @code{Res_solv}, @code{GetRing}, @code{SetRing}.
                    505: @end table
                    506: @c  %%%%%%%%%%%%%%%%%%%%  end of Kernel %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    507: */
                    508: /*&en
                    509:
                    510: @table @t
                    511: @item Reference
                    512:     @code{Kernel_h}, @code{Res_solv},  @code{GetRing}, @code{SetRing}.
                    513: @end table
                    514: @c  %%%%%%%%%%%%%%%%%%%%  end of Kernel %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    515: */
                    516: /*&ja
                    517: @c %%%%%%%%%%%%%%%%%%%%  start of Kernel2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    518: @menu
                    519: * Kernel2::
                    520: @end menu
                    521: @node Kernel2,,, COMPLEX $BH!?t(B
                    522: @subsection @code{Kernel2}
                    523: @findex Kernel2
                    524: @table @t
                    525: @item Kernel2(@var{m},@var{j})
                    526: ::  @var{m} : D^p ---> D^q/@var{j} $B$N(B Kernel $B$r5a$a$k(B.
                    527: @item Kernel2(@var{m},@var{j},@var{r})
                    528: ::  @var{m} : D^p ---> D^q/@var{j} $B$N(B Kernel $B$r5a$a$k(B. @var{r} $B$O(B ring.
                    529: @end table
                    530:
                    531: */
                    532: /*&en
                    533: @c %%%%%%%%%%%%%%%%%%%%  start of Kernel2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    534: @menu
                    535: * Kernel2::
                    536: @end menu
                    537: @node Kernel2,,, COMPLEX function
                    538: @subsection @code{Kernel2}
                    539: @findex Kernel2
                    540: @table @t
                    541: @item Kernel2(@var{m})
                    542: ::  Get the kernel of @var{m} : D^p ---> D^q/@var{j}.
                    543: @item Kernel2(@var{m},@var{r})
                    544: ::   Get the kernel of @var{m} : D^p ---> D^q/@var{j}.
                    545: @var{r} is a ring object.
                    546: @end table
                    547:
                    548: */
                    549:
                    550: /*&ja
                    551: @table @var
                    552: @item return
                    553: $B%j%9%H(B
                    554: @item m  j
                    555: $B9TNs$^$?$O%Y%/%H%k(B
                    556: @end table
                    557:
                    558: @itemize @bullet
                    559: @item @var{m} : D^p ---> D^q/@var{j} $B$N(B Kernel $B$r5a$a$k(B.
                    560: @item D^p $B$O2#%Y%/%H%k$G$"$j(B, u $B$,(B D^p $B$N85$N$H$-(B,
                    561:     u @var{m} $B$G<LA|$rDj5A$9$k(B.
                    562: @item  @var{m} $B$h$j4D$NDj5A$r8!:w$7(B, $B$=$N4D$G%+!<%M%k$r7W;;$9$k(B.
                    563: $B4D(B @var{r} $B$,$"$?$($i$l$F$$$k$H$-$O(B, @var{r} $B$G%+!<%M%k$r7W;;$9$k(B.
                    564: @item @var{m} $B$,Dj?t@.J,$N$H$-$O(B, $B4D(B @var{r} $B$rM?$($kI,MW$,$"$k(B.
                    565: (@var{m} $B$h$j4D$N>pJs$r$H$j$@$;$J$$$?$a(B).
                    566: @end itemize
                    567:
                    568: */
                    569: /*&en
                    570: @table @var
                    571: @item return
                    572: List
                    573: @item m  j
                    574: Matrix or vector
                    575: @end table
                    576:
                    577: @itemize @bullet
                    578: @item Get a set of generators of the the kernel
                    579: of @var{m} : D^p ---> D^q/@var{j}.
                    580: @item D^p is a set of row vectors. When u is an element of D^p,
                    581: define the map from D^p to D^q/@var{j} by u @var{m}.
                    582: @item It finds the kernel in the ring
                    583: to which @var{m} belongs.
                    584: When the ring @var{r} is given,
                    585: it finds the kernel in the ring @var{r}.
                    586: @item When @var{m} consists of constants, a ring @var{r}
                    587: should be given.
                    588: @end itemize
                    589:
                    590: */
                    591:
                    592: /*&C
                    593: @example
                    594: In(27)= r=RingD("x,y");
                    595: In(28)= Kernel2([[x,y],[x^2,x*y]],[]):
                    596: [    [    -x , 1 ]  ]
                    597: In(29)=Kernel2([[x,y],[x^2,x*y]],[[x,y]]):
                    598: [    [    1 , 0 ]  , [    0 , 1 ]  ]
                    599:
                    600: In(41)=Kernel2([0],[0],r):
                    601: [    [    1 ]  , [    0 ]  ]
                    602: In(42)=Kernel2([[0,0],[0,0]],[[0,0]],r):
                    603: [    [    1 , 0 ]  , [    0 , 1 ]  , [    0 , 0 ]  ]
                    604: In(43)=Kernel2([[0,0,0],[0,0,0]],[],r):
                    605: [    [    1 , 0 ]  , [    0 , 1 ]  ]
                    606:
                    607: @end example
                    608: */
                    609:
                    610:
                    611: /*&ja
                    612:
                    613: @table @t
                    614: @item $B;2>H(B
                    615:     @code{Kernel2_h}, @code{Res_solv2}, @code{GetRing}, @code{SetRing},
                    616:     @code{Kernel}.
                    617: @end table
                    618: @c  %%%%%%%%%%%%%%%%%%%%  end of Kernel2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    619: */
                    620: /*&en
                    621:
                    622: @table @t
                    623: @item Reference
                    624:     @code{Kernel2_h}, @code{Res_solv2},  @code{GetRing}, @code{SetRing},
                    625:     @code{Kernel}
                    626: @end table
                    627: @c  %%%%%%%%%%%%%%%%%%%%  end of Kernel2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    628: */
                    629:
                    630: /*&ja
                    631: @c %%%%%%%%%%%%%%%%%%%%  start of Gb %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    632: @menu
                    633: * Gb::
                    634: @end menu
                    635: @node Gb,,, COMPLEX $BH!?t(B
                    636: @node Gb_h,,, COMPLEX $BH!?t(B
                    637: @subsection @code{Gb}
                    638: @findex Gb
                    639: @findex Gb_h
                    640: @table @t
                    641: @item Gb(@var{f})
                    642: ::  @var{f} $B$N%0%l%V%J4pDl$r$b$H$a$k(B.
                    643: @item Gb(@var{f},@var{r})
                    644: ::  @var{f} $B$N%0%l%V%J4pDl$r$b$H$a$k(B. @var{r} $B$O(B ring.
                    645: @item Gb_h(@var{f})
                    646: ::  @var{f} $B$N%0%l%V%J4pDl$r$b$H$a$k(B.
                    647: @item Gb_h(@var{f},@var{r})
                    648: ::  @var{f} $B$N%0%l%V%J4pDl$r$b$H$a$k(B. @var{r} $B$O(B ring.
                    649: @end table
                    650:
                    651: */
                    652: /*&en
                    653: @c %%%%%%%%%%%%%%%%%%%%  start of Gb %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    654: @menu
                    655: * Gb::
                    656: @end menu
                    657: @node Gb,,, COMPLEX function
                    658: @node Gb_h,,, COMPLEX function
                    659: @subsection @code{Gb}
                    660: @findex Gb
                    661: @table @t
                    662: @item Gb(@var{f})
                    663: ::  It computes the Grobner basis of @var{f}.
                    664: @item Gb(@var{m},@var{r})
                    665: ::  It computes the Grobner basis of @var{f}.
                    666: @var{r} is a ring object.
                    667: @item Gb_h(@var{f})
                    668: ::  It computes the Grobner basis of @var{f}.
                    669: @item Gb_h(@var{m},@var{r})
                    670: ::  It computes the Grobner basis of @var{f}.
                    671: @var{r} is a ring object.
                    672: @end table
                    673:
                    674: */
                    675:
                    676: /*&ja
                    677: @table @var
                    678: @item return
                    679: $B%j%9%H(B
                    680: @item f
                    681: $B9TNs$^$?$O%Y%/%H%k(B
                    682: @end table
                    683:
                    684: @itemize @bullet
                    685: @item  @var{f} $B$N%0%l%V%J4pDl$r$b$H$a$k(B.
                    686: @item _h $BIU$-$N>l9g$O(B, $BF1<!%o%$%kBe?t$G7W;;$r$*$3$J$&(B.
                    687: @item $BLa$jCM$r(B k $B$H$9$k$H$-(B k[0] $B$,(B $B%0%l%V%J4pDl(B.
                    688: $B4D$,(B weight vector $BIU$-$GDj5A$5$l$?$H$-$O(B,
                    689: k[1] $B$O(B initial ideal $B$^$?$O(B initial module.
                    690: @item  @var{m} $B$h$j4D$NDj5A$r8!:w$7(B, $B$=$N4D$G%0%l%V%J4pDl$r7W;;$9$k(B.
                    691: $B4D(B @var{r} $B$,$"$?$($i$l$F$$$k$H$-$O(B, @var{r} $B$G%0%l%V%J4pDl$r7W;;$9$k(B.
                    692: @item @var{m} $B$,Dj?t@.J,$N$H$-$O(B, $B4D(B @var{r} $B$rM?$($kI,MW$,$"$k(B.
                    693: (@var{m} $B$h$j4D$N>pJs$r$H$j$@$;$J$$$?$a(B).
                    694: @end itemize
                    695:
                    696: */
                    697: /*&en
                    698: @table @var
                    699: @item return
                    700: List
                    701: @item f
                    702: Matrix or vector
                    703: @end table
                    704:
                    705: @itemize @bullet
                    706: @item  Compute the Grobner basis of @var{f}.
                    707: @item Functions with _h  computes Grobner bases in the homogenized Weyl
                    708: algebra.
                    709: @item When the return value is  k, k[0] is the Grobner basis.
                    710: k[1] is the initial ideal or the initial module of @var{f},
                    711: when the ring is defined with a weight vector.
                    712: @item It computes the Grobner basis in the ring
                    713: to which @var{f} belongs.
                    714: When the ring @var{r} is given,
                    715: it computes the Grobner basis in the ring @var{r}.
                    716: @item When @var{f} consists of constants, a ring @var{r}
                    717: should be given.
                    718: @end itemize
                    719:
                    720: */
                    721:
                    722: /*&C
                    723: @example
                    724: In(5)= r=RingD("x,y");
                    725: In(6)= m=[[x^2+y^2-1],[x*y-1]];
                    726: In(7)= Gb(m):
                    727: [    [    [    x^2+y^2-1 ]  , [    x*y-1 ]  , [    y^3+x-y ]  ]  ,
                    728: [    [    x^2+y^2-1 ]  , [    x*y-1 ]  , [    y^3+x-y ]  ]  ]
                    729:
                    730: In(11)= RingD("x,y",[["x",1]]);
                    731: In(12)= r=RingD("x,y",[["x",1]]);
                    732: In(13)= Gb(m,r):
                    733: [    [    [    x+y^3-y ]  , [    -y^4+y^2-1 ]  ]  ,
                    734: [    [    x ]  , [    -y^4+y^2-1 ]  ]  ]
                    735:
                    736: @end example
                    737: */
                    738:
                    739:
                    740: /*&ja
                    741:
                    742: @table @t
                    743: @item $B;2>H(B
                    744:     @code{Gb_h}, @code{Kernel}, @code{Res_solv}, @code{RingD},
                    745:     @code{GetRing}, @code{SetRing}.
                    746: @end table
                    747: @c  %%%%%%%%%%%%%%%%%%%%  end of Gb %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    748: */
                    749: /*&en
                    750:
                    751: @table @t
                    752: @item Reference
                    753:     @code{Gb_h}, @code{Kernel}, @code{Res_solv}, @code{RingD},
                    754:     @code{GetRing}, @code{SetRing}.
                    755: @end table
                    756: @c  %%%%%%%%%%%%%%%%%%%%  end of Gb %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    757: */
                    758:
                    759: /*&ja
                    760: @c %%%%%%%%%%%%%%%%%%%%  start of Res_shiftMatrix %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    761: @menu
                    762: * Res_shiftMatrix::
                    763: @end menu
                    764: @node Res_shiftMatrix,,, COMPLEX $BH!?t(B
                    765: @subsection @code{Res_shiftMatrix}
                    766: @findex Res_shiftMatrix
                    767: @table @t
                    768: @item Res_shiftMatrix(@var{m},@var{v})
                    769: ::  Degree shift $B%Y%/%H%k(B @var{m} $B$KBP1~$9$k9TNs$r:n$k(B.
                    770: @item Res_shiftMatrix(@var{f},@var{v},@var{r})
                    771: ::  Degree shift $B%Y%/%H%k(B @var{m} $B$KBP1~$9$k9TNs$r:n$k(B. @var{r} $B$O(B ring.
                    772: @end table
                    773:
                    774: */
                    775: /*&en
                    776: @c %%%%%%%%%%%%%%%%%%%%  start of Res_shiftMatrix %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    777: @menu
                    778: * Res_shiftMatrix::
                    779: @end menu
                    780: @node Res_shiftMatrix,,, COMPLEX function
                    781: @subsection @code{Res_shiftMatrix}
                    782: @findex Res_shiftMatrix
                    783: @table @t
                    784: @item Res_shiftMatrix(@var{m},@var{v})
                    785: ::  Generate a matrix associated to a degree shift vector @var{m}
                    786: @item Res_shiftMatrix(@var{m},@var{v},@var{r})
                    787: ::  Generate a matrix associated to a degree shift vector @var{m}
                    788: @var{r} is a ring object.
                    789: @end table
                    790:
                    791: */
                    792:
                    793: /*&ja
                    794: @table @var
                    795: @item return
                    796: $B9TNs(B.
                    797: @item m
                    798: $B%Y%/%H%k(B
                    799: @item v
                    800: $BB?9`<0JQ?t$^$?$OJ8;zNs(B
                    801: @end table
                    802:
                    803: @itemize @bullet
                    804: @item diag(@var{v}^(@var{m}1), ..., @var{v}^(@var{m}n))
                    805: $B$J$k(B n $B!_(B n $B9TNs$rLa$9(B.
                    806: @end itemize
                    807:
                    808: */
                    809: /*&en
                    810: @table @var
                    811: @item return
                    812: Matrix
                    813: @item m
                    814: Vector
                    815: @item v
                    816: $BB?9`<0JQ?t$^$?$OJ8;zNs(B
                    817: @end table
                    818:
                    819: @itemize @bullet
                    820: @item Returns n by n matrix
                    821: diag(@var{v}^(@var{m}1), ..., @var{v}^(@var{m}n))
                    822: @end itemize
                    823:
                    824: */
                    825:
                    826: /*&C
                    827: @example
                    828: In(5)= r=RingD("x,y");
                    829: In(6)= Res_shiftMatrix([-1,0,3],x):
                    830: [    [    x^(-1) , 0 , 0 ]  , [    0 , 1 , 0 ]  , [    0 , 0 , x^3 ]  ]
                    831:
                    832: @end example
                    833: */
                    834:
                    835: /*&C
                    836: @example
                    837: In(9)=  rrr = RingD("t,x,y",[["t",1,"x",-1,"y",-1,"Dx",1,"Dy",1]]);
                    838: In(10)=  m=[Dx-(x*Dx+y*Dy+2),Dy-(x*Dx+y*Dy+2)];
                    839: In(12)=  m=Gb(m);
                    840: In(13)=  k = Kernel_h(m[0]);
                    841: In(14)=  Pmat(k[0]);
                    842:  [
                    843:    [    -Dy+3*h , Dx-3*h , 1 ]
                    844:    [    -x*Dx+x*Dy-y*Dy-3*x*h , y*Dy+3*x*h , h-x ]
                    845:  ]
                    846:
                    847: In(15)=Pmat(m[0]);
                    848:   [    Dx*h-x*Dx-y*Dy-2*h^2 , Dy*h-x*Dx-y*Dy-2*h^2 ,
                    849:        x*Dx^2-x*Dx*Dy+y*Dx*Dy-y*Dy^2 ]
                    850:
                    851: In(18)=k2 = Gb_h(k[0]*Res_shiftMatrix([1,1,1],t));
                    852: In(19)=Pmat(Substitute(k2[0],t,1));
                    853:  [
                    854:    [    -Dy+3*h , Dx-3*h , 1 ]
                    855:    [    -x*Dx+x*Dy-y*Dy-3*x*h , y*Dy+3*x*h , h-x ]
                    856:  ]
                    857:
                    858:
                    859: @end example
                    860: */
                    861:
                    862:
                    863: /*&ja
                    864:
                    865: @table @t
                    866: @item $B;2>H(B
                    867:     @code{Gb}, (m,(u,v))-$B%0%l%V%J4pDl(B
                    868: @end table
                    869: @c  %%%%%%%%%%%%%%%%%%%%  end of Res_shiftMatrix %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    870: */
                    871: /*&en
                    872:
                    873: @table @t
                    874: @item Reference
                    875:    @code{Gb}, (m,(u,v))-Grobner basis
                    876: @end table
                    877: @c  %%%%%%%%%%%%%%%%%%%%  end of Res_shiftMatrix %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    878: */
                    879:
                    880:
                    881: @c --------------  Primitive $B4pK\(B ----------------------
                    882:
                    883: /*&ja
                    884:
                    885: @node $B4pK\(B $BH!?t(B,,, Top
                    886: @chapter $B4pK\(B $BH!?t(B
                    887: @section $BH!?t0lMw(B
                    888: */
                    889: /*&en
                    890:
                    891: @node Primitive function,,, Top
                    892: @chapter Primitive function
                    893: @section A list of functions
                    894: */
                    895: /*&C
                    896: @menu
1.2     ! takayama  897: * ChangeRing::
1.1       takayama  898: * GetRing::
                    899: * SetRing::
                    900: * Intersection::
                    901: * Getxvars::
                    902: * Firstn::
                    903: @end menu
                    904: */
                    905:
                    906: /*&ja
1.2     ! takayama  907: @c %%%%%%%%%%%%%%%%%%%%  start ChangeRing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        !           908: @node ChangeRing,,, $B4pK\(B $BH!?t(B
        !           909: @subsection @code{ChangeRing}
        !           910: @findex ChangeRing
1.1       takayama  911: @table @t
1.2     ! takayama  912: @item ChangeRing(@var{f})
        !           913: ::  ChangeRing $B$O(B @var{f} $B$NMWAG$,B0$9$k4D$r(B current ring $B$K$9$k(B.
1.1       takayama  914: @end table
                    915:
                    916: @table @var
                    917: @item return
                    918: true $B$+(B false
                    919: @item f  $B%j%9%H(B
                    920: @end table
                    921:
                    922: @example
                    923:    RingD("x,y");
                    924:    f=[x+y,0];
                    925:    RingD("p,q,r");
1.2     ! takayama  926:    ChangeRing(f);
1.1       takayama  927: @end example
1.2     ! takayama  928: @c  %%%%%%%%%%%%%%%%%%%%  end of ChangeRing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1.1       takayama  929: */
                    930:
                    931: /*&ja
                    932: @c %%%%%%%%%%%%%%%%%%%%  start of GetRing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    933: @menu
                    934: * GetRing::
                    935: @end menu
                    936: @node GetRing,,, $B4pK\(B $BH!?t(B
                    937: @subsection @code{GetRing}
                    938: @findex GetRing
                    939: @table @t
                    940: @item GetRing(@var{f})
                    941: ::  @var{f} $B$NMWAG$NB0$9$k4D$rLa$9(B.
                    942: @end table
                    943:
                    944: @table @var
                    945: @item return
                    946: $B4D(B
                    947: @item f
                    948: $B%*%V%8%'%/%H(B
                    949: @end table
                    950:
                    951: @itemize @bullet
                    952: @item  @var{f} $B$NMWAG$^$?$O(B @var{f} $B<+?H$NB0$9$k4D$rLa$9(B.
                    953: $B4D$,$J$$$H$-$O(B null $B$rLa$9(B.
                    954: @end itemize
                    955:
                    956: @example
                    957: In(16)= RingD("x,y");
                    958: In(17)= r = GetRing([x^2,0,1]);
                    959: @end example
                    960:
                    961: @table @t
                    962: @item $B;2>H(B
                    963:     @code{SetRing},   @code{ChangeRing}.
                    964: @end table
                    965: @c  %%%%%%%%%%%%%%%%%%%%  end of GetRing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    966: */
                    967:
                    968: /*&ja
                    969: @c %%%%%%%%%%%%%%%%%%%%  start of SetRing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    970: @menu
                    971: * SetRing::
                    972: @end menu
                    973: @node SetRing,,, $B4pK\(B $BH!?t(B
                    974: @subsection @code{SetRing}
                    975: @findex SetRing
                    976: @table @t
                    977: @item SetRing(@var{r})
                    978: ::  Current ring $B$r(B @var{r} $B$KJQ99$9$k(B.
                    979: @end table
                    980:
                    981: @table @var
                    982: @item return
                    983: $B$J$7(B
                    984: @item r
                    985: $B4D(B
                    986: @end table
                    987:
                    988: @itemize @bullet
                    989: @item  Current ring $B$r(B @var{r} $B$KJQ99$9$k(B.
                    990: @end itemize
                    991:
                    992: @example
                    993: In(16)= RingD("x,y");
                    994: In(17)= f=[x^2,0,1]; r = GetRing(f);
                    995: In(19)= RingD("p,q");
                    996: In(20)= SetRing(r);
                    997: In(21)= f = DC(f,"polynomial");
                    998: @end example
                    999:
                   1000: @table @t
                   1001: @item $B;2>H(B
                   1002:     @code{GetRing},   @code{ChangeRing}, @code{DC}.
                   1003: @end table
                   1004: @c  %%%%%%%%%%%%%%%%%%%%  end of SetRing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                   1005: */
                   1006:
                   1007: /*&ja
                   1008: @c %%%%%%%%%%%%%%%%%%%%  start of Intersection %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                   1009: @menu
                   1010: * Intersection::
                   1011: @end menu
                   1012: @node Intersection,,, $B4pK\(B $BH!?t(B
                   1013: @subsection @code{Intersection}
                   1014: @findex Intersection
                   1015: @table @t
                   1016: @item Intersection(@var{i},@var{j})
                   1017: ::  $B%$%G%"%k(B @var{i} $B$H(B @var{j} $B$N8r$o$j$r5a$a$k(B.
                   1018: @item Intersection(@var{i},@var{j},@var{r})
                   1019: ::  $B%$%G%"%k(B @var{i} $B$H(B @var{j} $B$N8r$o$j$r5a$a$k(B. $B7W;;$r4D(B @var{r}
                   1020: $B$G$*$3$J$&(B.
                   1021: @end table
                   1022:
                   1023: @table @var
                   1024: @item return
                   1025: $B%j%9%H$G$"$?$($i$l$?%$%G%"%k$^$?$O<+M32C72$NItJ,2C72(B
                   1026: @item i  j
                   1027: $B%$%G%"%k$^$?$O<+M32C72$NItJ,2C72(B
                   1028: @item r
                   1029: $B4D(B
                   1030: @end table
                   1031:
                   1032: @itemize @bullet
                   1033: @item  ::  $B%$%G%"%k(B @var{i} $B$H(B @var{j} $B$N8r$o$j$r5a$a$k(B.
                   1034: @end itemize
                   1035:
                   1036: @example
                   1037: In(16)= RingD("x,y");
                   1038: In(17)= mm=[ [x,0],[0,y] ]; nn = [ [x^2,0],[0,y^3]];
                   1039: In(19)= Intersection(mm,nn):
                   1040: In(33)=Intersection(mm,nn):
                   1041: [    [    -x^2 , 0 ]  , [    0 , -y^3 ]  ]
                   1042: @end example
                   1043:
                   1044: @table @t
                   1045: @item $B;2>H(B
                   1046:
                   1047: @end table
                   1048: @c  %%%%%%%%%%%%%%%%%%%%  end of Intersection %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                   1049: */
                   1050:
                   1051: /*&ja
                   1052: @c %%%%%%%%%%%%%%%%%%%%  start of Getxvars %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                   1053: @menu
                   1054: * Getxvars::
                   1055: @end menu
                   1056: @node Getxvars,,, $B4pK\(B $BH!?t(B
                   1057: @subsection @code{Getxvars}
                   1058: @findex Getxvars
                   1059: @table @t
                   1060: @item Getxvars()
                   1061: ::  x $BJQ?t$rLa$9(B
                   1062: @end table
                   1063:
                   1064: */
                   1065: /*&en
                   1066: @c %%%%%%%%%%%%%%%%%%%%  start of Getxvars %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                   1067: @menu
                   1068: * Getxvars::
                   1069: @end menu
                   1070: @node Getxvars,,, Primitive function
                   1071: @subsection @code{Getxvars}
                   1072: @findex Getxvars
                   1073: @table @t
                   1074: @item Getxvars()
                   1075: ::  Return x variables
                   1076: @end table
                   1077:
                   1078: */
                   1079:
                   1080: /*&ja
                   1081: @table @var
                   1082: @item return
                   1083: [x_list, x_str]  x_list $B$O(B x $BJQ?t$N%j%9%H(B, x_str $B$O(B x $BJQ?t$r(B , $B$G6h@Z$C$?J8;zNs(B.
                   1084: @end table
                   1085:
                   1086: */
                   1087: /*&en
                   1088: @table @var
                   1089: @item return
                   1090: [x_list, x_str] x_list is a list of x variables, x_str is a string consisting
                   1091: of x variables separated by commas.
                   1092: @end table
                   1093:
                   1094:
                   1095: */
                   1096:
                   1097: /*&C
                   1098: @example
                   1099: In(4)=RingD("x,y");
                   1100: In(5)=Getxvars():
                   1101: [    [    y , x ]  , y,x, ]
                   1102: @end example
                   1103:
                   1104: */
                   1105:
                   1106:
                   1107: /*&ja
                   1108:
                   1109: @table @t
                   1110: @item $B;2>H(B
                   1111:
                   1112: @end table
                   1113: @c  %%%%%%%%%%%%%%%%%%%%  end of Getxvars %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                   1114: */
                   1115: /*&en
                   1116:
                   1117: @table @t
                   1118: @item Reference
                   1119:
                   1120: @end table
                   1121: @c  %%%%%%%%%%%%%%%%%%%%  end of Getxvars %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                   1122: */
                   1123:
                   1124: /*&ja
                   1125: @c %%%%%%%%%%%%%%%%%%%%  start of Firstn %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                   1126: @menu
                   1127: * Firstn::
                   1128: @end menu
                   1129: @node Firstn,,, $B4pK\(B $BH!?t(B
                   1130: @subsection @code{Firstn}
                   1131: @findex Firstn
                   1132: @table @t
                   1133: @item Firstn(@var{m},@var{n})
                   1134: ::  @var{m} $B$N:G=i$N(B @var{n} $B8D$r$H$j$@$9(B.
                   1135: @end table
                   1136:
                   1137: */
                   1138: /*&en
                   1139: @c %%%%%%%%%%%%%%%%%%%%  start of Firstn %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                   1140: @menu
                   1141: * Firstn::
                   1142: @end menu
                   1143: @node Firstn,,, Primitive function
                   1144: @subsection @code{Firstn}
                   1145: @findex Firstn
                   1146: @table @t
                   1147: @item Firstn(@var{m},@var{n})
                   1148: ::  Return the first @var{n} elements of @var{m}.
                   1149: @end table
                   1150:
                   1151: */
                   1152:
                   1153: /*&ja
                   1154: @table @var
                   1155: @item return
                   1156: $B9TNs$^$?$O%Y%/%H%k(B
                   1157: @item m
                   1158: $B9TNs$^$?$O%Y%/%H%k(B
                   1159: @item n
                   1160: $B?t(B
                   1161: @end table
                   1162:
                   1163: @itemize @bullet
                   1164: @item  m $B$N:G=i$N(B n $B8D(B.  $B$H$/$K(B m $B$,9TNs$N$H$-$O(B, $B3F9T$h$j:G=i$N(B n $B8D$r$H$j$@$7$?(B
                   1165: $B$b$N$G:n$l$i$?9TNs$rLa$9(B.
                   1166: @end itemize
                   1167:
                   1168: */
                   1169: /*&en
                   1170: @table @var
                   1171: @item return
                   1172: Matrix or vector
                   1173: @item m
                   1174: Matrix or vector
                   1175: @item n
                   1176: Number
                   1177: @end table
                   1178:
                   1179: @itemize @bullet
                   1180: @item  The first n elements of m.  When m is a matrix, it returns the matrix
                   1181: consisting of first n elements of rows of m.
                   1182: @end itemize
                   1183:
                   1184: */
                   1185:
                   1186: /*&C
                   1187: @example
                   1188: In(16)= mm = [[1,2,3],[4,5,6]];
                   1189: In(17)= Firstn(mm,2):
                   1190:     [[1,2],
                   1191:      [4,5]]
                   1192: @end example
                   1193: */
                   1194:
                   1195:
                   1196: /*&ja
                   1197:
                   1198: @table @t
                   1199: @item $B;2>H(B
                   1200:
                   1201: @end table
                   1202: @c  %%%%%%%%%%%%%%%%%%%%  end of Firstn %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                   1203: */
                   1204: /*&en
                   1205:
                   1206: @table @t
                   1207: @item Reference
                   1208:
                   1209: @end table
                   1210: @c  %%%%%%%%%%%%%%%%%%%%  end of Firstn %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                   1211: */
                   1212:
                   1213: /*&ja
                   1214: @node $B:w0z(B,,, Top
                   1215: @unnumbered $B:w0z(B
                   1216: */
                   1217: /*&en
                   1218: @node index,,, Top
                   1219: @unnumbered index
                   1220: */
                   1221: /*&C
                   1222: @printindex fn
                   1223: @printindex cp
                   1224: @iftex
                   1225: @vfill @eject
                   1226: @end iftex
                   1227: @summarycontents
                   1228: @contents
                   1229: @bye
                   1230: */

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