@c $OpenXM: OpenXM/src/asir-contrib/packages/doc/Matrix.texi,v 1.5 2001/06/24 10:26:43 takayama Exp $ @node Matrix operations (library by Okutani),,, Top @chapter Matrix operations (library by Okutani) ファイル @file{gr} が必要です. Yukio Okutani 氏による Risa/Asir 言語で書かれた行列計算用のライブラリです. すべての関数名は omatrix_ で始まります. @menu * omatrix_1:: * omatrix_diag:: * omatrix_trans:: * omatrix_inverse:: * omatrix_solve:: * omatrix_kernel:: @end menu @node omatrix_1,,, Matrix operations (library by Okutani) @subsection @code{omatrix_1} @findex omatrix_1 @table @t @item omatrix_1(@var{N}) :: @var{N} 次単位行列を生成します. @end table @table @var @item return 行列 @item N 整数 @end table @itemize @bullet @item @code{omatrix_1}の例. @end itemize @example [297] omatrix_1(1); [ 1 ] [298] omatrix_1(2); [ 1 0 ] [ 0 1 ] [299] omatrix_1(3); [ 1 0 0 ] [ 0 1 0 ] [ 0 0 1 ] @end example @node omatrix_diag,,, Matrix operations (library by Okutani) @subsection @code{omatrix_diag} @findex omatrix_diag @table @t @item omatrix_diag(@var{L}) :: リスト @var{L} の要素を対角成分とする対角行列を生成します. @end table @table @var @item return 行列 @item L リスト @end table @itemize @bullet @item @code{omatrix_diag}の例. @end itemize @example [301] omatrix_diag([1,2,3]); [ 1 0 0 ] [ 0 2 0 ] [ 0 0 3 ] [302] omatrix_diag([a,b,c]); [ a 0 0 ] [ 0 b 0 ] [ 0 0 c ] @end example @node omatrix_trans,,, Matrix operations (library by Okutani) @subsection @code{omatrix_trans} @findex omatrix_trans @table @t @item omatrix_trans(@var{A}) :: 行列 @var{A} の転置行列を求めます. @end table @table @var @item return 行列 @item A 行列 or リスト @end table @itemize @bullet @item @code{omatrix_trans}の例. @end itemize @example [303] omatrix_trans([[a,b],[c,d]]); [ a c ] [ b d ] [304] omatrix_trans([[1,2,3],[4,5,6],[7,8,9]]); [ 1 4 7 ] [ 2 5 8 ] [ 3 6 9 ] @end example @node omatrix_inverse,,, Matrix operations (library by Okutani) @subsection @code{omatrix_inverse} @findex omatrix_inverse @table @t @item omatrix_inverse(@var{A}) :: 行列 @var{A} の逆行列を求めます. @end table @table @var @item return 行列 @item A 行列 or リスト @end table @itemize @bullet @item 行列 @var{A} の成分は有理数 or 多項式. @item @code{omatrix_inverse}の例. @end itemize @example [309] omatrix_inverse([[1,1],[1,2]]); [ 2 -1 ] [ -1 1 ] [310] omatrix_inverse([[a,b],[c,d]]); [ (d)/(d*a-c*b) (-b)/(d*a-c*b) ] [ (-c)/(d*a-c*b) (a)/(d*a-c*b) ] @end example @node omatrix_solve,,, Matrix operations (library by Okutani) @subsection @code{omatrix_solve} @findex omatrix_solve @table @t @item omatrix_solve(@var{A},@var{X},@var{Y}) :: @code{omatrix_solve}は方程式 A*X=Y の解を求めます. @end table @table @var @item return リスト @item A 行列 or リスト @item X ベクトル or リスト @item Y ベクトル or リスト @end table @itemize @bullet @item 行列 @var{A} の成分は有理数 or 多項式. @item @code{omatrix_solve}の例. @end itemize @example [376] omatrix_solve([[1,-1],[2,3]],[x,y],[1,1]); [[x,4/5],[y,-1/5]] [377] omatrix_solve([[a,b],[c,d]],[x,y],[1,1]); [[x,(-b+d)/(d*a-c*b)],[y,(a-c)/(d*a-c*b)]] @end example @node omatrix_kernel,,, Matrix operations (library by Okutani) @subsection @code{omatrix_kernel} @findex omatrix_kernel @table @t @item omatrix_kernel(@var{A}) :: @code{omatrix_kernel}は行列 A の kernel の基底を求めます. @end table @table @var @item return リスト @item A 行列 or リスト @end table @itemize @bullet @item 行列 @var{A} の成分は有理数 or 多項式. @item @code{omatrix_kernel}の例. @end itemize @example [383] omatrix_kernel([[1,2,3,4],[1,0,1,0]]); [2,[[1,0,-1,1/2],[0,1,0,-1/2]]] [384] omatrix_kernel([[1,2,3,4],[1,0,1,0],[0,0,0,1]]); [1,[[1,1,-1,0]]] @end example