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 Johnson’s Algorithm
Java Program to Implement Shunting Yard Algorithm
Java Program to Implement Adjacency Matrix
Show Hibernate/JPA SQL Statements from Spring Boot
Using the Map.Entry Java Class
Java Program to Perform Naive String Matching
Rest Web service: Filter và Interceptor với Jersey 2.x (P1)
Java Program to Implement Red Black Tree
Automatic Property Expansion with Spring Boot
Implementing a Binary Tree in Java
Iterable to Stream in Java
JUnit5 Programmatic Extension Registration with @RegisterExtension
Giới thiệu java.io.tmpdir
Java Program to Implement Sieve Of Sundaram
More Jackson Annotations
Introduction to Java 8 Streams
Convert Character Array to String in Java
Java Program to Implement Rolling Hash
Java Program to Print the Kind of Rotation the AVL Tree is Undergoing
Jackson – JsonMappingException (No serializer found for class)
Java Program to Implement AVL Tree
Spring Webflux and CORS
Các chương trình minh họa sử dụng Cấu trúc điều khiển trong Java
Introduction to Spring MVC HandlerInterceptor
Creating Docker Images with Spring Boot
Java Program to Implement Sieve Of Eratosthenes
Java Program to Implement Interpolation Search Algorithm
Guide to the Volatile Keyword in Java
A Guide to Java SynchronousQueue
Java Program to Perform Insertion in a 2 Dimension K-D Tree
Java Program to Implement Caesar Cypher
Java Program to Perform integer Partition for a Specific Case