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 Webflux and CORS
Java Program to Check whether Graph is a Bipartite using 2 Color Algorithm
A Comparison Between Spring and Spring Boot
Java Program to Create a Random Linear Extension for a DAG
Setting Up Swagger 2 with a Spring REST API
Java Program to Perform Optimal Paranthesization Using Dynamic Programming
Annotation trong Java 8
Bootstrapping Hibernate 5 with Spring
Java Program to Find MST (Minimum Spanning Tree) using Prim’s Algorithm
Java Program to Implement Patricia Trie
Sorting Query Results with Spring Data
Spring Web Annotations
Java Program to Implement Affine Cipher
Adding Shutdown Hooks for JVM Applications
Câu lệnh điều khiển vòng lặp trong Java (break, continue)
Exploring the Spring Boot TestRestTemplate
Java – File to Reader
Spring Data – CrudRepository save() Method
Mapping Nested Values with Jackson
Vector trong Java
Java – Reader to InputStream
Function trong Java 8
Quản lý bộ nhớ trong Java với Heap Space vs Stack
Java Program to Check if a Given Graph Contain Hamiltonian Cycle or Not
Java Program to Find the Shortest Path Between Two Vertices Using Dijkstra’s Algorithm
Tránh lỗi NullPointerException trong Java như thế nào?
A Guide to the ResourceBundle
HttpAsyncClient Tutorial
String Initialization in Java
Guide to Spring 5 WebFlux
Java Program to Implement Variable length array
LIKE Queries in Spring JPA Repositories