けいじゅ@日本ラショナルソフトウェアです. In [ruby-list :16268 ] the message: "[ruby-list:16268] matrix bug ", on Aug/23 23:03(JST) Takashi Shimizu writes: >清水@biglobeです。 >matrix.rbなのですが、 > >Matrix[[0,1], > [1,0]].det > >が 1 なのはバグだと思うのですが。(1,1)要素が0だとまずいようです。 >メソッドの定義は読めてないのですが。 確にバグです(^^;;; bug fixしたものをこのメイルの最後に添付します. >rubyって複素数も簡単だし、行列も簡単だし、計算機代りに使おう、と思った >のでした。 そうですね. そういう用途に使う場合, さらに便利なmathn.rb というライブラ リもあります. # でも, mathn.rbをロードしてMatrix#detすると... 何かバグがあるみたいです. # こっちの問題は後で調べます. keiio% rcsdiff -u -r1.8 matrix.rb =================================================================== RCS file: RCS/matrix.rb,v retrieving revision 1.8 diff -u -r1.8 matrix.rb --- matrix.rb 1999/02/17 12:34:19 1.8 +++ matrix.rb 1999/08/24 10:25:11 @@ -2,8 +2,8 @@ # # matrix.rb - # $Release Version: 1.0$ -# $Revision: 1.8 $ -# $Date: 1999/02/17 12:34:19 $ +# $Revision: 1.9 $ +# $Date: 1999/08/24 10:25:00 $ # Original Version from Smalltalk-80 version # on July 23, 1985 at 8:37:17 am # by Keiju ISHITSUKA @@ -186,7 +186,7 @@ end class Matrix - @RCS_ID='-$Id: matrix.rb,v 1.8 1999/02/17 12:34:19 keiju Exp $-' + @RCS_ID='-$Id: matrix.rb,v 1.9 1999/08/24 10:25:00 keiju Exp keiju $-' # extend Exception2MessageMapper include ExceptionForMatrix @@ -595,6 +595,7 @@ end while a[i][k] == 0 a[i], a[k] = a[k], a[i] akk = a[k][k] + det *= -1 end (k + 1).upto(size) do |i| __ ..............................石塚 圭樹@日本ラショナルソフトウェア... ----------------------------------->> e-mail: keiju / rational.com <<---