Размеры матрицы Jama должны согласовываться с ошибкой, даже если размеры совпадают

Я выполняю некоторые матричные операции при обработке изображений с использованием JAMA. Здесь я умножаю матрицу на ее транспонирование. Наверняка это возможно. Но я получаю следующую ошибку:

Exception in thread "main" java.lang.IllegalArgumentException: Matrix dimensions must agree.
    at Jama.Matrix.checkMatrixDimensions(Matrix.java:1041)
    at Jama.Matrix.arrayTimes(Matrix.java:615)
    at javaapplication52.JavaApplication52.main(JavaApplication52.java:66)

Мой фрагмент кода:

double dd[][]={{0,1,2,3,4,5,6,7,8},{1,2,3,4,5,6,7,8,9},{2,3,4,5,6,7,8,9,10}};
       Matrix M=new Matrix(dd);
       Matrix MT=M.transpose();
       Matrix C=MT.arrayTimes(M);
       double CC[][]=C.getArray();

     for(int i=0;i<3;i++)
{
    for(int j=0;j<3 ;j++)
    { System.out.println(CC[i][j]+" ");
    }
    System.out.println("\n ");
    //nextLine();
}

person Raavan    schedule 02.03.2017    source источник


Ответы (2)


Для умножения матриц вы должны использовать MT.times(M).

MT.arrayTimes(M) используется для умножения элементов.

person mwstc013    schedule 02.03.2017

Для умножения матриц вы должны использовать MT.times(M)

person Kush Raj Rimal    schedule 21.04.2018