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 Binary Heap
The Thread.join() Method in Java
Java Program to Implement Wagner and Fisher Algorithm for online String Matching
Java Program to Implement Heap’s Algorithm for Permutation of N Numbers
Spring Security – Reset Your Password
Request Method Not Supported (405) in Spring
Jackson – JsonMappingException (No serializer found for class)
New Features in Java 15
Call Methods at Runtime Using Java Reflection
Check If Two Lists are Equal in Java
Converting Between an Array and a Set in Java
Java Program to Implement Bresenham Line Algorithm
Guide to Dynamic Tests in Junit 5
Spring WebClient Filters
Java Program to Create the Prufer Code for a Tree
Java Program to Find Median of Elements where Elements are Stored in 2 Different Arrays
Multipart Upload with HttpClient 4
Giới thiệu SOAP UI và thực hiện test Web Service
New Features in Java 13
Java Program to Compute Cross Product of Two Vectors
Java Program to Perform Insertion in a 2 Dimension K-D Tree
Guide to @JsonFormat in Jackson
Spring Data JPA @Query
Java – Reader to Byte Array
Java Program to Implement Bubble Sort
Java Program to Solve the Fractional Knapsack Problem
Java Program to Implement Trie
Hướng dẫn Java Design Pattern – Proxy
Java Program to Implement Floyd-Warshall Algorithm
Java – Write a Reader to File
A Quick Guide to Spring MVC Matrix Variables
Java – Convert File to InputStream