Annotation of OpenXM/src/asir-contrib/packages/doc/noro_matrix/noro_matrix-ja.texi, Revision 1.1
1.1 ! noro 1: %comment $OpenXM$
! 2: %comment --- $B$*$^$8$J$$(B ---
! 3: \input texinfo
! 4: @iftex
! 5: @catcode`@#=6
! 6: @def@fref#1{@xrefX[#1,,@code{#1},,,]}
! 7: @def@b#1{{@bf@gt #1}}
! 8: @catcode`@#=@other
! 9: @end iftex
! 10: @overfullrule=0pt
! 11: @c -*-texinfo-*-
! 12: @comment %**start of header
! 13: @comment --- $B$*$^$8$J$$=*$j(B ---
! 14:
! 15: @comment --- GNU info $B%U%!%$%k$NL>A0(B ---
! 16: @setfilename asir-contrib-noro_matrix
! 17:
! 18: @comment --- $B%?%$%H%k(B ---
! 19: @settitle noro_matrix
! 20:
! 21: @comment %**end of header
! 22: @comment %@setchapternewpage odd
! 23:
! 24: @comment --- $B$*$^$8$J$$(B ---
! 25: @ifinfo
! 26: @macro fref{name}
! 27: @ref{\name\,,@code{\name\}}
! 28: @end macro
! 29: @end ifinfo
! 30:
! 31: @iftex
! 32: @comment @finalout
! 33: @end iftex
! 34:
! 35: @titlepage
! 36: @comment --- $B$*$^$8$J$$=*$j(B ---
! 37:
! 38: @comment --- $B%?%$%H%k(B, $B%P!<%8%g%s(B, $BCx<TL>(B, $BCx:n8"I=<((B ---
! 39: @title noro_matrix
! 40: @subtitle noro_matrix User's Manual
! 41: @subtitle Edition 1.0
! 42: @subtitle May 2008
! 43:
! 44: @author by Masayuki Noro
! 45: @page
! 46: @vskip 0pt plus 1filll
! 47: Copyright @copyright{} Masayuki Noro
! 48: 2008. All rights reserved.
! 49: @end titlepage
! 50:
! 51: @comment --- $B$*$^$8$J$$(B ---
! 52: @synindex vr fn
! 53: @comment --- $B$*$^$8$J$$=*$j(B ---
! 54:
! 55: @comment --- @node $B$O(B GNU info, HTML $BMQ(B ---
! 56: @comment --- @node $B$N0z?t$O(B node-name, next, previous, up ---
! 57: @node Top,, (dir), (dir)
! 58:
! 59: @comment --- @menu $B$O(B GNU info, HTML $BMQ(B ---
! 60: @comment --- chapter $BL>$r@53N$KJB$Y$k(B ---
! 61: @menu
! 62: * $B9TNs1i;;%Q%C%1!<%8(B noro_matrix.rr::
! 63: * Index::
! 64: @end menu
! 65:
! 66: @comment --- chapter $B$N3+;O(B ---
! 67: @comment --- $B?F(B chapter $BL>$r@53N$K(B ---
! 68: @node $B9TNs1i;;%Q%C%1!<%8(B noro_matrix.rr,,, Top
! 69: @chapter $B9TNs1i;;%Q%C%1!<%8(B noro_matrix.rr
! 70:
! 71: @comment --- section $BL>$r@53N$KJB$Y$k(B ---
! 72: @menu
! 73: * $B9TNs$K4X$9$kH!?t(B::
! 74: @end menu
! 75:
! 76: $B$3$N%^%K%e%"%k$G$O(B, asir-contrib $B%Q%C%1!<%8$K<}O?$5$l$F$$$k(B,
! 77: $B9TNs1i;;%Q%C%1!<%8(B @samp{noro_matrix.rr} $B$K$D$$$F2r@b$9$k(B.
! 78: $B$3$N%Q%C%1!<%8$r;H$&$K$O(B, $B$^$:(B @samp{noro_matrix.rr} $B$r%m!<%I$9$k(B.
! 79: @example
! 80: [1831] load("noro_matrix.rr");
! 81: [2014]
! 82: @end example
! 83: $B$3$N%Q%C%1!<%8$NH!?t$r8F$S=P$9$K$O(B, $BA4$F(B @code{linalg.} $B$r@hF,$K$D$1$k(B.
! 84: @example
! 85: [2014] linalg.random_mat(3,5);
! 86: [ 0 -1 -1 ]
! 87: [ -1 3 0 ]
! 88: [ -2 -2 4 ]
! 89: @end example
! 90: $B$3$N%^%K%e%"%k$G$O(B, $B4XO"$9$kAH9~$_H!?t$K$D$$$F$b2r@b$9$k(B.
! 91:
! 92: @comment --- section $B$N3+;O(B ---
! 93: @comment --- $B=qBN;XDj$K$D$$$F(B ---
! 94: @comment --- @code{} $B$O%?%$%W%i%$%?BNI=<((B ---
! 95: @comment --- @var{} $B$O<P;zBNI=<((B ---
! 96: @comment --- @b{} $B$O%\!<%k%II=<((B ---
! 97: @comment --- @samp{} $B$O%U%!%$%kL>$J$I$NI=<((B ---
! 98:
! 99: @node $B9TNs$K4X$9$kH!?t(B,,, $B9TNs1i;;%Q%C%1!<%8(B noro_matrix.rr
! 100: @section $B9TNs$K4X$9$kH!?t(B
! 101:
! 102: @menu
! 103: * matrix vector linalg.unit_mat::
! 104: * linalg.random_mat linalg.random_rmat linalg.random_vect::
! 105: * invmat::
! 106: * det nd_det::
! 107: * generic_gauss_elim::
! 108: * linalg.compute_kernel linalg.compute_image::
! 109: * linalg.minipoly_mat::
! 110: * linalg.jordan_canonical_form linalg.sample_mat::
! 111: @end menu
! 112:
! 113: @node matrix vector linalg.unit_mat,,, $B9TNs$K4X$9$kH!?t(B
! 114: @subsection @code{matrix},@code{vector},@code{linalg.unit_mat}
! 115: @findex matrix
! 116: @findex vector
! 117: @findex linalg.unit_mat
! 118:
! 119: @table @t
! 120: @item matrix(@var{m},@var{n}[,@var{listoflist}]) :: @var{m}$B9T(B@var{n}$BNs$N9TNs$r@8@.$9$k(B.
! 121: @itemx vector(@var{size}[,@var{list}]) :: $B%5%$%:$,(B @var{size} $B$N%Y%/%H%k$r@8@.$9$k(B.
! 122: @itemx linalg.unit_mat(@var{size}) :: $B%5%$%:$,(B @var{size} $B$NC10L9TNs$r@8@.$9$k(B.
! 123: @end table
! 124:
! 125: @table @var
! 126: @item return
! 127: $B9TNs(B
! 128: @item size
! 129: @itemx m
! 130: @itemx n
! 131: $B@5@0?t(B
! 132: @item listoflist
! 133: $B%j%9%H$N%j%9%H(B
! 134: @item list
! 135: $B%j%9%H(B
! 136: @end table
! 137:
! 138: @itemize @bullet
! 139: @item
! 140: @code{matrix}, @code{vector} $B$OAH9~$_(B, @code{linalg.unit_mat} $B$O(B @samp{noro_matrix.rr}
! 141: $B$GDj5A$5$l$F$$$k(B.
! 142: @item
! 143: @code{matrix}, @code{vector} $B$O(B, @var{listoflist}, @var{list} $B$,(B
! 144: $B$J$$>l9g$K$ONm9TNs(B, $BNm%Y%/%H%k$r@8@.$9$k(B.
! 145: @item
! 146: @var{listoflist} $B$O(B @var{[[1,2,3],[3,4,5]]} $B$N$h$&$K%j%9%H$+$i$J$k%j%9%H$G(B
! 147: $B$"$k(B. $B$3$l$,0z?t$H$7$FM?$($i$l$?>l9g(B, $BMWAG$G$"$k%j%9%H$r;H$C$F(B
! 148: $B9TNs$N3F9T$,=g$K=i4|2=$5$l$k(B.
! 149: @item
! 150: @var{list} $B$O(B @var{[1,2,3]} $B$N$h$&$J%j%9%H$G$"$k(B.
! 151: $B$3$l$,0z?t$H$7$FM?$($i$l$?>l9g(B, $B$3$N%j%9%H$NMWAG$K$h$j%Y%/%H%k$N3F(B
! 152: $B@.J,$,=i4|2=$5$l$k(B.
! 153: @end itemize
! 154:
! 155: @example
! 156: [1559] matrix(2,3);
! 157: [ 0 0 0 ]
! 158: [ 0 0 0 ]
! 159: [1560] vector(3);
! 160: [ 0 0 0 ]
! 161: [1561] linalg.unit_mat(3);
! 162: [ 1 0 0 ]
! 163: [ 0 1 0 ]
! 164: [ 0 0 1 ]
! 165: [1559] matrix(2,3,[[1,2,3],[4,5,6]]);
! 166: [ 1 2 3 ]
! 167: [ 4 5 6 ]
! 168: @end example
! 169:
! 170:
! 171: @node linalg.random_mat linalg.random_rmat linalg.random_vect,,, $B9TNs$K4X$9$kH!?t(B
! 172: @subsection @code{linalg.random_mat}, @code{linalg.random_rmat}, @code{linalg.random_vect}
! 173: @findex linalg.random_mat
! 174: @findex linalg.random_rmat
! 175: @findex linalg.random_vect
! 176:
! 177: @table @t
! 178: @item linalg.random_mat(@var{size},@var{bound}) :: $B@5J}@0?t9TNs$r%i%s%@%`@8@.$9$k(B.
! 179: @itemx linalg.random_rmat(@var{m},@var{n},@var{bound}) :: @var{m} $B9T(B @var{n} $BNs$N@0?t9TNs$r%i%s%@%`@8@.$9$k(B.
! 180: @itemx linalg.random_vect(@var{size},@var{bound}) :: $B@0?t%Y%/%H%k$r%i%s%@%`@8@.$9$k(B.
! 181: @end table
! 182:
! 183: @table @var
! 184: @item return
! 185: $B@0?t(B
! 186: @item number
! 187: $B@0?t(B
! 188: @end table
! 189:
! 190: @itemize @bullet
! 191: @item linalg.random_mat(@var{size},@var{bound}) $B$O(B, $B%5%$%:(B @var{size},
! 192: $BMWAG$,(B@var{bound}$BL$K~$N(B
! 193: $B@5J}@0?t9TNs$r%i%s%@%`@8@.$9$k(B.
! 194: @item
! 195: @item linalg.random_rmat(@var{m},@var{n},@var{bound}) $B$O(B
! 196: @var{m} $B9T(B @var{n} $BNs$N(B,
! 197: $BMWAG$,(B@var{bound}$BL$K~$N@0?t9TNs$r%i%s%@%`@8@.$9$k(B.
! 198: @item linalg.random_vect(@var{size},@var{bound}) $B$OD9$5(B @var{size}$B$N(B,
! 199: $BMWAG$,(B@var{bound}$BL$K~$N@0?t%Y%/%H%k$r%i%s%@%`@8@.$9$k(B.
! 200: @end itemize
! 201:
! 202: @example
! 203: [1579] linalg.random_mat(3,4);
! 204: [ 2 1 -2 ]
! 205: [ 0 -2 1 ]
! 206: [ 3 1 -2 ]
! 207: [1580] linalg.random_rmat(3,5,2);
! 208: [ 0 -1 0 0 0 ]
! 209: [ 0 -1 0 1 0 ]
! 210: [ -1 0 0 -1 1 ]
! 211: [1581] linalg.random_vect(3,6);
! 212: [ -3 2 3 ]
! 213: @end example
! 214:
! 215: @node invmat,,, $B9TNs$K4X$9$kH!?t(B
! 216: @subsection @code{invmat}
! 217: @findex invmat
! 218:
! 219: @table @t
! 220: @item invmat(@var{mat})
! 221: :: @var{mat} $B$N5U9TNs$r7W;;$9$k(B.
! 222: @end table
! 223:
! 224: @table @var
! 225: @item return
! 226: $B%j%9%H(B
! 227: @item mat
! 228: $B@5J}9TNs(B
! 229: @end table
! 230:
! 231: @itemize @bullet
! 232: @item
! 233: $B@5J}9TNs(B @var{mat} $B$N5U9TNs$r7W;;$9$k(B.
! 234: @item
! 235: $B7k2L$O(B @var{[invmat,denom]} $B$J$k%j%9%H$G$"$k(B. $B$3$3$G(B, @var{invmat} $B$O(B
! 236: $B9TNs(B, @var{denom} $B$OJ,Jl$rI=$9<0$G$"$j(B, @var{invmat/denom} $B$,5U9TNs$rI=$9(B.
! 237: @item
! 238: @var{mat}$B$,@0?t9TNs(B, $B$"$k$$$OB?9`<09TNs$N>l9g(B, @var{invmat} $B$O(B
! 239: $B$=$l$>$l@0?t9TNs(B, $B$"$k$$$OB?9`<0$H$J$k(B. $B$3$N;EMM$O(B, $BL5BL$JJ,?t(B, $BM-M}<0(B
! 240: $B7W;;$r>J$/$?$a$KDj$a$i$l$F$$$k$,(B, $B;H$$$K$/$$>l9g$b$"$k(B.
! 241: @end itemize
! 242:
! 243: @example
! 244: [1575] A=linalg.random_mat(4,5);
! 245: [ 2 4 3 3 ]
! 246: [ 3 0 0 0 ]
! 247: [ 0 2 3 -2 ]
! 248: [ 2 0 -4 3 ]
! 249: [1576] L=invmat(A);
! 250: [[ 0 38 0 0 ]
! 251: [ -3 -28 63 45 ]
! 252: [ 18 16 -36 -42 ]
! 253: [ 24 -4 -48 -18 ],114]
! 254: [1577] AI=L[0]/L[1]$ AI*A;
! 255: [1578] [ 1 0 0 0 ]
! 256: [ 0 1 0 0 ]
! 257: [ 0 0 1 0 ]
! 258: [ 0 0 0 1 ]
! 259: @end example
! 260:
! 261: @node det nd_det,,, $B9TNs$K4X$9$kH!?t(B
! 262: @subsection @code{det},@code{nd_det}
! 263: @findex det
! 264: @findex nd_det
! 265:
! 266: @table @t
! 267: @item det(@var{mat}[,@var{mod}])
! 268: @itemx nd_det(@var{mat}[,@var{mod}])
! 269: :: @var{mat} $B$N9TNs<0$r5a$a$k(B.
! 270: @end table
! 271:
! 272: @table @var
! 273: @item return
! 274: $B<0(B
! 275: @item mat
! 276: $B9TNs(B
! 277: @item mod
! 278: $BAG?t(B
! 279: @end table
! 280:
! 281: @itemize @bullet
! 282: @item
! 283: @code{det} $B$*$h$S(B @code{nd_det} $B$O9TNs(B @var{mat} $B$N9TNs<0$r5a$a$k(B.
! 284: @item
! 285: $B0z?t(B @var{mod} $B$,$"$k;~(B, GF(@var{mod}) $B>e$G$N9TNs<0$r5a$a$k(B.
! 286: @item
! 287: $BJ,?t$J$7$N%,%&%9>C5nK!$K$h$C$F$$$k$?$a(B, $BB?JQ?tB?9`<0$r@.J,$H$9$k(B
! 288: $B9TNs$KBP$7$F$O>.9TNs<0E83+$K$h$kJ}K!$N$[$&$,8zN($,$h$$>l9g$b$"$k(B.
! 289: @item
! 290: @code{nd_det} $B$OM-M}?t$^$?$OM-8BBN>e$NB?9`<09TNs$N9TNs<0(B
! 291: $B7W;;@lMQ$G$"$k(B. $B%"%k%4%j%:%`$O$d$O$jJ,?t$J$7$N%,%&%9>C5nK!$@$,(B,
! 292: $B%G!<%?9=B$$*$h$S>h=|;;$N9)IW$K$h$j(B, $B0lHL$K(B @code{det} $B$h$j9bB.$K(B
! 293: $B7W;;$G$-$k(B.
! 294: @end itemize
! 295:
! 296: @example
! 297: [91] A=matrix(5,5)$
! 298: [92] V=[x,y,z,u,v];
! 299: [x,y,z,u,v]
! 300: [93] for(I=0;I<5;I++)for(J=0,B=A[I],W=V[I];J<5;J++)B[J]=W^J;
! 301: [94] A;
! 302: [ 1 x x^2 x^3 x^4 ]
! 303: [ 1 y y^2 y^3 y^4 ]
! 304: [ 1 z z^2 z^3 z^4 ]
! 305: [ 1 u u^2 u^3 u^4 ]
! 306: [ 1 v v^2 v^3 v^4 ]
! 307: [95] fctr(det(A));
! 308: [[1,1],[u-v,1],[-z+v,1],[-z+u,1],[-y+u,1],[y-v,1],[-y+z,1],[-x+u,1],
! 309: [-x+z,1],[-x+v,1],[-x+y,1]]
! 310: @end example
! 311:
! 312: @node generic_gauss_elim,,, $B9TNs$K4X$9$kH!?t(B
! 313: @subsection @code{generic_gauss_elim}
! 314: @findex generic_gauss_elim
! 315:
! 316: @table @t
! 317: @item generic_gauss_elim(@var{mat})
! 318: :: $B@0?t9TNs$r4JLs$9$k(B.
! 319: @end table
! 320:
! 321: @table @var
! 322: @item return
! 323: $B%j%9%H(B
! 324: @item mat
! 325: $B@0?t9TNs(B
! 326: @end table
! 327:
! 328: @itemize @bullet
! 329: @item
! 330: $B@0?t9TNs(B @var{mat} $B$N4JLs3,CJ7A(B (reduced row echelon form; rref) $B$r7W;;$7(B,
! 331: $B$=$l$r9=@.$9$k%G!<%?$r%j%9%H$H$7$FJV$9(B.
! 332: @item
! 333: $B=PNO$O(B @var{[B,D,J,K]} $B$N7A$N%j%9%H$G$"$k(B. $BF~NO(B @var{mat} $B$,(B @var{m} $B9T(B
! 334: @var{n} $BNs$H$7(B, $B$=$N%i%s%/$,(B @var{r} $B$H$9$l$P(B, @var{B} $B$O(B @var{r} $B9T(B
! 335: @var{n-r} $BNs$N9TNs$G$"$k(B. @var{D} $B$O@0?t(B, @var{J} $B$OD9$5(B @var{r},
! 336: @var{K} $B$OD9$5(B @var{n-r} $B$N@0?t%Y%/%H%k$G$"$k(B.
! 337: @item
! 338: $B=PNO%G!<%?$O(B @var{mat} $B$N(B rref $B$r%(%s%3!<%I$7$F$$$k(B.
! 339: rref $B$NBh(B @var{J[l]} $BNs$O(B @var{l} $B9TL\$N$_$,(B @var{D}, $B$=$l0J30$O(B 0 $B$N(B
! 340: $BNs%Y%/%H%k(B, rref $B$N(B $BBh(B @var{K[l]} $BNs$O(B @var{B} $B$NBh(B @var{l} $BNs$r(B, $B>e$+$i(B
! 341: $B5M$a$?$b$N$H$J$k(B.
! 342: @item
! 343: $B$3$N$h$&$J7A<0$G=PNO$9$kM}M3$O(B, $BF~NO9TNs$N%i%s%/$,Bg$-$$>l9g$K(B,
! 344: rref $B$O(B 0 $B$,B?$$AB$J9TNs$H$J$j(B, $B%a%b%j$rB?$/>CHq$9$k$3$H$H(B,
! 345: $B$3$N7A$NJ}$,(B, $B%W%m%0%i%`>e$G%G!<%?$rMxMQ$7$d$9$$$3$H$K$h$k(B.
! 346: @end itemize
! 347:
! 348: @example
! 349: [1600] A=linalg.random_rmat(3,5,2);
! 350: [ 0 -1 -1 0 -1 ]
! 351: [ 1 0 1 -1 0 ]
! 352: [ 1 1 0 0 0 ]
! 353: [1601] L=generic_gauss_elim(A);
! 354: [[ -1 -1 ]
! 355: [ 1 1 ]
! 356: [ -1 1 ],2,[ 0 1 2 ],[ 3 4 ]]
! 357: @end example
! 358:
! 359: $BNc$($P(B, rref $B$r7W;;$9$kH!?t$O<!$N$h$&$K=q$1$k(B.
! 360: @example
! 361: def my_rref(A)
! 362: @{
! 363: S = size(A); M = S[0]; N = S[1];
! 364: L = generic_gauss_elim(A);
! 365: B = L[0]; D = L[1]; J = L[2]; K = L[3];
! 366: R = length(J); NR = N-R;
! 367: A1 = matrix(M,N);
! 368: for ( I = 0; I < R; I++ ) @{
! 369: A1[I][J[I]] = D;
! 370: for ( L = 0; L < NR; L++ ) A1[I][K[L]] = B[I][L];
! 371: @}
! 372: return A1;
! 373: @}
! 374: @end example
! 375:
! 376:
! 377: @table @t
! 378: @item $B;2>H(B
! 379: @fref{matrix vector linalg.unit_mat}
! 380: @end table
! 381:
! 382: @node linalg.compute_kernel linalg.compute_image,,, $B9TNs$K4X$9$kH!?t(B
! 383: @subsection @code{linalg.compute_kernel}, @code{linalg.compute_image}
! 384: @findex linalg.compute_kernel
! 385: @findex linalg.compute_image
! 386:
! 387: @table @t
! 388: @item linalg.compute_kernel(@var{mat}[|rhs=@var{vect}])
! 389: :: $BM-M}?t9TNs$N3K$N4pDl$r7W;;$9$k(B.
! 390: @itemx linalg.compute_image(@var{mat})
! 391: :: $BM-M}?t9TNs$NA|$N4pDl$r7W;;$9$k(B.
! 392: @end table
! 393:
! 394: @table @var
! 395: @item return
! 396: $B%j%9%H(B
! 397: @item mat
! 398: $BM-M}?t9TNs(B
! 399: @item vect
! 400: $BM-M}?t%Y%/%H%k(B
! 401: @end table
! 402:
! 403: @itemize @bullet
! 404: @item
! 405: @var{m} $B9T(B @var{n} $BNs$N9TNs$r(B, $BNs%Y%/%H%k$K:8$+$i3]$1$k$3$H$K$h$j(B
! 406: @var{n} $B<!85%Y%/%H%k6u4V$+$i(B
! 407: @var{m} $B<!85%Y%/%H%k6u4V$X$N@~7A<LA|$H$_$J$9(B.
! 408: @item
! 409: @code{linalg.compute_kernel} $B$OM-M}?t9TNs(B @var{mat} $B$N3K$N4pDl$r7W;;$9$k(B.
! 410: @item
! 411: @code{linalg.compute_kernel} $B$N=PNO$O(B @var{[[v1,pos1],@dots{},[vl,posl]]} $B$N7A$N%j%9%H$G$"$k(B. $B$3$3$G(B,
! 412: @var{vi} $B$O4pDl%Y%/%H%k(B, @var{posi} $B$O(B, @var{vi} $B$N<g@.J,0LCV(B, $B$9$J$o$A(B
! 413: $B:G>.$N%$%s%G%C%/%9$r;}$D@.J,$N0LCV$rI=$9(B. @var{posi} $B$OA4$F0[$J$k$3$H(B
! 414: $B$,J]>Z$5$l$k(B.
! 415: @item
! 416: $B%*%W%7%g%s(B @var{vect} $B$,;XDj$5$l$?>l9g(B, $B7k2L$O(B
! 417: @var{[@var{sol},[[v1,pos1],@dots{},[vl,posl]]]} $B$J$k%j%9%H$H$J$k(B.
! 418: $B$3$3$G(B @var{sol} $B$O(B @var{mat sol = vect} $B$rK~$?$9%Y%/%H%k(B ($BFC<l2r(B),
! 419: $B$N$3$j$O3K$N4pDl$G$"$k(B.
! 420: @item
! 421: $B2r$,B8:_$7$J$$$h$&$J(B @var{vect} $B$r;XDj$9$k$H%(%i!<$r5/$3$9(B.
! 422: @item
! 423: @code{linalg.compute_image} $B$OM-M}?t9TNs(B @var{mat} $B$NA|$N4pDl$r7W;;$9$k(B.
! 424: @item
! 425: @code{linalg.compute_image} $B$N=PNO$O(B, @var{[v1,pos1,hist1],@dots{},[vl,posl,histl]} $B$N7A$N%j%9%H$G$"$k(B.
! 426: $B$3$3$G(B, @var{vi} $B$O4pDl%Y%/%H%k(B, @var{posi} $B$O(B, @var{vi} $B$N<g@.J,0LCV(B, $B$9$J$o$A(B
! 427: $B:G>.$N%$%s%G%C%/%9$r;}$D@.J,$N0LCV$rI=$9(B. @var{posi} $B$OA4$F0[$J$k$3$H(B
! 428: $B$,J]>Z$5$l$k(B. @var{histi} $B$O(B, @var{vi} $B$,(B, @var{mat} $B$NNs$+$i$I$N$h$&$K(B
! 429: $B:n$i$l$k$+$r<($9%G!<%?$G$"$k(B. $BJ,;6B?9`<0$GI=8=$5$l$F$*$j(B, $B;X?t$,9T%$%s%G%C%/%9(B,
! 430: $B78?t$,(B, $B0l<!7k9g$N78?t$rI=$9(B. $B$3$N%G!<%?$K$h$j:n$i$l$k%Y%/%H%k$O(B, $BDj?tG\$r(B
! 431: $B=|$$$F(B @var{vi} $B$KEy$7$$(B.
! 432: @end itemize
! 433:
! 434: @example
! 435: [1643] A=linalg.random_rmat(3,5,3);
! 436: [ 2 1 0 1 -1 ]
! 437: [ 2 -2 1 0 1 ]
! 438: [ 2 1 -1 -1 -1 ]
! 439: [1644] linalg.compute_kernel(A);
! 440: [[[ 1 0 -8 4 6 ],0],[[ 0 1 2 -1 0 ],1]]
! 441: [1645] linalg.compute_kernel(A|rhs=vector(3,[1,2,3]));
! 442: [[ 0 0 8 -5 -6 ],[[[ 1 0 -8 4 6 ],0],[[ 0 1 2 -1 0 ],1]]]
! 443: [1646] linalg.compute_image(A);
! 444: [[[ 1 1 1 ],0,(1)*<<0>>],[[ 0 -3 0 ],1,(1)*<<1>>+(-1)*<<0>>],
! 445: [[ 0 0 3 ],2,(-3)*<<2>>+(-1)*<<1>>+(1)*<<0>>]]
! 446: @end example
! 447:
! 448: @node linalg.minipoly_mat,,, $B9TNs$K4X$9$kH!?t(B
! 449: @subsection @code{linalg.minipoly_mat}
! 450: @findex linalg.minipoly_mat
! 451:
! 452: @table @t
! 453: @item linalg.minipoly_mat(@var{mat})
! 454: :: $BM-M}?t9TNs(B @var{mat} $B$N:G>.B?9`<0$r7W;;$9$k(B.
! 455: @end table
! 456:
! 457: @table @var
! 458: @item return
! 459: $B0lJQ?tB?9`<0(B
! 460: @item mat
! 461: $BM-M}?t9TNs(B
! 462: @end table
! 463:
! 464: @itemize @bullet
! 465: @item
! 466: $BM-M}?t9TNs(B @var{mat} $B$N:G>.B?9`<0$r7W;;$7(B, $BJQ?t(B @var{x} $B$N0lJQ?tB?9`<0$H$7$F(B
! 467: $BJV$9(B.
! 468: @end itemize
! 469:
! 470: @example
! 471: [1682] A=linalg.random_mat(3,3);
! 472: [ -2 2 -2 ]
! 473: [ 0 1 -1 ]
! 474: [ 1 -2 -1 ]
! 475: [1683] linalg.minipoly_mat(A);
! 476: x^3+2*x^2-x-6
! 477: [1684] A^3+2*A^2-A-6*linalg.unit_mat(3);
! 478: [ 0 0 0 ]
! 479: [ 0 0 0 ]
! 480: [ 0 0 0 ]
! 481: @end example
! 482:
! 483: @node linalg.jordan_canonical_form linalg.sample_mat,,, $B9TNs$K4X$9$kH!?t(B
! 484: @subsection @code{linalg.jordan_canonical_form},@code{linalg.sample_mat}
! 485: @findex linalg.jordan_canonical_form
! 486:
! 487: @table @t
! 488: @item linalg.jordan_canonical_form(@var{mat})
! 489: :: $BM-M}?t@5J}9TNs$N%8%g%k%@%sI8=`7A$r7W;;$9$k(B.
! 490: @itemx linalg.sample_mat(@var{list})
! 491: :: $B;XDj$5$l$?%8%g%k%@%sI8=`7A$r;}$DM-M}?t@5J}9TNs$r@8@.$9$k(B.
! 492: @end table
! 493:
! 494: @table @var
! 495: @item return
! 496: $B%j%9%H(B
! 497: @item mat
! 498: $BM-M}?t@5J}9TNs(B
! 499: @item list
! 500: $B%8%g%k%@%s%V%m%C%/$N%j%9%H(B
! 501: @end table
! 502:
! 503: @itemize @bullet
! 504: @item
! 505: @code{linalg.jordan_canonical_form(@var{mat})} $B$O(B
! 506: $BM-M}?t@5J}9TNs(B @var{mat} $B$N%8%g%k%@%sI8=`7A$r7W;;$9$k(B.
! 507: @item
! 508: $B=PNO$O(B @var{[P,[[e1,s1,n1],@dots{},[el,sl,nl]],defideal]} $B$H$$$&7A$N%j%9%H(B
! 509: $B$G$"$k(B. $B$3$3$G(B, @var{P} $B$OJQ499TNs(B, $B$9$J$o$A(B @var{P^(-1)AP} $B$,%8%g%k%@%s(B
! 510: $BI8=`7A$H$J$k@5B'9TNs(B, @var{[ei,si,ni]} $B$O(B, $B8GM-CM(B @var{ei}, $B%5%$%:(B @var{si}
! 511: $B$N%8%g%k%@%s%V%m%C%/$,(B @var{ni} $B8DJB$V$3$H$r0UL#$9$k(B.
! 512: @item
! 513: $B0lHL$K(B, $B=PNO$O(B @var{a0}, @dots{}, @var{am} $B$N7A$N%Q%i%a%?$r4^$`(B. $B$3$l$i$O(B
! 514: $B<B:]$K$O(B, $B$"$kM-M}?tBN>e4{Ls$JB?9`<0$N:,$G$"$k(B. $B$3$l$i$rDj5A$9$k(B
! 515: $BJ}Dx<0$H$7$F(B, @var{defideal} $B$,M?$($i$l$k(B. @var{deflideal} $B$O%j%9%H$N%j%9%H(B
! 516: $B$G$"$j(B, $B3FMWAG$G$"$k%j%9%H$O(B, $B0lAH$N6&Lr$J:,A4BN$rDj5A$9$k%$%G%"%k$r(B
! 517: $BI=$9(B. $B<B:]$K$O(B, $BBP1~$9$k0lJQ?tB?9`<0$N:,$r(B, $B:,$H78?t$N4X78$K$h$jI=$7$?(B
! 518: $B$b$N$G$"$k(B.
! 519: @item
! 520: @code{linalg.sample_mat(@var{list})} $B$O;XDj$5$l$?%8%g%k%@%sI8=`7A$r(B
! 521: $B;}$D$h$&$J9TNs$r@8@.$9$k(B. @var{list} $B$O(B @var{[[e1,s1],@dots{},[el,sl]]}
! 522: $B$N7A$N%j%9%H$G(B, @var{[ei,s1]} $B$O8GM-CM(B @var{ei}, $B%5%$%:(B @var{si} $B$N(B
! 523: $B%8%g%k%@%s%V%m%C%/$rI=$9(B. $BF1$8%5%$%:$N%8%g%k%@%s%V%m%C%/$O$$$/$D$"$C$F(B
! 524: $B$b$h$$(B.
! 525: @end itemize
! 526:
! 527: @example
! 528: [ 1 -2 0 ]
! 529: [ -1 2 1 ]
! 530: [ 0 -2 1 ]
! 531: [1807] L=linalg.jordan_canonical_form(A);
! 532: [[ 2 -2 0 ]
! 533: [ -1 0 1 ]
! 534: [ 2 -2 -1 ],[[2,1,1],[1,2,1]],[]]
! 535: [1808] P=L[0]$T=invmat(P)$PI=T[0]/T[1]$
! 536: [1809] [1810] [1811] PI*A*P;
! 537: [ 2 0 0 ]
! 538: [ 0 1 1 ]
! 539: [ 0 0 1 ]
! 540: [1810] A=linalg.sample_mat([[1,2],[1,1],[2,3],[2,1],[2,1]]);
! 541: [ 2 0 2 113 14 678 0 0 ]
! 542: [ -1 1 -2 -120 -14 -720 0 0 ]
! 543: [ -7 0 -13 -840 -105 -5040 0 0 ]
! 544: [ 54 54 0 380 0 2268 -54 0 ]
! 545: [ 1 0 2 112 16 672 0 0 ]
! 546: [ -9 -9 0 -63 0 -376 9 0 ]
! 547: [ 1 1 0 7 0 42 1 0 ]
! 548: [ 1 1 0 7 0 42 0 2 ]
! 549: [1811] L=linalg.jordan_canonical_form(A);
! 550: [[ 0 -6 42 0 0 0 2 2 ]
! 551: [ 0 6 0 0 0 0 0 -2 ]
! 552: [ 42 -294 0 0 0 0 -1 -1 ]
! 553: [ 0 0 0 6 0 108 0 0 ]
! 554: [ -6 42 48 0 0 0 0 0 ]
! 555: [ 0 0 -1 -1 0 -18 0 0 ]
! 556: [ 0 0 0 0 0 2 0 0 ]
! 557: [ 0 0 0 0 1 0 -2 0 ],[[2,3,1],[2,1,2],[1,2,1],[1,1,1]],[]]
! 558: @end example
! 559:
! 560: @table @t
! 561: @item $B;2>H(B
! 562: @fref{linalg.minipoly_mat}
! 563: @end table
! 564:
! 565: @comment --- $B$*$^$8$J$$(B ---
! 566: @node Index,,, Top
! 567: @unnumbered Index
! 568: @printindex fn
! 569: @printindex cp
! 570: @iftex
! 571: @vfill @eject
! 572: @end iftex
! 573: @summarycontents
! 574: @contents
! 575: @bye
! 576: @comment --- $B$*$^$8$J$$=*$j(B ---
! 577:
! 578: * linalg.reduce_vect::
! 579: * linalg.partial_fraction::
! 580: * linalg.power_mat linalg.exp_mat::
! 581:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>