Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

import java.util.Scanner; public class InvMatrix{ public static void main(String

ID: 3659112 • Letter: I

Question

import java.util.Scanner;
public class InvMatrix{
public static void main(String[] args){
Scanner input = new Scanner(System.in);

double[][] matrix = new double[3][3];
readMatrix(matrix, input);
inverse(matrix);
writeMatrix(matrix);

}

public static void readMatrix(double[][] a, Scanner s){
//Scanner input = new Scanner(System.in);
for(int i = 0; i < a.length; i++){
System.out.print("Enter row " + (i+1) + ": ");
for(int j = 0; j < a[i].length; j++)
a[i][j] = s.nextDouble();
}

}

public static void inverse(double[][] a){
double det = 1 / determinant(a);
double[][] b = new double[3][3];

b[0][0] = det * (a[1][1]*a[2][2] - a[1][2]*a[2][1]);
b[0][1] = det * (a[0][2]*a[2][1] - a[0][1]*a[2][2]);
b[0][2] = det * (a[0][1]*a[1][2] - a[0][2]*a[1][1]);
b[1][0] = det * (a[1][2]*a[2][0] - a[1][0]*a[2][2]);
b[1][1] = det * (a[0][0]*a[2][2] - a[0][2]*a[2][0]);
b[1][2] = det * (a[0][2]*a[1][0] - a[0][0]*a[1][2]);
b[2][0] = det * (a[1][0]*a[2][1] - a[1][1]*a[2][0]);
b[2][1] = det * (a[0][1]*a[2][0] - a[0][0]*a[2][1]);
b[2][2] = det * (a[0][0]*a[1][1] - a[0][1]*a[1][0]);

for(int i = 0; i < a.length; i++){
for(int j = 0; j < a[i].length; j++)
a[i][j] = b[i][j];
}

public static double determinant(double[][] a){
double result = 0;

result = a[0][0] * a[1][1] * a[2][2] + a[2][0] * a[0][1] * a[1][2] + a[0][2] * a[1][0] * a[2][1] - a[0][2] * a[1][1] * a[2][0] - a[0][0] * a[1][2] * a[2][1] - a[2][2] * a[1][0] * a[0][1];

return result;

}


public static void writeMatrix(double[][] a){
System.out.println("The inverse is: ");
for(int i = 0; i < a.length; i++){
for(int j = 0; j < a[i].length; j++)
System.out.print(a[i][j] + " ");
System.out.println();
}

}
}

Explanation / Answer

Sample Result: enter values for matix Enter the number of rows 3 Enter the number of cols 3 Matrix[0][0] = 1 Matrix[0][1] = 2 Matrix[0][2] = 3 Matrix[1][0] = 4 Matrix[1][1] = 5 Matrix[1][2] = 5 Matrix[2][0] = 6 Matrix[2][1] = 7 Matrix[2][2] = 8 det is-5.0 -25.0 -25.0 25.0 10.0 50.0 -35.0 10.0 -30.0 15.0 ******************************************************************************* import java.util.Scanner; public class InvMatrix { public static void main(String[] args) { InvMatrix invMatrix = new InvMatrix(); System.out.println("Enter values for matix"); double matrix[][] = invMatrix.readMatrix(); double inMatrix[][] = invMatrix.inverse(matrix); invMatrix.writeMatrix(inMatrix); } /** * This method populates the matrix with user input values * * @return double[][] */ public double[][] readMatrix() { Scanner scanner = new Scanner(System.in); System.out.println("Enter the number of rows"); int rows = scanner.nextInt(); System.out.println("Enter the number of cols"); int cols = scanner.nextInt(); double[][] A = new double[rows][cols]; for (int r = 0; r