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:
Introduction to Apache Commons Text
Java Program to Implement Trie
Java Program to Generate a Random UnDirected Graph for a Given Number of Edges
Java Program to Implement Naor-Reingold Pseudo Random Function
Java Program to Implement First Fit Decreasing for 1-D Objects and M Bins
Remove the First Element from a List
Java Program to Implement Segment Tree
HashMap trong Java hoạt động như thế nào?
Java Program to Perform Matrix Multiplication
Logout in an OAuth Secured Application
Java Program to Implement Gift Wrapping Algorithm in Two Dimensions
Spring MVC Content Negotiation
Java Program to Implement Sorted List
Consumer trong Java 8
Java Program to Implement Floyd-Warshall Algorithm
Java Program to Implement Queue using Two Stacks
Lấy ngày giờ hiện tại trong Java
Hướng dẫn Java Design Pattern – DAO
Dynamic Proxies in Java
The Modulo Operator in Java
Spring Data MongoDB Transactions
Java Program to Find the Vertex Connectivity of a Graph
Spring Cloud AWS – S3
How to Round a Number to N Decimal Places in Java
Java Program to Implement Vector API
Map Serialization and Deserialization with Jackson
Working with Network Interfaces in Java
Hướng dẫn Java Design Pattern – Iterator
Initialize a HashMap in Java
Hướng dẫn Java Design Pattern – Decorator
Spring Boot - Build Systems
Java Program to Implement Borwein Algorithm