2008年
8月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

セットアップ日記


2008年08月08日 matrix.rbのinv

_ 逆行列がうまく計算できない。

matrix.rbをつかって、行列を計算していて、なんだかおかしいので、自分の組んだ部分にバグがあるのかと思って、いろいろと調べていたが、分からない。pで、途中の変数を表示して調べていると、逆行列がうまく計算できていないようだ。 invを用いて逆行列を計算しているのだが、
Matrix[[1.66533453693773e-16, 0.0, -0.5, -0.866025403784439],
[0.0, 1.66533453693773e-16, 0.866025403784439, -0.5], 
[-0.5, -0.866025403784439, 1.66533453693773e-16, 0.0], 
[0.866025403784439, -0.5, 0.0, 1.66533453693773e-16]]
の逆行列を計算すると、変な値になってしまう。matrix.rb中ではどのように逆行列を計算しているのかは読んでいないが、どうも通常良く用いられる余因子を使った計算ではないようだ。自分で書いても良いが、面倒なので、今回は直交行列しか用いないことにして、transposeで代用することにしよう。
[]