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 Implement Trie
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Period and Duration in Java
Java Program to Generate Randomized Sequence of Given Range of Numbers
LinkedHashSet trong Java hoạt động như thế nào?
Server-Sent Events in Spring
Intersection of Two Lists in Java
Spring Security OAuth Login with WebFlux
Java Program to Solve the Fractional Knapsack Problem
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Java – Write an InputStream to a File
Testing in Spring Boot
Collect a Java Stream to an Immutable Collection
CharSequence vs. String in Java
Validate email address exists or not by Java Code
Overview of the java.util.concurrent
Spring’s RequestBody and ResponseBody Annotations
Java Program to Implement Bellman-Ford Algorithm
Java Program to Check whether Directed Graph is Connected using BFS
Java Program to Implement Treap
Java Program to Implement Hash Tables
Java Program to Implement Quick Sort with Given Complexity Constraint
A Guide to TreeMap in Java
Java Program to Find the Shortest Path from Source Vertex to All Other Vertices in Linear Time
Giới thiệu về Stream API trong Java 8
Java Program to Solve Knapsack Problem Using Dynamic Programming
Java Program to Check the Connectivity of Graph Using BFS
Java Program to Find the Longest Subsequence Common to All Sequences in a Set of Sequences
OAuth 2.0 Resource Server With Spring Security 5
Java Copy Constructor
Java Program to Generate a Random UnDirected Graph for a Given Number of Edges
Spring Boot - Sending Email