[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.1

1.1     ! takayama    1: %% $OpenXM$
        !             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
        !           897: * changeRing::
        !           898: * GetRing::
        !           899: * SetRing::
        !           900: * Intersection::
        !           901: * Getxvars::
        !           902: * Firstn::
        !           903: @end menu
        !           904: */
        !           905:
        !           906: /*&ja
        !           907: @c %%%%%%%%%%%%%%%%%%%%  start changeRing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        !           908: @node changeRing,,, $B4pK\(B $BH!?t(B
        !           909: @subsection @code{changeRing}
        !           910: @findex changeRing
        !           911: @table @t
        !           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.
        !           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");
        !           926:    changeRing(f);
        !           927: @end example
        !           928: @c  %%%%%%%%%%%%%%%%%%%%  end of changeRing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        !           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>