ごとけんです

In message "[ruby-list:9123] Re: irb -m"
    on 98/08/16, 石塚圭樹 <keiju / rational.com> writes:

>>>で,以前にも話が出たような気がするのですが,行列に対してto_i
>>>やto_fを行った時に実数や整数ではなく,それらの配列を返すって
>>>のはまずいように思います.

>私も, 変更した方が良いというのはもっともだと思います.
>
>Matrix(Vector)とComplexにある問題ですね. ですので, to_mofはちょっとっ
>て気がしますね. 
>
>同じ名前でないと実装の時に苦しむと思います:
>
>Matrix#to_iなどは各要素に対してto_iしていますよね. で, 各要素がto_iを
>知っているのでうまく動作しています. 今度は, そうもいかなくなるわけです
>よね...
>
>Matrix#to_mofで各要素に対して, to_mofを呼ぶというわけにもいかないです
>しね.
>
>ということで, 他に反対がないならmap_to_*がよいんじゃないでしょうか?

なるほど、実装みてなかったのですが、collect が
そういう再定義になってたんでしたか。
あと、行列と言っても形式的なモノだったんですね。
ま、厳格(中身がNumeric)な行列より使いやすいかも知れません。
Jacobian とか扱えるんですね。

うーん、どうでしょう、僕はやっぱり to_mof とかにして

class Matrix
  def to_mof
    collect{|e| 
      case e.type
      when Matrix
        e.to_mof
      when Vector
        e.to_vof
      else
        e.to_f
    }
  end
end

などかなぁと思うのです。
まぁ、めんどうなら map_to_* でも良いです。

>>ところで対角化や各種分解や固有値が matrix.rb や
>>拡張モジュールで実装される予定はありますか? 
>あるといいですよね(^^;;; 

ですよね (^^;;;;;
では暇をみて作る事にします。
やっぱり拡張モジュールかなぁ。

-- gotoken