矩阵逆的值不正确

时间:2014-10-19 01:34:48

标签: java debugging matrix matrix-inverse

我正在学习Hill Ciphe,需要找到矩阵的逆矩阵来解密我的密文。

我用Google搜索并发现了一些excellent material on matrices。他们甚至让你下载整个程序的源代码。

为了测试程序,我想输入这个矩阵(直接取自Hill Cipher wiki)

enter image description here

并实现此矩阵的逆矩阵

enter image description here

我创建了一个示例程序,它输入以下矩阵,但矩阵的逆矩阵得到非常奇怪的值,如0.158730,-0.7777777

enter image description here

我不认为该程序的源代码存在问题,因为该材料在codeproject上受到高度评价。我不明白为什么我没有得到如图所示的预期逆矩阵值。

我的示例代码

您可以下载完整代码here

package inverse;
public class Inverse {

    public static void main(String[] args) 
    {

        Matrix arr = new Matrix(3,3);
                    arr.setValueAt(0, 0, 6.0);
                    arr.setValueAt(0, 1, 24.0);
                    arr.setValueAt(0, 2, 1.0);
                    arr.setValueAt(1, 0, 13.0);
                    arr.setValueAt(1, 1, 16.0);
                    arr.setValueAt(1, 2, 10.0);
                    arr.setValueAt(2, 0, 20.0);
                    arr.setValueAt(2, 1, 17.0);
                    arr.setValueAt(2, 2, 15.0);

                    Matrix mat = new Matrix(3,3);
                    double determinant=0;


                    try
                    {
                        mat = MatrixMathematics.inverse(arr);

                    }
                    catch (NoSquareException e)
                    {

                    }

                    int x = 10;



    }

}

0 个答案:

没有答案