Я пытаюсь определить обратную матрицу с помощью сопряженного метода, т. Е. (Сначала вычислить кофактор матрицы, затем перенести эту матрицу и, наконец, , умножьте его на (1/детерминант) для обратного значения детерминанта) У меня есть методы, которые определяют транспонирование и определитель, однако я борюсь с матрицей кофактора -Ко фактор матрицы в Java (используется для определения обратной матрицы)
Ссылка, показывающая, как определяется обратное используя сопряженный метод вручную http://www.mathwords.com/i/inverse_of_a_matrix.htm Ссылка, показывающая, как кофактор рассчитывается вручную http://www.mathwords.com/c/cofactor_matrix.htm>
У меня есть метод, который вычисляет детерминант и транспонирование штраф, но я не могу получить метод кофактора, чтобы дать мне выход я требую
Выходного образца => 24 5 -4
24 5 -4
24 5 -4 но второй & третья строка должна отличаться, любые предложения? Благодаря! Вот метод, который я использую => Методы checkIfSquare и assigningSign работают отлично также
public static int[][] cofactor(int[][] matrix) {
int[][] cofactorMatrix = new int[matrix.length][matrix.length];
for (int j = 0; j < matrix.length; j++) {
if (checkIfSquare(matrix)) {
for (int location = 0; location < matrix.length; location++) {
int reducedMatrix[][] = new int[matrix.length - 1][matrix.length - 1];
for (int rows = 1; rows < matrix.length; rows++) {
for (int cols = 0; cols < matrix.length; cols++) {
if (cols > location) {
reducedMatrix[rows - 1][cols - 1] = matrix[rows][cols];
} else if (cols < location) {
reducedMatrix[rows - 1][cols] = matrix[rows][cols];
}
}
}
int sign = assigningSign(location);
cofactorMatrix[j][location] = determinantCalc(reducedMatrix) * sign;
}
}
}
return cofactorMatrix;
}