From: Daisuke IKEGAMI <daisu-ik / is.aist-nara.ac.jp>
Subject: [ruby-math:00286] Re: matrix.rb bug?
Date: Fri, 12 May 2000 17:07:29 +0900

るびきちです。

> rankメソッドで用いる補助行列 a (Array)を transpose した一方で、
> 列のサイズと行のサイズは転置をとるまえの行列のそれらを利用しているために
> 起こったバグです。

あっ、調べる前にメールが。
ありがとうございます。

> ところで、Matrix.rb の Gauss の消去法は非常に素朴なものですね。
> たとえば、浮動小数点の丸め誤差をできるだけ押えるために、
> ピボット (rankメソッド中の `q') はできるだけ小さな値にするとか、
> 列の交換を成分ごとに行なうのではなく、もっと効率の良い方法はないのか、とか。
> # たとえば行列が C言語のポインタでされてたら、
> # ポインタのつけかえだけで交換が済みますよね。

ちなみに拙作 matrix.rb の拡張ライブラリ版がほぼ完成に近いです。
基本的に matrix.rb 互換です。
rankのバグを取り次第、 RAA に出そうかと思っています。

あと、倍精度数の行列を扱うライブラリは制作中であります。

パッチについてはもう少し様子を見てみます。

るびきち☆
http://i.am/rubikitch