In this article we are going to see how we can check if a matrix is symmetric or not in JAVA language.
Java Program to Check Whether a Matrix is Symmetric or Not
A 3*3 Matrix is having 3 rows and 3 columns where this 3*3 represents the dimension of the matrix. Means there are 3*3 i.e. total 9 elements in a 3*3 Matrix.
Let’s understand it in more simpler way.
| A00 A01 A02 | Matrix A = | A10 A11 A12 | | A20 A21 A22 | 3*3
Matrix A
represents a 3*3 matrix.- ‘
A
‘ represents the matrix element - ‘
Aij
‘ represents the matrix element at it’s matrix position/index. - ‘
i
‘ represents the row index - ‘
j
‘ represents the column index - Means
A00=Aij
wherei=0
andj=0
,A01=aij
wherei=0
andj=1
and like this. - Here we have started
row
value from 0 andcolumn
value from 0.
A symmetric matrix is a matrix which is the same as its transpose.
For example- 1 2 3 2 3 1 3 1 3
Let’s see different ways to print boundary elements of a matrix.
Method-1: Java Program to Check Whether a Matrix is Symmetric or Not By Static Initialization of Array Elements
Approach:
- Initialize and declare two array of size 3×3 with elements.
- Find out the transpose of the matrix and compare all the elements with the main matrix.
- If all elements are same then it is said to be a symmetric matrix else not.
Program:
public class matrix{ public static void main(String args[]) { // Initializing the 3X3 matrix i.e. 2D array int arr[][] = {{1,2,3},{2,3,1},{3,1,3}}, temp[][] = new int[3][3]; int row, col; System.out.print("The matrix is :"); printMatrix(arr); temp = trans(arr); boolean flag = true; // Checks whether the matrix elements are in the same position as the transpose for(row=0;row<3;row++) for(col=0;col<3;col++) if(arr[row][col] != temp[row][col]) { flag = false; break; } if(flag) System.out.println("\nIt is a symmetric matrix"); else System.out.println("\nIt is not a symmetric matrix"); } // Method to print the matrix static void printMatrix(int arr[][]) { int row, col; // Loop to print the elements for(row=0;row<3;row++) { // Used for formatting System.out.print("\n"); for(col=0;col<3;col++) { System.out.print(arr[row][col]+" "); } } System.out.print("\n"); } // Method to find the transpose static int[][] trans(int[][] mat) { int row, col, trans[][] = new int[3][3]; for(row=0;row<3;row++) for(col=0;col<3;col++) trans[row][col] = mat[col][row]; System.out.print("The transpose of matrix is :"); printMatrix(trans); return trans; } }
Output: The matrix is : 1 2 3 2 3 1 3 1 3 The transpose of matrix is : 1 2 3 2 3 1 3 1 3 It is a symmetric matrix
Method-2: Java Program to Check Whether a Matrix is Symmetric or Not By Dynamic Initialization of Array Elements
Approach:
- Declare two array of size 3×3 with elements.
- Take the input of array elements for main matrix.
- Find out the transpose of the matrix and compare all the elements with the main matrix.
- If all elements are same then it is said to be a symmetric matrix else not.
Program:
import java.util.Scanner; public class matrix{ public static void main(String args[]) { //Scanner class to take input Scanner scan = new Scanner(System.in); // Initializing the 3X3 matrix i.e. 2D array int arr[][] = new int[3][3], temp[][] = new int[3][3]; int row, col; // Taking matrix input System.out.println("Enter matrix elements : "); for(row=0;row<3;row++) for(col=0;col<3;col++) arr[row][col] = scan.nextInt(); System.out.print("The matrix is :"); printMatrix(arr); temp = trans(arr); boolean flag = true; // Checks whether the matrix elements are in the same position as the transpose for(row=0;row<3;row++) for(col=0;col<3;col++) if(arr[row][col] != temp[col][row]) { flag = false; break; } if(flag) System.out.println("\nIt is a symmetric matrix"); else System.out.println("\nIt is not a symmetric matrix"); } // Method to print the matrix static void printMatrix(int arr[][]) { int row, col; // Loop to print the elements for(row=0;row<3;row++) { // Used for formatting System.out.print("\n"); for(col=0;col<3;col++) { System.out.print(arr[row][col]+" "); } } System.out.print("\n"); } // Method to find the transpose static int[][] trans(int[][] mat) { int row, col, trans[][] = new int[3][3]; for(row=0;row<3;row++) for(col=0;col<3;col++) trans[row][col] = mat[col][row]; System.out.print("The transpose of matrix is :"); printMatrix(trans); return trans; } }
Output: Enter matrix elements : The matrix is : 1 2 3 2 3 1 3 1 3 The transpose of matrix is : 1 2 3 2 3 1 3 1 3 It is a symmetric matrix
Have you mastered basic programming topics of java and looking forward to mastering advanced topics in a java programming language? Go with these ultimate Advanced java programs examples with output & achieve your goal in improving java coding skills.
Related Java Programs: