[#48683] klass と Marshal.load(Marshal.dump klass) が同じにならない — dezawa <dezawa@...>
出沢です
5 messages
2012/04/06
[#48689] 日時の文字列をTimeクラスに変換したい — ichirojiro@...
ichirojiroです
7 messages
2012/04/09
[#48710] 多言語を含むUTF-8テキストから文字種を判定する方法 — えだ ゆきひこ <eda@...>
えだです。
7 messages
2012/04/25
[#48711] Re: 多言語を含むUTF-8テキストから文字種を判定する方法
— "NARUSE, Yui" <naruse@...>
2012/04/25
2012年4月25日11:19 えだ ゆきひこ <eda@nerv.org>:
[ruby-list:48723] NMatrix による除算
From:
"KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
Date:
2012-04-28 14:21:00 UTC
List:
ruby-list #48723
きしもとです NArray の NMatrix を試していて、行列での(右)除算が、逆行列を右から かけたのではなく、左からかけたのと同じになることに気付きました。 $ irb19 -rnarray irb(main):001:0> a = NMatrix[[1.0, 2.0], [3.0, 4.0]] => NMatrix.float(2,2): [ [ 1.0, 2.0 ], [ 3.0, 4.0 ] ] irb(main):002:0> b = NVector[1.0, 2.0] => NVector.float(2): [ 1.0, 2.0 ] irb(main):003:0> b/a => NVector.float(2): [ 0.0, 0.5 ] irb(main):004:0> b*a.inverse => NVector.float(2): [ 1.0, 1.11022e-16 ] irb(main):005:0> b*a.transpose.inverse => NVector.float(2): [ 0.0, 0.5 ] このように b/a の結果が b*a.inverse ではなく a.inverse*b ないし b*a.transpose.inverse と同じになります。わかっていれば特に問題 ありませんが、直感的でないような気もします。 マニュアルにある通り、b/a の実装は、逆行列を求めたりはせず、 a.lu.solve(b) と同等になるとのことなので、a.lu.solve(b) が元々 そのような仕様で、a.lu.solve(b) の略記法として b/a のようにも書ける、 としたためそうなったなのか、それとも何か深い理由があるのか、 どういったものでしょうか?