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:
Các nguyên lý thiết kế hướng đối tượng – SOLID
The DAO with JPA and Spring
Call Methods at Runtime Using Java Reflection
Validations for Enum Types
Java Program to Find Second Smallest of n Elements with Given Complexity Constraint
Spring Cloud Bus
Java Program to Implement Radix Sort
Giới thiệu HATEOAS
Java Program to Implement Hash Tables with Linear Probing
Recommended Package Structure of a Spring Boot Project
Hướng dẫn Java Design Pattern – MVC
Immutable ArrayList in Java
Concatenating Strings In Java
Entity To DTO Conversion for a Spring REST API
A Guide to WatchService in Java NIO2
Encode a String to UTF-8 in Java
Hướng dẫn Java Design Pattern – Command
Autoboxing và Unboxing trong Java
Ignore Null Fields with Jackson
Java Program to Implement Karatsuba Multiplication Algorithm
Java Program to Perform the Shaker Sort
Java Program to Find the Connected Components of an UnDirected Graph
Java Program to Implement PriorityQueue API
Guide to DelayQueue
Java Program to Find Number of Spanning Trees in a Complete Bipartite Graph
Java Program to Implement ArrayBlockingQueue API
HashMap trong Java hoạt động như thế nào?
Java Program to Implement Hopcroft Algorithm
ExecutorService – Waiting for Threads to Finish
HttpClient Connection Management
A Guide to Apache Commons Collections CollectionUtils
Java Program to Solve any Linear Equation in One Variable