行列の計算
Math::Matrixモジュールで行列が扱えるようになります。
use Math::Matrix; my $m = new Math::Matrix( [1, 2, 3], [4, 5, 6], [7, 8, 9], ); my $n = new Math::Matrix( [9, 8, 7], [6, 5, 4], [3, 2, 1], ); # 行列の内容を表示する $m->print("M\n"); $n->print("N\n"); # 行列同士の演算 my $a = $m + $n; my $b = $m - $n; my $c = $m * $n; $a->print("+\n"); $b->print("-\n"); $c->print("*\n"); # 行列のサイズ my $o = new Math::Matrix( [1, 2, 3], [4, 5, 6], ); $o->print("O\n"); my ($row, $col) = $o->size; print "size:($row, $col)\n"; # 転置行列 my $p = $o->transpose; $p->print("P\n"); # スカラー倍 my $q = $p->multiply_scalar(2); $q->print("Q\n"); # 値の取得 print "Q(2,1) = ", $q->[1][0]; # 2行1列目の値