まつもと ゆきひろです

In message "[ruby-math:00146] Re: LA with Ruby"
    on 00/01/28, GOTO Kentaro <gotoken / math.sci.hokudai.ac.jp> writes:

|いや、それはそうなんだけど、それだと float のインスタンスを
|持てないですよね。それにユーザーが把握すべきことが複雑だと思
|います。たとえば、単精度だけからなる配列からLAPACK形式の配列
|を作るのに、違うメソッドを呼ぶ必要があります。
|
|ary1 = [[0.1s, 0.2s],[0.3s, 0.4s]]
|ary2 = [[0.1s, 0.2d],[0.3s, 0.4s]]
|
|m1 = Matrix[*ary1]
|m2 = Matrix[*ary2]

そういう使い方をするんですか? LAPACKを知らないんで。

その場合、要素の型を全部スキャンして一番精度の高い型のMatrix
を生成するとかいうようなことをするんでしょうか?

|をわざわざ
|
|m1 = Matrix(SingleFloat)[*ary1]
|m2 = Matrix(DoubleFloat)[*ary2]
|
|と書くのは、LAPACKを生で使うような息苦しさを感じます。つまり、
|必要に応じて精度の制御をユーザが行えるけれど、そうでなければ
|それなりにやってくれるのがRubyでつかうメリットでは無いかしら。

精度を指定しなければ double になるだけなんでそれなりにやって
ると思うんですが。やはり経験と知識なしではとんちんかんな答え
しかできないんだろうか? とんちんかんでないかどうかさえ判断
できない X-<

|# しかし、どうしてそんなに float が嫌われるのだろう…double
|# と全然違うモノなのに

私が「全然違う」ということがあまり理解できてないせいだと思い
ます。
                                まつもと ゆきひろ /:|)