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>