@section 線形代数ライブラリ

行列を操作する手続きです。

@defun list->matrix ((x @dots{}) @dots{})
戻り値: 行列@*
リストから行列を生成します。@*
次の手続き呼び出しは
@example
(list->matrix '((1 2 3) (4 5 6)))
@end example
行列
@iftex
@tex
$$
\pmatrix{
1 & 2 & 3 \cr
4 & 5 & 6 \cr
}
$$
@end tex
@end iftex
を返します。
@end defun

@defun matrix? obj
戻り値: objが行列のとき#t@*
オブジェクトが行列型であるかを判定します。
@end defun

@defun list->number-vector (x @dots{})
戻り値: 数値ベクトル@*
リストから数値ベクトルを生成します。@*
次の手続き呼び出しは
@example
(list->number-vector '(1 2 3))
@end example
ベクトル@math{(1 \ 2 \ 3)}を返します。
@end defun

@defun number-vector x @dots{}
戻り値: 数値ベクトル@*
引数から数値ベクトルを生成します。@*
次の手続き呼び出しは
@example
(number-vector 1 2 3)
@end example
ベクトル@math{(1 \ 2 \ 3)}を返します。
@end defun

@defun make-matrix rowsize colsize [fill]
戻り値: 行列@*
一様な値を持つ行列を生成します。@var{fill}のデフォルト値は0とします。@*
次の手続き呼び出しは
@example
(make-matrix 3 4 1)
@end example
行列
@iftex
@tex
$$
\pmatrix{
1 & 1 & 1 & 1\cr
1 & 1 & 1 & 1\cr
1 & 1 & 1 & 1\cr
}
$$
@end tex
@end iftex
を返します。
@end defun

@defun make-number-vector size [fill]
戻り値: 数値ベクトル@*
一様な値を持つ数値ベクトルを生成します。@*
次の手続き呼び出しは
@example
(make-number-vector 3 1)
@end example
ベクトル@math{(1 \ 1 \ 1)}を返します。
@end defun

@defun matrix-determinant matrix
戻り値: 数値@*
行列の行列式を求めます。
@end defun

@defun matrix= matrix1 matrix2
戻り値: 行列が等しいとき#t@*
行列が等しいかを調べます。数の比較には=を使用します。
@end defun

@defun matrix+ matrix @dots{}
戻り値: 行列@*
行列の和を求めます。
@end defun

@defun matrix- matrix @dots{}
戻り値: 行列@*
行列の差を求めます。
@end defun

@defun matrix* matrix @dots{}
戻り値: 行列@*
行列の積を求めます。
@end defun

@defun matrix-invert matrix @dots{}
戻り値: 行列@*
逆行列を求めます。
@end defun

@defun lu-decompose matrix
戻り値: 置換行列、L行列、U行列の3値@*
行列をLU分解し、@math{P(LU)}の形にします。
@end defun

@defun solve-linear-equation matrix vector
戻り値: 連立1次方程式の解@*
方程式@math{A\vec{x}=\vec{b}}を解きます。
@end defun

@defun  matrix-row-size matrix
@defunx matrix-column-size matrix
戻り値: 整数@*
行列@var{matrix}の行(列)のサイズを返します。
@end defun

@defun  matrix-row-vector matrix n
@defunx matrix-column-vector matrix n
戻り値: ベクトル@*
行列@var{matrix}の@var{n}番目の行(列)ベクトルを返します。
@end defun

@defun matrix-transpose matrix
戻り値: 転置行列@math{A^t}@*
行列@var{matrix}の転置行列を返します。
@end defun

