私は4x4行列を反転しようとしています.数十回の計算で行列式を計算する例を見てきました.これは私にはうまくいかなかったようです.これを解決する別の方法を見つけるために、私の答えはこれでした:
public Matrix inverse()
{
double[] array = new double[]{
1/m[0], m[4], m[8], 0,
m[1], 1/m[5], m[9], 0,
m[2], m[6], 1/m[10], 0,
-m[12], -m[13], -m[14], 1/m[15]
};
return new Matrix(array);
}
基本的に私がしていることは、すべてのコンポーネントの反転を計算することです。これは非常にうまく機能しています。最後の数字である 15 を期待してください。何らかの理由で無限大を吐き出しています。私の唯一の推測は、0 による除算ですが、問題は、0 の逆数は何ですか? 答えは0ですか?
(これが関連しているかどうかはわかりませんが、私の行列は行優先です)