Location : Home > Softwares
> Perl Math
Packages
Title : Math::Matrix

Math::Matrix - Multiply and invert
Matrices

名称

概要

説明

使用例

著者

名称

Math::Matrix - 行列の積と逆行列

概要

use Math::Matrix;

説明

以下のメソッドが利用できる。

new

参照された配列と同じ長さの行列を生成する。配列はコピーされる。エラーの場合 <undef> を返す。

$a = new Math::Matrix ([rand,rand,rand],
[rand,rand,rand],
[rand,rand,rand]);

<new> をメソッドとして呼び出した場合、各要素を 0 で満たした行列を返す。

clone

まったく同じ行列を生成する。

$b = $a->clone;

size

行列のサイズを決定する。

($m, $n) = $a->size;

concat

同じ行の数の行列を連結する。結果は新しい行列で返すが、エラーの場合は <undef> を返す。
$b = new Math::Matrix ([rand],[rand],[rand]);
$c = $a->concat($b);

transpose

転置行列を返す。これは行列の行と列の値が交換されたものである。

multiply

１つめの行列の行の長さと２つめの行列の列の長さが一致するときに２つの行列の積を求める。積の結果を返すが、エラーの場合は <undef>
を返す。

solve

行列で与えられた廉理知方程式を解く。行の数は列の数よりも大きくなければならない。変数が互いに独立でなければ２番目以降の変数に対する係数は 0
となる。解を含む行列を返すが、エラーの場合は <undef> を返す。

multiply_scalar

行列のスカラー倍を計算する。
$a->multiply_scalar(2); scale matrix by factor 2

add

同次の２つの行列の和を求める。

substract

add($other->negative)の略記。

equal

２つの行列が等しいか否かを判断。丸め誤差に注意せよ。

slice

列（columns）を抽出する。
a->slice(1,3,5);

determinant

行列の行列式を求める。

dot_product

２つのベクトルの内積を求める。

absolute

ベクトルの絶対値を求める。

normalizing

ベクトルを正規化する。

cross_product

ベクトルの外積を求める。

print

行列を標準出力に出力する。追加的なパラメータがあれば行列の前に出力される。

使用例

use Math::Matrix;

srand(time);
$a = new Math::Matrix ([rand,rand,rand],
[rand,rand,rand],
[rand,rand,rand]);
$x = new Math::Matrix ([rand,rand,rand]);
$a->print("A\n");
$E = $a->concat($x->transpose);
$E->print("Equation system\n");
$s = $E->solve;
$s->print("Solutions s\n");
$a->multiply($s)->print("A*s\n");

著者

Ulrich Pfeifer <[email-masked]>
Brian J.
Watson <[email-masked]>
Matthew Brett
<[email-masked]>

Math::Matrix - Multiply and invert
Matrices

Update : 2003/04/30

Update :
2003/04/3