[BACK]Return to noro_matrix-ja.texi CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-contrib / packages / doc / noro_matrix

File: [local] / OpenXM / src / asir-contrib / packages / doc / noro_matrix / noro_matrix-ja.texi (download)

Revision 1.1, Sun May 18 07:37:43 2008 UTC (16 years, 2 months ago) by noro
Branch: MAIN
CVS Tags: RELEASE_1_2_3_12

Added manual for noro_matrix.rr.

%comment $OpenXM: OpenXM/src/asir-contrib/packages/doc/noro_matrix/noro_matrix-ja.texi,v 1.1 2008/05/18 07:37:43 noro Exp $
%comment --- $B$*$^$8$J$$(B ---
\input texinfo
@iftex
@catcode`@#=6
@def@fref#1{@xrefX[#1,,@code{#1},,,]}
@def@b#1{{@bf@gt #1}}
@catcode`@#=@other
@end iftex
@overfullrule=0pt
@c -*-texinfo-*-
@comment %**start of header
@comment --- $B$*$^$8$J$$=*$j(B ---

@comment --- GNU info $B%U%!%$%k$NL>A0(B ---
@setfilename asir-contrib-noro_matrix

@comment --- $B%?%$%H%k(B ---
@settitle noro_matrix

@comment %**end of header
@comment %@setchapternewpage odd

@comment --- $B$*$^$8$J$$(B ---
@ifinfo
@macro fref{name}
@ref{\name\,,@code{\name\}}
@end macro
@end ifinfo

@iftex
@comment @finalout
@end iftex

@titlepage
@comment --- $B$*$^$8$J$$=*$j(B ---

@comment --- $B%?%$%H%k(B, $B%P!<%8%g%s(B, $BCx<TL>(B, $BCx:n8"I=<((B ---
@title noro_matrix
@subtitle noro_matrix User's Manual
@subtitle Edition 1.0
@subtitle May 2008

@author  by Masayuki Noro
@page
@vskip 0pt plus 1filll
Copyright @copyright{} Masayuki Noro
2008. All rights reserved.
@end titlepage

@comment --- $B$*$^$8$J$$(B ---
@synindex vr fn
@comment --- $B$*$^$8$J$$=*$j(B ---

@comment --- @node $B$O(B GNU info, HTML $BMQ(B ---
@comment --- @node  $B$N0z?t$O(B node-name,  next,  previous,  up --- 
@node Top,, (dir), (dir)

@comment --- @menu $B$O(B GNU info, HTML $BMQ(B ---
@comment --- chapter $BL>$r@53N$KJB$Y$k(B ---
@menu
* $B9TNs1i;;%Q%C%1!<%8(B noro_matrix.rr::
* Index::
@end menu

@comment --- chapter $B$N3+;O(B ---
@comment --- $B?F(B chapter $BL>$r@53N$K(B ---
@node $B9TNs1i;;%Q%C%1!<%8(B noro_matrix.rr,,, Top
@chapter $B9TNs1i;;%Q%C%1!<%8(B noro_matrix.rr

@comment --- section $BL>$r@53N$KJB$Y$k(B ---
@menu
* $B9TNs$K4X$9$kH!?t(B::
@end menu

$B$3$N%^%K%e%"%k$G$O(B, asir-contrib $B%Q%C%1!<%8$K<}O?$5$l$F$$$k(B,
$B9TNs1i;;%Q%C%1!<%8(B @samp{noro_matrix.rr} $B$K$D$$$F2r@b$9$k(B.
$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.
@example
[1831] load("noro_matrix.rr");
[2014] 
@end example
$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.
@example
[2014] linalg.random_mat(3,5);
[ 0 -1 -1 ]
[ -1 3 0 ]
[ -2 -2 4 ]
@end example
$B$3$N%^%K%e%"%k$G$O(B, $B4XO"$9$kAH9~$_H!?t$K$D$$$F$b2r@b$9$k(B.

@comment --- section $B$N3+;O(B ---
@comment --- $B=qBN;XDj$K$D$$$F(B ---
@comment --- @code{} $B$O%?%$%W%i%$%?BNI=<((B ---
@comment --- @var{} $B$O<P;zBNI=<((B ---
@comment --- @b{} $B$O%\!<%k%II=<((B ---
@comment --- @samp{} $B$O%U%!%$%kL>$J$I$NI=<((B ---

@node $B9TNs$K4X$9$kH!?t(B,,, $B9TNs1i;;%Q%C%1!<%8(B noro_matrix.rr
@section $B9TNs$K4X$9$kH!?t(B

@menu
* matrix vector linalg.unit_mat::
* linalg.random_mat linalg.random_rmat linalg.random_vect::
* invmat::
* det nd_det::
* generic_gauss_elim::
* linalg.compute_kernel linalg.compute_image::
* linalg.minipoly_mat::
* linalg.jordan_canonical_form linalg.sample_mat::
@end menu

@node matrix vector linalg.unit_mat,,, $B9TNs$K4X$9$kH!?t(B
@subsection @code{matrix},@code{vector},@code{linalg.unit_mat}
@findex matrix
@findex vector
@findex linalg.unit_mat

@table @t
@item matrix(@var{m},@var{n}[,@var{listoflist}]) :: @var{m}$B9T(B@var{n}$BNs$N9TNs$r@8@.$9$k(B.
@itemx vector(@var{size}[,@var{list}]) :: $B%5%$%:$,(B @var{size} $B$N%Y%/%H%k$r@8@.$9$k(B.
@itemx linalg.unit_mat(@var{size}) :: $B%5%$%:$,(B @var{size} $B$NC10L9TNs$r@8@.$9$k(B.
@end table

@table @var
@item return
$B9TNs(B
@item size
@itemx m
@itemx n
$B@5@0?t(B
@item listoflist
$B%j%9%H$N%j%9%H(B
@item list
$B%j%9%H(B
@end table

@itemize @bullet
@item
@code{matrix}, @code{vector} $B$OAH9~$_(B, @code{linalg.unit_mat} $B$O(B @samp{noro_matrix.rr}
$B$GDj5A$5$l$F$$$k(B.
@item
@code{matrix}, @code{vector} $B$O(B, @var{listoflist}, @var{list} $B$,(B
$B$J$$>l9g$K$ONm9TNs(B, $BNm%Y%/%H%k$r@8@.$9$k(B.
@item
@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
$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
$B9TNs$N3F9T$,=g$K=i4|2=$5$l$k(B.
@item
@var{list} $B$O(B @var{[1,2,3]} $B$N$h$&$J%j%9%H$G$"$k(B.
$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
$B@.J,$,=i4|2=$5$l$k(B.
@end itemize

@example
[1559] matrix(2,3);
[ 0 0 0 ]
[ 0 0 0 ]
[1560] vector(3);
[ 0 0 0 ]
[1561] linalg.unit_mat(3);
[ 1 0 0 ]
[ 0 1 0 ]
[ 0 0 1 ]
[1559] matrix(2,3,[[1,2,3],[4,5,6]]);
[ 1 2 3 ]
[ 4 5 6 ]
@end example


@node linalg.random_mat linalg.random_rmat linalg.random_vect,,, $B9TNs$K4X$9$kH!?t(B
@subsection @code{linalg.random_mat}, @code{linalg.random_rmat}, @code{linalg.random_vect}
@findex linalg.random_mat
@findex linalg.random_rmat
@findex linalg.random_vect

@table @t
@item linalg.random_mat(@var{size},@var{bound}) :: $B@5J}@0?t9TNs$r%i%s%@%`@8@.$9$k(B.
@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.
@itemx linalg.random_vect(@var{size},@var{bound}) :: $B@0?t%Y%/%H%k$r%i%s%@%`@8@.$9$k(B.
@end table

@table @var
@item return
$B@0?t(B
@item number
$B@0?t(B
@end table

@itemize @bullet
@item linalg.random_mat(@var{size},@var{bound}) $B$O(B, $B%5%$%:(B @var{size}, 
$BMWAG$,(B@var{bound}$BL$K~$N(B
$B@5J}@0?t9TNs$r%i%s%@%`@8@.$9$k(B.
@item
@item linalg.random_rmat(@var{m},@var{n},@var{bound}) $B$O(B
@var{m} $B9T(B @var{n} $BNs$N(B,
$BMWAG$,(B@var{bound}$BL$K~$N@0?t9TNs$r%i%s%@%`@8@.$9$k(B.
@item linalg.random_vect(@var{size},@var{bound}) $B$OD9$5(B @var{size}$B$N(B,
$BMWAG$,(B@var{bound}$BL$K~$N@0?t%Y%/%H%k$r%i%s%@%`@8@.$9$k(B.
@end itemize

@example
[1579] linalg.random_mat(3,4);
[ 2 1 -2 ]
[ 0 -2 1 ]
[ 3 1 -2 ]
[1580] linalg.random_rmat(3,5,2);
[ 0 -1 0 0 0 ]
[ 0 -1 0 1 0 ]
[ -1 0 0 -1 1 ]
[1581] linalg.random_vect(3,6); 
[ -3 2 3 ]
@end example

@node invmat,,, $B9TNs$K4X$9$kH!?t(B
@subsection @code{invmat}
@findex invmat

@table @t
@item invmat(@var{mat}) 
:: @var{mat} $B$N5U9TNs$r7W;;$9$k(B.
@end table

@table @var
@item return
$B%j%9%H(B
@item mat
$B@5J}9TNs(B
@end table

@itemize @bullet
@item
$B@5J}9TNs(B @var{mat} $B$N5U9TNs$r7W;;$9$k(B.
@item
$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
$B9TNs(B, @var{denom} $B$OJ,Jl$rI=$9<0$G$"$j(B, @var{invmat/denom} $B$,5U9TNs$rI=$9(B.
@item
@var{mat}$B$,@0?t9TNs(B, $B$"$k$$$OB?9`<09TNs$N>l9g(B, @var{invmat} $B$O(B
$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
$B7W;;$r>J$/$?$a$KDj$a$i$l$F$$$k$,(B, $B;H$$$K$/$$>l9g$b$"$k(B.
@end itemize

@example
[1575] A=linalg.random_mat(4,5);
[ 2 4 3 3 ]
[ 3 0 0 0 ]
[ 0 2 3 -2 ]
[ 2 0 -4 3 ]
[1576] L=invmat(A);
[[ 0 38 0 0 ]
[ -3 -28 63 45 ]
[ 18 16 -36 -42 ]
[ 24 -4 -48 -18 ],114]
[1577] AI=L[0]/L[1]$ AI*A;
[1578] [ 1 0 0 0 ]
[ 0 1 0 0 ]
[ 0 0 1 0 ]
[ 0 0 0 1 ]
@end example

@node det nd_det,,, $B9TNs$K4X$9$kH!?t(B
@subsection @code{det},@code{nd_det}
@findex det
@findex nd_det

@table @t
@item det(@var{mat}[,@var{mod}])
@itemx nd_det(@var{mat}[,@var{mod}])
:: @var{mat} $B$N9TNs<0$r5a$a$k(B. 
@end table

@table @var
@item return
$B<0(B
@item mat
$B9TNs(B
@item mod
$BAG?t(B
@end table

@itemize @bullet
@item
@code{det} $B$*$h$S(B @code{nd_det} $B$O9TNs(B @var{mat} $B$N9TNs<0$r5a$a$k(B. 
@item
$B0z?t(B @var{mod} $B$,$"$k;~(B, GF(@var{mod}) $B>e$G$N9TNs<0$r5a$a$k(B. 
@item
$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
$B9TNs$KBP$7$F$O>.9TNs<0E83+$K$h$kJ}K!$N$[$&$,8zN($,$h$$>l9g$b$"$k(B. 
@item
@code{nd_det} $B$OM-M}?t$^$?$OM-8BBN>e$NB?9`<09TNs$N9TNs<0(B
$B7W;;@lMQ$G$"$k(B. $B%"%k%4%j%:%`$O$d$O$jJ,?t$J$7$N%,%&%9>C5nK!$@$,(B,
$B%G!<%?9=B$$*$h$S>h=|;;$N9)IW$K$h$j(B, $B0lHL$K(B @code{det} $B$h$j9bB.$K(B
$B7W;;$G$-$k(B.
@end itemize

@example
[91] A=matrix(5,5)$                         
[92] V=[x,y,z,u,v];
[x,y,z,u,v]
[93] for(I=0;I<5;I++)for(J=0,B=A[I],W=V[I];J<5;J++)B[J]=W^J;
[94] A;
[ 1 x x^2 x^3 x^4 ]
[ 1 y y^2 y^3 y^4 ]
[ 1 z z^2 z^3 z^4 ]
[ 1 u u^2 u^3 u^4 ]
[ 1 v v^2 v^3 v^4 ]
[95] fctr(det(A));
[[1,1],[u-v,1],[-z+v,1],[-z+u,1],[-y+u,1],[y-v,1],[-y+z,1],[-x+u,1],
[-x+z,1],[-x+v,1],[-x+y,1]]
@end example

@node generic_gauss_elim,,, $B9TNs$K4X$9$kH!?t(B
@subsection @code{generic_gauss_elim}
@findex generic_gauss_elim

@table @t
@item generic_gauss_elim(@var{mat}) 
:: $B@0?t9TNs$r4JLs$9$k(B.
@end table

@table @var
@item return
$B%j%9%H(B
@item mat
$B@0?t9TNs(B
@end table

@itemize @bullet
@item
$B@0?t9TNs(B @var{mat} $B$N4JLs3,CJ7A(B (reduced row echelon form; rref) $B$r7W;;$7(B,
$B$=$l$r9=@.$9$k%G!<%?$r%j%9%H$H$7$FJV$9(B.
@item
$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
@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
@var{n-r} $BNs$N9TNs$G$"$k(B. @var{D} $B$O@0?t(B, @var{J} $B$OD9$5(B @var{r},
@var{K} $B$OD9$5(B @var{n-r} $B$N@0?t%Y%/%H%k$G$"$k(B.
@item
$B=PNO%G!<%?$O(B @var{mat} $B$N(B rref $B$r%(%s%3!<%I$7$F$$$k(B.
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
$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
$B5M$a$?$b$N$H$J$k(B.
@item
$B$3$N$h$&$J7A<0$G=PNO$9$kM}M3$O(B, $BF~NO9TNs$N%i%s%/$,Bg$-$$>l9g$K(B,
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,
$B$3$N7A$NJ}$,(B, $B%W%m%0%i%`>e$G%G!<%?$rMxMQ$7$d$9$$$3$H$K$h$k(B.
@end itemize

@example
[1600] A=linalg.random_rmat(3,5,2);
[ 0 -1 -1 0 -1 ]
[ 1 0 1 -1 0 ]
[ 1 1 0 0 0 ]
[1601] L=generic_gauss_elim(A);
[[ -1 -1 ]
[ 1 1 ]
[ -1 1 ],2,[ 0 1 2 ],[ 3 4 ]]
@end example

$BNc$($P(B, rref $B$r7W;;$9$kH!?t$O<!$N$h$&$K=q$1$k(B.
@example
def my_rref(A)
@{
    S = size(A); M = S[0]; N = S[1];
    L = generic_gauss_elim(A);
    B = L[0]; D = L[1]; J = L[2]; K = L[3];
    R = length(J); NR = N-R;
    A1 = matrix(M,N);
    for ( I = 0; I < R; I++ ) @{
        A1[I][J[I]] = D;
        for ( L = 0; L < NR; L++ ) A1[I][K[L]] = B[I][L];
    @}
    return A1;
@}
@end example


@table @t
@item $B;2>H(B
@fref{matrix vector linalg.unit_mat}
@end table

@node linalg.compute_kernel linalg.compute_image,,, $B9TNs$K4X$9$kH!?t(B
@subsection @code{linalg.compute_kernel}, @code{linalg.compute_image}
@findex linalg.compute_kernel
@findex linalg.compute_image

@table @t
@item linalg.compute_kernel(@var{mat}[|rhs=@var{vect}]) 
:: $BM-M}?t9TNs$N3K$N4pDl$r7W;;$9$k(B.
@itemx linalg.compute_image(@var{mat})
:: $BM-M}?t9TNs$NA|$N4pDl$r7W;;$9$k(B.
@end table

@table @var
@item return
$B%j%9%H(B
@item mat
$BM-M}?t9TNs(B
@item vect
$BM-M}?t%Y%/%H%k(B
@end table

@itemize @bullet
@item
@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
@var{n} $B<!85%Y%/%H%k6u4V$+$i(B
@var{m} $B<!85%Y%/%H%k6u4V$X$N@~7A<LA|$H$_$J$9(B.
@item
@code{linalg.compute_kernel} $B$OM-M}?t9TNs(B @var{mat} $B$N3K$N4pDl$r7W;;$9$k(B.
@item
@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,
@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
$B:G>.$N%$%s%G%C%/%9$r;}$D@.J,$N0LCV$rI=$9(B. @var{posi} $B$OA4$F0[$J$k$3$H(B
$B$,J]>Z$5$l$k(B.
@item
$B%*%W%7%g%s(B @var{vect} $B$,;XDj$5$l$?>l9g(B, $B7k2L$O(B
@var{[@var{sol},[[v1,pos1],@dots{},[vl,posl]]]} $B$J$k%j%9%H$H$J$k(B.
$B$3$3$G(B @var{sol} $B$O(B @var{mat sol = vect} $B$rK~$?$9%Y%/%H%k(B ($BFC<l2r(B),
$B$N$3$j$O3K$N4pDl$G$"$k(B.
@item
$B2r$,B8:_$7$J$$$h$&$J(B @var{vect} $B$r;XDj$9$k$H%(%i!<$r5/$3$9(B.
@item
@code{linalg.compute_image} $B$OM-M}?t9TNs(B @var{mat} $B$NA|$N4pDl$r7W;;$9$k(B.
@item
@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.
$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
$B:G>.$N%$%s%G%C%/%9$r;}$D@.J,$N0LCV$rI=$9(B. @var{posi} $B$OA4$F0[$J$k$3$H(B
$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
$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,
$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
$B=|$$$F(B @var{vi} $B$KEy$7$$(B.
@end itemize

@example
[1643] A=linalg.random_rmat(3,5,3);
[ 2 1 0 1 -1 ]
[ 2 -2 1 0 1 ]
[ 2 1 -1 -1 -1 ]
[1644] linalg.compute_kernel(A);            
[[[ 1 0 -8 4 6 ],0],[[ 0 1 2 -1 0 ],1]]
[1645] linalg.compute_kernel(A|rhs=vector(3,[1,2,3]));
[[ 0 0 8 -5 -6 ],[[[ 1 0 -8 4 6 ],0],[[ 0 1 2 -1 0 ],1]]]
[1646] linalg.compute_image(A);  
[[[ 1 1 1 ],0,(1)*<<0>>],[[ 0 -3 0 ],1,(1)*<<1>>+(-1)*<<0>>],
[[ 0 0 3 ],2,(-3)*<<2>>+(-1)*<<1>>+(1)*<<0>>]]
@end example

@node linalg.minipoly_mat,,, $B9TNs$K4X$9$kH!?t(B
@subsection @code{linalg.minipoly_mat}
@findex linalg.minipoly_mat

@table @t
@item linalg.minipoly_mat(@var{mat}) 
:: $BM-M}?t9TNs(B @var{mat} $B$N:G>.B?9`<0$r7W;;$9$k(B.
@end table

@table @var
@item return
$B0lJQ?tB?9`<0(B
@item mat
$BM-M}?t9TNs(B
@end table

@itemize @bullet
@item
$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
$BJV$9(B.
@end itemize

@example
[1682] A=linalg.random_mat(3,3);
[ -2 2 -2 ]
[ 0 1 -1 ]
[ 1 -2 -1 ]
[1683] linalg.minipoly_mat(A);  
x^3+2*x^2-x-6
[1684] A^3+2*A^2-A-6*linalg.unit_mat(3);
[ 0 0 0 ]
[ 0 0 0 ]
[ 0 0 0 ]
@end example

@node linalg.jordan_canonical_form linalg.sample_mat,,, $B9TNs$K4X$9$kH!?t(B
@subsection @code{linalg.jordan_canonical_form},@code{linalg.sample_mat}
@findex linalg.jordan_canonical_form

@table @t
@item linalg.jordan_canonical_form(@var{mat}) 
:: $BM-M}?t@5J}9TNs$N%8%g%k%@%sI8=`7A$r7W;;$9$k(B.
@itemx linalg.sample_mat(@var{list}) 
:: $B;XDj$5$l$?%8%g%k%@%sI8=`7A$r;}$DM-M}?t@5J}9TNs$r@8@.$9$k(B.
@end table

@table @var
@item return
$B%j%9%H(B
@item mat
$BM-M}?t@5J}9TNs(B
@item list
$B%8%g%k%@%s%V%m%C%/$N%j%9%H(B
@end table

@itemize @bullet
@item
@code{linalg.jordan_canonical_form(@var{mat})} $B$O(B
$BM-M}?t@5J}9TNs(B @var{mat} $B$N%8%g%k%@%sI8=`7A$r7W;;$9$k(B.
@item
$B=PNO$O(B @var{[P,[[e1,s1,n1],@dots{},[el,sl,nl]],defideal]} $B$H$$$&7A$N%j%9%H(B
$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
$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}
$B$N%8%g%k%@%s%V%m%C%/$,(B @var{ni} $B8DJB$V$3$H$r0UL#$9$k(B.
@item
$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
$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
$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
$B$G$"$j(B, $B3FMWAG$G$"$k%j%9%H$O(B, $B0lAH$N6&Lr$J:,A4BN$rDj5A$9$k%$%G%"%k$r(B
$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
$B$b$N$G$"$k(B.
@item
@code{linalg.sample_mat(@var{list})} $B$O;XDj$5$l$?%8%g%k%@%sI8=`7A$r(B
$B;}$D$h$&$J9TNs$r@8@.$9$k(B. @var{list} $B$O(B @var{[[e1,s1],@dots{},[el,sl]]}
$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
$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
$B$b$h$$(B.
@end itemize

@example
[ 1 -2 0 ]
[ -1 2 1 ]
[ 0 -2 1 ]
[1807] L=linalg.jordan_canonical_form(A);
[[ 2 -2 0 ]
[ -1 0 1 ]
[ 2 -2 -1 ],[[2,1,1],[1,2,1]],[]]
[1808] P=L[0]$T=invmat(P)$PI=T[0]/T[1]$  
[1809] [1810] [1811] PI*A*P;
[ 2 0 0 ]
[ 0 1 1 ]
[ 0 0 1 ]
[1810] A=linalg.sample_mat([[1,2],[1,1],[2,3],[2,1],[2,1]]);
[ 2 0 2 113 14 678 0 0 ]
[ -1 1 -2 -120 -14 -720 0 0 ]
[ -7 0 -13 -840 -105 -5040 0 0 ]
[ 54 54 0 380 0 2268 -54 0 ]
[ 1 0 2 112 16 672 0 0 ]
[ -9 -9 0 -63 0 -376 9 0 ]
[ 1 1 0 7 0 42 1 0 ]
[ 1 1 0 7 0 42 0 2 ]
[1811] L=linalg.jordan_canonical_form(A);
[[ 0 -6 42 0 0 0 2 2 ]
[ 0 6 0 0 0 0 0 -2 ]
[ 42 -294 0 0 0 0 -1 -1 ]
[ 0 0 0 6 0 108 0 0 ]
[ -6 42 48 0 0 0 0 0 ]
[ 0 0 -1 -1 0 -18 0 0 ]
[ 0 0 0 0 0 2 0 0 ]
[ 0 0 0 0 1 0 -2 0 ],[[2,3,1],[2,1,2],[1,2,1],[1,1,1]],[]]
@end example

@table @t
@item $B;2>H(B
@fref{linalg.minipoly_mat}
@end table

@comment --- $B$*$^$8$J$$(B ---
@node Index,,, Top
@unnumbered Index
@printindex fn
@printindex cp
@iftex
@vfill @eject
@end iftex
@summarycontents
@contents
@bye
@comment --- $B$*$^$8$J$$=*$j(B ---

* linalg.reduce_vect::
* linalg.partial_fraction::
* linalg.power_mat linalg.exp_mat::