@section 非数値の行列ライブラリ

非数値要素の行列を操作する手続きです。
数値行列は非数値行列のサブセットと見なされます。

@defun list->datum-matrix ((x @dots{}) @dots{})
戻り値: 行列@*
リストから非数値行列を生成します。@*
@end defun

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

@defun make-datun-matrix rowsize colsize [fill]
戻り値: 行列@*
一様な値を持つ行列を生成します。@var{fill}のデフォルト値は未定義値とします。@*
@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

@defun cons-tensor-product vec1 vec2
戻り値: 行列@*
Schemeベクトルvec1とvec2の「テンソル積」を返します。
ここで、テンソル積は次のように定義します@*
@math{A_{ij} = }(cons @math{vec1_i} @math{vec2_j})
@end defun

