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:
Spring Security 5 for Reactive Applications
Quick Guide to Spring Controllers
Simple Single Sign-On with Spring Security OAuth2
Build a REST API with Spring and Java Config
Java Program to Solve any Linear Equations
Binary Numbers in Java
Spring Security Authentication Provider
Tính đa hình (Polymorphism) trong Java
How to Get a Name of a Method Being Executed?
Spring Boot - Admin Server
Java Switch Statement
Java Program to Implement LinkedBlockingDeque API
Java Program to Implement Hash Tables Chaining with List Heads
Java Program to implement Bit Set
JUnit 5 for Kotlin Developers
Java Program to Generate Random Numbers Using Middle Square Method
Tạo ứng dụng Java RESTful Client không sử dụng 3rd party libraries
A Guide to System.exit()
Convert String to int or Integer in Java
Hướng dẫn Java Design Pattern – DAO
Java Program to Find the GCD and LCM of two Numbers
Versioning a REST API
Java program to Implement Tree Set
Java Program to Solve Knapsack Problem Using Dynamic Programming
Java Program to Implement a Binary Search Tree using Linked Lists
Java Program to Implement Floyd-Warshall Algorithm
Introduction to Spring Data REST
Custom Thread Pools In Java 8 Parallel Streams
Shuffling Collections In Java
Java Map With Case-Insensitive Keys
Arrays.asList vs new ArrayList(Arrays.asList())
Từ khóa this và super trong Java