×

# Java program to check whether a matrix is symmetric or not

In this java program, we are reading a matrix and check whether input matrix is a symmetric matrix or not? By IncludeHelp Last updated : December 23, 2023

## Problem statement

Given a matrix and we have to check whether it is symmetric or not using Java program?

## Symmetric Matrix

If the sum of the left diagonal and right diagonal of the matrix is equal then the above matrix is said to be symmetric matrix. The entries of a symmetric matrix are symmetric with respect to the main diagonal.

### Example

```Enter the number of elements : 3

Input the elements of the Matrix :
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11

The Original Matrix is :
11	11	11
11	11	11
11	11	11

The given Matrix is Symmetric
The sum of the left diagonal = 33
The sum of the right diagonal = 33
```

## Program to check matrix is symmetric or not in java

```// This program will find weather
// the matrix is symmetric or not.

import java.io.IOException;

public class ExArrayFindSymmetric {
public static void main(String args[]) throws IOException {
// create buffer class object.

// enter how many elements you have to enter.
System.out.print("Enter the number of elements : ");
int A[][] = new int[m][m];

// Check for rows and column.
if (m > 2 && m < 10) {
// enter the elements here.
System.out.println("\nInput the elements of the Matrix : \n");
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
System.out.print("Enter the elements : ");
}
}

// here the original matrix.
System.out.println("\nThe Original Matrix is : ");
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
System.out.print(A[i][j] + "\t");
}
System.out.println();
}

// check weather matrix is symmetric or not.
int flag = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
if (A[i][j] != A[j][i]) {
// When elements do not matched.
flag = 1;
break;
}
}
}
// check for symmetric or not.
if (flag == 1)
System.out.println("\nThe given Matrix is Not Symmetric");
else
System.out.println("\nThe given Matrix is Symmetric");

// calculate sum of diagonals.
int ld = 0, rd = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
// for the left diagonal
if (i == j) {
ld = ld + A[i][j];
}
// for the right diagonal
if ((i + j) == (m - 1)) {
rd = rd + A[i][j];
}
}
}

// print sum of left and right diagonals.
System.out.println("The sum of the left diagonal = " + ld);
System.out.println("The sum of the right diagonal = " + rd);
} else
System.out.println("The Matrix Size is Out Of Range....");
}
}
```

### Output

```First run:
Enter the number of elements : 3

Input the elements of the Matrix :
Enter the elements : 11
Enter the elements : 12
Enter the elements : 12
Enter the elements : 55
Enter the elements : 65
Enter the elements : 66
Enter the elements : 45
Enter the elements : 25
Enter the elements : 35

The Original Matrix is :
11	12	12
55	65	66
45	25	35

The given Matrix is Not Symmetric
The sum of the left diagonal = 111
The sum of the right diagonal = 122

Second run:
Enter the number of elements : 3

Input the elements of the Matrix :
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11

The Original Matrix is :
11	11	11
11	11	11
11	11	11

The given Matrix is Symmetric
The sum of the left diagonal = 33
The sum of the right diagonal = 33

Third run:
Enter the number of elements : 2
The Matrix Size is Out Of Range....
```