This is the java program to check whether the matrix is invertible or not. The square matrix is invertible if and only if its determinant is non zero.
Here is the source code of the Java Program to Check if a Matrix is Invertible. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a simple program to check whether the matrix is invertible or not. //The complexity of the algorithm is O(n^3) import java.util.*; public class Invertible_Matrix { public double determinant(double A[][],int N) { double det=0; if(N == 1) { det = A[0][0]; } else if (N == 2) { det = A[0][0]*A[1][1] - A[1][0]*A[0][1]; } else { det=0; for(int j1=0;j1<N;j1++) { double[][] m = new double[N-1][]; for(int k=0;k<(N-1);k++) { m[k] = new double[N-1]; } for(int i=1;i<N;i++) { int j2=0; for(int j=0;j<N;j++) { if(j == j1) continue; m[i-1][j2] = A[i][j]; j2++; } } det += Math.pow(-1.0,1.0+j1+1.0)* A[0][j1] * determinant(m,N-1); } } return det; } public static void main(String args[]) { Scanner input = new Scanner(System.in); System.out.println("Enter the order of the square matrix"); int n = input.nextInt(); System.out.println("Enter the elements of the square matrix"); double[][] mat = new double[n][n]; for(int i=0; i<n; i++) { for(int j=0; j<n; j++) { mat[i][j] = input.nextDouble(); } } Invertible_Matrix I = new Invertible_Matrix(); if(I.determinant(mat, n) == 0) { System.out.println("Matrix is not Invertible, as the determinant is : "+I.determinant(mat, n)); } else { System.out.println("Matrix is Invertible, as the determinant is : "+I.determinant(mat, n)); } input.close(); } }
Output:
$ javac Invertible_Matrix.java $ java Invertible_matrix Enter the order of the square matrix: 3 Enter the elements of the square matrix: 1 2 3 4 5 6 7 8 9 Matrix is not Invertible, as the determinant is : 0.0
Related posts:
Java Program to Print the Kind of Rotation the AVL Tree is Undergoing
Spring Security Basic Authentication
Introduction to Eclipse Collections
A Guide to the Java LinkedList
Rest Web service: Filter và Interceptor với Jersey 2.x (P2)
Java Optional as Return Type
Java Program to Implement Ternary Heap
Java Program to Check if it is a Sparse Matrix
Java Program to Perform Inorder Non-Recursive Traversal of a Given Binary Tree
Create a Custom Exception in Java
Java Program to Construct a Random Graph by the Method of Random Edge Selection
Converting Java Date to OffsetDateTime
Java Program to Implement the Checksum Method for Small String Messages and Detect
Using Spring @ResponseStatus to Set HTTP Status Code
Binary Numbers in Java
Java Program to Use Boruvka’s Algorithm to Find the Minimum Spanning Tree
Jackson Annotation Examples
Comparing getPath(), getAbsolutePath(), and getCanonicalPath() in Java
Giới thiệu Java 8
Working With Maps Using Streams
Guide to BufferedReader
Java Program to Implement Randomized Binary Search Tree
Java Program to Implement String Matching Using Vectors
Java Program to Implement Caesar Cypher
Convert a Map to an Array, List or Set in Java
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
SOAP Web service: Upload và Download file sử dụng MTOM trong JAX-WS
Java Program to Generate a Random UnDirected Graph for a Given Number of Edges
Registration – Activate a New Account by Email
Java Program to Implement Graham Scan Algorithm to Find the Convex Hull
Spring Cloud AWS – RDS
Java Program to Check Cycle in a Graph using Graph traversal