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 Check Whether an Undirected Graph Contains a Eulerian Cycle
Java Program to Implement Bloom Filter
Java Program to Find Nearest Neighbor for Dynamic Data Set
Spring Security Remember Me
Java Program to Implement a Binary Search Tree using Linked Lists
Jackson Exceptions – Problems and Solutions
Java Program to Check the Connectivity of Graph Using DFS
Server-Sent Events in Spring
So sánh ArrayList và LinkedList trong Java
How to Return 404 with Spring WebFlux
Vấn đề Nhà sản xuất (Producer) – Người tiêu dùng (Consumer) và đồng bộ hóa các luồng trong Java
Check if a String is a Palindrome in Java
Java Program to Implement Bellman-Ford Algorithm
The DAO with JPA and Spring
New Features in Java 9
Build a REST API with Spring and Java Config
Runnable vs. Callable in Java
Java Program to Implement Quick Hull Algorithm to Find Convex Hull
Java Program to Implement Ford–Fulkerson Algorithm
Spring MVC Setup with Kotlin
Guide to Character Encoding
Working with Kotlin and JPA
Intersection of Two Lists in Java
Hướng dẫn Java Design Pattern – Decorator
Guide to the Synchronized Keyword in Java
Java Program to Represent Graph Using Adjacency Matrix
Converting Between an Array and a Set in Java
Java Program to Generate a Random Subset by Coin Flipping
Spring Cloud – Securing Services
Java Program to Implement Skip List
Java Program to implement Bit Matrix
How to Get All Dates Between Two Dates?